--- /dev/null
+/** @file\r
+ The header file of UEFI Component Name(2) protocol.\r
+\r
+Copyright (c) 2004 - 2007, 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 _COMPONENT_NAME_H_\r
+#define _COMPONENT_NAME_H_\r
+\r
+#include <Protocol/ComponentName.h>\r
+#include <Protocol/ComponentName2.h>\r
+\r
+extern EFI_COMPONENT_NAME2_PROTOCOL gIScsiComponentName2;\r
+extern EFI_COMPONENT_NAME_PROTOCOL gIScsiComponentName;\r
+\r
+//\r
+// EFI Component Name Protocol for IScsi driver.\r
+//\r
+\r
+/**\r
+ Retrieves a Unicode string that is the user readable name of the EFI Driver.\r
+\r
+ This function retrieves the user readable name of a driver in the form of a\r
+ Unicode string. If the driver specified by This has a user readable name in\r
+ the language specified by Language, then a pointer to the driver name is\r
+ returned in DriverName, and EFI_SUCCESS is returned. If the driver specified\r
+ by This does not support the language specified by Language,\r
+ then EFI_UNSUPPORTED is returned.\r
+ \r
+ @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.\r
+ @param[in] Language A pointer to a three character ISO 639-2 language identifier.\r
+ This is the language of the driver name that that the caller\r
+ is requesting, and it must match one of the languages specified\r
+ in SupportedLanguages. The number of languages supported by a\r
+ driver is up to the driver writer.\r
+ @param[out] DriverName A pointer to the Unicode string to return. This Unicode string\r
+ is the name of the driver specified by This in the language\r
+ specified by Language.\r
+\r
+ @retval EFI_SUCCESS The Unicode string for the Driver specified by This\r
+ and the language specified by Language was returned\r
+ in DriverName.\r
+ @retval EFI_INVALID_PARAMETER Language is NULL.\r
+ @retval EFI_INVALID_PARAMETER DriverName is NULL.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support the\r
+ language specified by Language.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+IScsiComponentNameGetDriverName (\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **DriverName\r
+ );\r
+\r
+/**\r
+ Retrieves a Unicode string that is the user readable name of the controller\r
+ that is being managed by an EFI Driver.Currently not implemented.\r
+\r
+ @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.\r
+ @param[in] ControllerHandle The handle of a controller that the driver specified by\r
+ This is managing. This handle specifies the controller\r
+ whose name is to be returned.\r
+ @param[in] ChildHandle The handle of the child controller to retrieve the name\r
+ of. This is an optional parameter that may be NULL. It\r
+ will be NULL for device drivers. It will also be NULL\r
+ for a bus drivers that wish to retrieve the name of the\r
+ bus controller. It will not be NULL for a bus driver\r
+ that wishes to retrieve the name of a child controller.\r
+ @param[in] Language A pointer to a three character ISO 639-2 language\r
+ identifier. This is the language of the controller name\r
+ that that the caller is requesting, and it must match one\r
+ of the languages specified in SupportedLanguages. The\r
+ number of languages supported by a driver is up to the\r
+ driver writer.\r
+ @param[out] ControllerName A pointer to the Unicode string to return. This Unicode\r
+ string is the name of the controller specified by\r
+ ControllerHandle and ChildHandle in the language specified\r
+ by Language from the point of view of the driver specified\r
+ by This.\r
+\r
+ @retval EFI_SUCCESS The Unicode string for the user readable name in the\r
+ language specified by Language for the driver\r
+ specified by This was returned in DriverName. \r
+ @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+ @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.\r
+ @retval EFI_INVALID_PARAMETER Language is NULL.\r
+ @retval EFI_INVALID_PARAMETER ControllerName is NULL.\r
+ @retval EFI_UNSUPPORTED The driver specified by This is not currently managing\r
+ the controller specified by ControllerHandle and\r
+ ChildHandle.\r
+ @retval EFI_UNSUPPORTED The driver specified by This does not support the\r
+ language specified by Language.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+IScsiComponentNameGetControllerName (\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
+ );\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
#include <Library/DevicePathLib.h>\r
#include <Protocol/DriverBinding.h>\r
#include <Protocol/ScsiPassThruExt.h>\r
-#include <Protocol/IScsiInitiatorName.h>\r
-#include <Protocol/ComponentName.h>\r
-#include <Protocol/ComponentName2.h>\r
-\r
\r
#define ISCSI_PRIVATE_GUID \\r
{ 0xfa3cde4c, 0x87c2, 0x427d, {0xae, 0xde, 0x7d, 0xd0, 0x96, 0xc8, 0x8c, 0x58} }\r
\r
#define ISCSI_INITIATOR_NAME_VAR_NAME L"I_NAME"\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
extern EFI_GUID gIScsiPrivateGuid;\r
\r
typedef struct _ISCSI_PRIVATE_PROTOCOL {\r
IN EFI_HANDLE *ChildHandleBuffer OPTIONAL\r
);\r
\r
-//\r
-// EFI Component Name Protocol for IScsi driver.\r
-//\r
-\r
-/**\r
- Retrieves a Unicode string that is the user readable name of the EFI Driver.\r
-\r
- This function retrieves the user readable name of a driver in the form of a\r
- Unicode string. If the driver specified by This has a user readable name in\r
- the language specified by Language, then a pointer to the driver name is\r
- returned in DriverName, and EFI_SUCCESS is returned. If the driver specified\r
- by This does not support the language specified by Language,\r
- then EFI_UNSUPPORTED is returned.\r
- \r
- @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.\r
- @param[in] Language A pointer to a three character ISO 639-2 language identifier.\r
- This is the language of the driver name that that the caller\r
- is requesting, and it must match one of the languages specified\r
- in SupportedLanguages. The number of languages supported by a\r
- driver is up to the driver writer.\r
- @param[out] DriverName A pointer to the Unicode string to return. This Unicode string\r
- is the name of the driver specified by This in the language\r
- specified by Language.\r
-\r
- @retval EFI_SUCCESS The Unicode string for the Driver specified by This\r
- and the language specified by Language was returned\r
- in DriverName.\r
- @retval EFI_INVALID_PARAMETER Language is NULL.\r
- @retval EFI_INVALID_PARAMETER DriverName is NULL.\r
- @retval EFI_UNSUPPORTED The driver specified by This does not support the\r
- language specified by Language.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IScsiComponentNameGetDriverName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
- );\r
-\r
-/**\r
- Retrieves a Unicode string that is the user readable name of the controller\r
- that is being managed by an EFI Driver.Currently not implemented.\r
-\r
- @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.\r
- @param[in] ControllerHandle The handle of a controller that the driver specified by\r
- This is managing. This handle specifies the controller\r
- whose name is to be returned.\r
- @param[in] ChildHandle The handle of the child controller to retrieve the name\r
- of. This is an optional parameter that may be NULL. It\r
- will be NULL for device drivers. It will also be NULL\r
- for a bus drivers that wish to retrieve the name of the\r
- bus controller. It will not be NULL for a bus driver\r
- that wishes to retrieve the name of a child controller.\r
- @param[in] Language A pointer to a three character ISO 639-2 language\r
- identifier. This is the language of the controller name\r
- that that the caller is requesting, and it must match one\r
- of the languages specified in SupportedLanguages. The\r
- number of languages supported by a driver is up to the\r
- driver writer.\r
- @param[out] ControllerName A pointer to the Unicode string to return. This Unicode\r
- string is the name of the controller specified by\r
- ControllerHandle and ChildHandle in the language specified\r
- by Language from the point of view of the driver specified\r
- by This.\r
-\r
- @retval EFI_SUCCESS The Unicode string for the user readable name in the\r
- language specified by Language for the driver\r
- specified by This was returned in DriverName. \r
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.\r
- @retval EFI_INVALID_PARAMETER Language is NULL.\r
- @retval EFI_INVALID_PARAMETER ControllerName is NULL.\r
- @retval EFI_UNSUPPORTED The driver specified by This is not currently managing\r
- the controller specified by ControllerHandle and\r
- ChildHandle.\r
- @retval EFI_UNSUPPORTED The driver specified by This does not support the\r
- language specified by Language.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-IScsiComponentNameGetControllerName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
- );\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
IScsiDhcp.h\r
IScsiCommon.h\r
IScsiCHAP.h\r
+ IScsiInitiatorName.h\r
+ ComponentName.h\r
Md5.h\r
IScsiTcp4Io.c\r
IScsiProto.c\r
#include <Library/UefiRuntimeServicesTableLib.h>\r
#include "IScsiCommon.h"\r
#include "IScsiDriver.h"\r
+#include "IscsiInitiatorName.h"\r
+#include "ComponentName.h"\r
#include "IScsiConfigNVDataStruc.h"\r
#include "IScsiExtScsiPassThru.h"\r
#include "IScsiProto.h"\r
#include "IScsiIbft.h"\r
\r
\r
-\r
#define ISCSI_SESSION_SIGNATURE EFI_SIGNATURE_32 ('I', 'S', 'S', 'N')\r
\r
struct _ISCSI_SESSION {\r
--- /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