--- /dev/null
+/** @file\r
+ The header file for EFI iSCSI Initiator Name Protocol.\r
+\r
+Copyright (c) 2004 - 2008, Intel Corporation.<BR>\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef _ISCSI_INITIATOR_NAME_H_\r
+#define _ISCSI_INITIATOR_NAME_H_\r
+\r
+#include <Protocol/IScsiInitiatorName.h>\r
+\r
+extern EFI_ISCSI_INITIATOR_NAME_PROTOCOL gIScsiInitiatorName;\r
+\r
+//\r
+// EFI IScsi Initiator Name Protocol for IScsi driver.\r
+//\r
+\r
+/**\r
+ Retrieves the current set value of iSCSI Initiator Name.\r
+\r
+ @param[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance.\r
+ @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer / Actual size of the\r
+ variable data buffer.\r
+ @param[out] Buffer Pointer to the buffer for data to be read.\r
+\r
+ @retval EFI_SUCCESS Data was successfully retrieved into the provided buffer and the\r
+ BufferSize was sufficient to handle the iSCSI initiator name\r
+ @retval EFI_BUFFER_TOO_SMALL BufferSize is too small for the result.\r
+ @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL.\r
+ @retval EFI_DEVICE_ERROR The iSCSI initiator name could not be retrieved due to a hardware error.\r
+ @retval Others Other errors as indicated.\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[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance.\r
+ @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer.\r
+ @param[in] Buffer Pointer to the buffer for data to be written.\r
+\r
+ @retval EFI_SUCCESS Data was successfully stored by the protocol.\r
+ @retval EFI_UNSUPPORTED Platform policies do not allow for data to be written.\r
+ Currently not implemented.\r
+ @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL, or BufferSize exceeds the maximum allowed limit.\r
+ @retval EFI_DEVICE_ERROR The data could not be stored due to a hardware error.\r
+ @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the data.\r
+ @retval EFI_PROTOCOL_ERROR Input iSCSI initiator name does not adhere to RFC 3720\r
+ (and other related protocols)\r
+ @retval Others Other errors as indicated.\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