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