#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
-\r
-extern EFI_GUID mIScsiPrivateGuid;\r
+extern EFI_GUID gIScsiPrivateGuid;\r
\r
typedef struct _ISCSI_PRIVATE_PROTOCOL {\r
UINT32 Reserved;\r
IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
IN EFI_HANDLE ControllerHandle,\r
IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\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
+ IN EFI_HANDLE *ChildHandleBuffer OPTIONAL\r
);\r
\r
#endif\r