#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
Tests to see if this driver supports a given controller. If a child device is provided, \r
it further tests to see if this driver supports creating a handle for the specified child device.\r
\r
- @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
- @param ControllerHandle The handle of the controller to test. This handle \r
- must support a protocol interface that supplies \r
- an I/O abstraction to the driver.\r
- @param RemainingDevicePath A pointer to the remaining portion of a device path. \r
- This parameter is ignored by device drivers, and is optional for bus drivers.\r
-\r
-\r
- @retval EFI_SUCCESS The device specified by ControllerHandle and\r
- RemainingDevicePath is supported by the driver specified by This.\r
- @retval EFI_ALREADY_STARTED The device specified by ControllerHandle and\r
- RemainingDevicePath is already being managed by the driver\r
- specified by This.\r
- @retval EFI_ACCESS_DENIED The device specified by ControllerHandle and\r
- RemainingDevicePath is already being managed by a different\r
- driver or an application that requires exclusive acces.\r
- Currently not implemented.\r
- @retval EFI_UNSUPPORTED The device specified by ControllerHandle and\r
- RemainingDevicePath is not supported by the driver specified by This.\r
+ @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+ @param[in] ControllerHandle The handle of the controller to test. This handle \r
+ must support a protocol interface that supplies \r
+ an I/O abstraction to the driver.\r
+ @param[in] RemainingDevicePath A pointer to the remaining portion of a device path. \r
+ This parameter is ignored by device drivers, and is optional for bus drivers.\r
+\r
+\r
+ @retval EFI_SUCCESS The device specified by ControllerHandle and\r
+ RemainingDevicePath is supported by the driver specified by This.\r
+ @retval EFI_ALREADY_STARTED The device specified by ControllerHandle and\r
+ RemainingDevicePath is already being managed by the driver\r
+ specified by This.\r
+ @retval EFI_ACCESS_DENIED The device specified by ControllerHandle and\r
+ RemainingDevicePath is already being managed by a different\r
+ driver or an application that requires exclusive acces.\r
+ Currently not implemented.\r
+ @retval EFI_UNSUPPORTED The device specified by ControllerHandle and\r
+ RemainingDevicePath is not supported by the driver specified by This.\r
**/\r
EFI_STATUS\r
EFIAPI\r
3. Prior to calling Start(), the Supported() function for the driver specified by This must\r
have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS. \r
\r
- @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
- @param ControllerHandle The handle of the controller to start. This handle \r
- must support a protocol interface that supplies \r
- an I/O abstraction to the driver.\r
- @param RemainingDevicePath A pointer to the remaining portion of a device path. \r
- This parameter is ignored by device drivers, and is optional for bus drivers.\r
-\r
- @retval EFI_SUCCESS The device was started.\r
- @retval EFI_DEVICE_ERROR The device could not be started due to a device error.Currently not implemented.\r
- @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.\r
- @retval other The driver failded to start the device.\r
+ @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+ @param[in] ControllerHandle The handle of the controller to start. This handle \r
+ must support a protocol interface that supplies \r
+ an I/O abstraction to the driver.\r
+ @param[in] RemainingDevicePath A pointer to the remaining portion of a device path. \r
+ This parameter is ignored by device drivers, and is optional for bus drivers.\r
+\r
+ @retval EFI_SUCCESS The device was started.\r
+ @retval EFI_DEVICE_ERROR The device could not be started due to a device error.\r
+ Currently not implemented.\r
+ @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.\r
+ @retval Others The driver failded to start the device.\r
**/\r
EFI_STATUS\r
EFIAPI\r
Start() function, and the Start() function must have called OpenProtocol() on\r
ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.\r
\r
- @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
- @param ControllerHandle A handle to the device being stopped. The handle must \r
- support a bus specific I/O protocol for the driver \r
- to use to stop the device.\r
- @param NumberOfChildren The number of child device handles in ChildHandleBuffer.Not used.\r
- @param ChildHandleBuffer An array of child handles to be freed. May be NULL \r
- if NumberOfChildren is 0.Not used.\r
-\r
- @retval EFI_SUCCESS The device was stopped.\r
- @retval EFI_DEVICE_ERROR The device could not be stopped due to a device error.\r
+ @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.\r
+ @param[in] ControllerHandle A handle to the device being stopped. The handle must \r
+ support a bus specific I/O protocol for the driver \r
+ to use to stop the device.\r
+ @param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.Not used.\r
+ @param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL \r
+ if NumberOfChildren is 0.Not used.\r
+\r
+ @retval EFI_SUCCESS The device was stopped.\r
+ @retval EFI_DEVICE_ERROR The device could not be stopped due to a device error.\r
**/\r
EFI_STATUS\r
EFIAPI\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
- 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 This[in] A pointer to the EFI_COMPONENT_NAME_PROTOCOL\r
- instance.\r
-\r
- @param Language[in] A pointer to a three character ISO 639-2 language\r
- identifier.\r
- This is the language of the driver name that that\r
- the caller is requesting, and it must match one of\r
- the languages specified in SupportedLanguages. \r
- The number of languages supported by a driver is up\r
- to the driver writer.\r
-\r
- @param DriverName[out] A pointer to the Unicode string to return.\r
- This Unicode string is the name of the\r
- driver specified by This in the language\r
- specified by Language.\r
-\r
- @retval EFI_SUCCESS The Unicode string for the Driver specified by\r
- This and the language specified by Language was\r
- returned in DriverName.\r
-\r
- @retval EFI_INVALID_PARAMETER Language is NULL.\r
-\r
- @retval EFI_INVALID_PARAMETER DriverName is NULL.\r
-\r
- @retval EFI_UNSUPPORTED The driver specified by This does not support\r
- the language specified by Language.\r
-\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.\r
-\r
- @param This[in] A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.\r
-\r
- @param ControllerHandle[in] 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
-\r
- @param ChildHandle[in] 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
-\r
- @param Language[in] 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
-\r
- @param ControllerName[out] 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 \r
- specified by Language from the point of view of the \r
- driver specified 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
-\r
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
-\r
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.\r
-\r
- @retval EFI_INVALID_PARAMETER Language is NULL.\r
-\r
- @retval EFI_INVALID_PARAMETER ControllerName is NULL.\r
-\r
- @retval EFI_UNSUPPORTED The driver specified by This is not currently managing\r
- the controller specified by ControllerHandle and ChildHandle.\r
-\r
- @retval EFI_UNSUPPORTED The driver specified by This does not support the \r
- language specified by Language.\r
-\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
- 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
+ IN EFI_HANDLE *ChildHandleBuffer OPTIONAL\r
);\r
\r
#endif\r