]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDriver.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6892 6f19259b...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / IScsiDriver.h
index edfb17ba4c64d22c5e58f3a3da7e666f6426c012..334c87c96b7b238934eb09cfa48d0bed9234a54e 100644 (file)
@@ -40,6 +40,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 extern EFI_COMPONENT_NAME2_PROTOCOL       gIScsiComponentName2;\r
 extern EFI_COMPONENT_NAME_PROTOCOL        gIScsiComponentName;\r
 \r
 extern EFI_COMPONENT_NAME2_PROTOCOL       gIScsiComponentName2;\r
 extern EFI_COMPONENT_NAME_PROTOCOL        gIScsiComponentName;\r
 \r
+extern EFI_ISCSI_INITIATOR_NAME_PROTOCOL  gIScsiInitiatorName;\r
+\r
 \r
 extern EFI_GUID                           mIScsiPrivateGuid;\r
 \r
 \r
 extern EFI_GUID                           mIScsiPrivateGuid;\r
 \r
@@ -257,5 +259,80 @@ IScsiComponentNameGetControllerName (
   IN  CHAR8                         *Language,\r
   OUT CHAR16                        **ControllerName\r
   );\r
   IN  CHAR8                         *Language,\r
   OUT CHAR16                        **ControllerName\r
   );\r
+  \r
+//\r
+// EFI IScsi Initiator Name Protocol for IScsi driver.\r
+//\r
+/**\r
+  Retrieves the current set value of iSCSI Initiator Name. \r
+\r
+  @param  This[in]              Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance.\r
+\r
+  @param  BufferSize[in][out]   Size of the buffer in bytes pointed to by Buffer / Actual\r
+                                size of the variable data buffer.\r
+\r
+  @param  Buffer[out]           Pointer to the buffer for data to be read.\r
+\r
+  @retval EFI_SUCCESS           Data was successfully retrieved into the provided \r
+                                buffer and the BufferSize was sufficient to handle the\r
+                                iSCSI initiator name.\r
+  @retval EFI_BUFFER_TOO_SMALL  BufferSize is too small for the result. BufferSize will\r
+                                be updated with the size required to complete the request.\r
+                                Buffer will not be affected.\r
+\r
+  @retval EFI_INVALID_PARAMETER BufferSize is NULL. BufferSize and Buffer will not be\r
+                                affected.\r
+\r
+  @retval EFI_INVALID_PARAMETER Buffer is NULL. BufferSize and Buffer will not be\r
+                                affected.\r
+\r
+  @retval EFI_DEVICE_ERROR      The iSCSI initiator name could not be retrieved due to\r
+                                a hardware error.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+IScsiGetInitiatorName (\r
+  IN     EFI_ISCSI_INITIATOR_NAME_PROTOCOL  *This,\r
+  IN OUT UINTN                              *BufferSize,\r
+  OUT    VOID                               *Buffer\r
+  );\r
+\r
+/**\r
+  Sets the iSCSI Initiator Name. \r
+\r
+  @param  This[in]              Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance.\r
+\r
+  @param  BufferSize[in][out]   Size of the buffer in bytes pointed to by Buffer.\r
+\r
+  @param  Buffer[out]           Pointer to the buffer for data to be written.\r
+  \r
+  @retval EFI_SUCCESS           Data was successfully stored by the protocol.\r
+\r
+  @retval EFI_UNSUPPORTED       Platform policies do not allow for data to be written.\r
+\r
+  @retval EFI_INVALID_PARAMETER BufferSize exceeds the maximum allowed limit.\r
+                                BufferSize will be updated with the maximum size\r
+                                required to complete the request.\r
+\r
+  @retval EFI_INVALID_PARAMETER Buffersize is NULL. BufferSize and Buffer will not be\r
+                                affected.\r
+\r
+  @retval EFI_INVALID_PARAMETER Buffer is NULL. BufferSize and Buffer will not be affected.\r
+\r
+  @retval EFI_DEVICE_ERROR      The data could not be stored due to a hardware error.\r
+\r
+  @retval EFI_OUT_OF_RESOURCES  Not enough storage is available to hold the data.\r
+\r
+  @retval EFI_PROTOCOL_ERROR    Input iSCSI initiator name does not adhere to RFC 3720.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+IScsiSetInitiatorName (\r
+  IN     EFI_ISCSI_INITIATOR_NAME_PROTOCOL  *This,\r
+  IN OUT UINTN                              *BufferSize,\r
+  IN     VOID                               *Buffer\r
+  );\r
 \r
 #endif\r
 \r
 #endif\r