From b263ee171888e5a6a1f1f15d58a7fa6011131ba5 Mon Sep 17 00:00:00 2001 From: ywu21 Date: Tue, 16 Dec 2008 08:10:07 +0000 Subject: 202033 make .h more clear, seperate ComponentName.h IScsiInitiatorName.h from IScsiDriver.h git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7043 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/Network/IScsiDxe/ComponentName.h | 165 +++++++++++++++++++++ .../Universal/Network/IScsiDxe/IScsiDriver.h | 150 ------------------- .../Universal/Network/IScsiDxe/IScsiDxe.inf | 2 + .../Universal/Network/IScsiDxe/IScsiImpl.h | 3 +- .../Network/IScsiDxe/IScsiInitiatorName.h | 74 +++++++++ 5 files changed, 243 insertions(+), 151 deletions(-) create mode 100644 MdeModulePkg/Universal/Network/IScsiDxe/ComponentName.h create mode 100644 MdeModulePkg/Universal/Network/IScsiDxe/IScsiInitiatorName.h (limited to 'MdeModulePkg/Universal/Network/IScsiDxe') diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/ComponentName.h b/MdeModulePkg/Universal/Network/IScsiDxe/ComponentName.h new file mode 100644 index 0000000..ee23378 --- /dev/null +++ b/MdeModulePkg/Universal/Network/IScsiDxe/ComponentName.h @@ -0,0 +1,165 @@ +/** @file + The header file of UEFI Component Name(2) protocol. + +Copyright (c) 2004 - 2007, Intel Corporation.
+All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _COMPONENT_NAME_H_ +#define _COMPONENT_NAME_H_ + +#include +#include + +extern EFI_COMPONENT_NAME2_PROTOCOL gIScsiComponentName2; +extern EFI_COMPONENT_NAME_PROTOCOL gIScsiComponentName; + +// +// EFI Component Name Protocol for IScsi driver. +// + +/** + Retrieves a Unicode string that is the user readable name of the EFI Driver. + + This function retrieves the user readable name of a driver in the form of a + Unicode string. If the driver specified by This has a user readable name in + the language specified by Language, then a pointer to the driver name is + returned in DriverName, and EFI_SUCCESS is returned. If the driver specified + by This does not support the language specified by Language, + then EFI_UNSUPPORTED is returned. + + @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. + @param[in] Language A pointer to a three character ISO 639-2 language identifier. + This is the language of the driver name that that the caller + is requesting, and it must match one of the languages specified + in SupportedLanguages. The number of languages supported by a + driver is up to the driver writer. + @param[out] DriverName A pointer to the Unicode string to return. This Unicode string + is the name of the driver specified by This in the language + specified by Language. + + @retval EFI_SUCCESS The Unicode string for the Driver specified by This + and the language specified by Language was returned + in DriverName. + @retval EFI_INVALID_PARAMETER Language is NULL. + @retval EFI_INVALID_PARAMETER DriverName is NULL. + @retval EFI_UNSUPPORTED The driver specified by This does not support the + language specified by Language. +**/ +EFI_STATUS +EFIAPI +IScsiComponentNameGetDriverName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN CHAR8 *Language, + OUT CHAR16 **DriverName + ); + +/** + Retrieves a Unicode string that is the user readable name of the controller + that is being managed by an EFI Driver.Currently not implemented. + + @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. + @param[in] ControllerHandle The handle of a controller that the driver specified by + This is managing. This handle specifies the controller + whose name is to be returned. + @param[in] ChildHandle The handle of the child controller to retrieve the name + of. This is an optional parameter that may be NULL. It + will be NULL for device drivers. It will also be NULL + for a bus drivers that wish to retrieve the name of the + bus controller. It will not be NULL for a bus driver + that wishes to retrieve the name of a child controller. + @param[in] Language A pointer to a three character ISO 639-2 language + identifier. This is the language of the controller name + that that the caller is requesting, and it must match one + of the languages specified in SupportedLanguages. The + number of languages supported by a driver is up to the + driver writer. + @param[out] ControllerName A pointer to the Unicode string to return. This Unicode + string is the name of the controller specified by + ControllerHandle and ChildHandle in the language specified + by Language from the point of view of the driver specified + by This. + + @retval EFI_SUCCESS The Unicode string for the user readable name in the + language specified by Language for the driver + specified by This was returned in DriverName. + @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. + @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. + @retval EFI_INVALID_PARAMETER Language is NULL. + @retval EFI_INVALID_PARAMETER ControllerName is NULL. + @retval EFI_UNSUPPORTED The driver specified by This is not currently managing + the controller specified by ControllerHandle and + ChildHandle. + @retval EFI_UNSUPPORTED The driver specified by This does not support the + language specified by Language. +**/ +EFI_STATUS +EFIAPI +IScsiComponentNameGetControllerName ( + IN EFI_COMPONENT_NAME_PROTOCOL *This, + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE ChildHandle OPTIONAL, + IN CHAR8 *Language, + OUT CHAR16 **ControllerName + ); + +// +// EFI IScsi Initiator Name Protocol for IScsi driver. +// + +/** + Retrieves the current set value of iSCSI Initiator Name. + + @param[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance. + @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer / Actual size of the + variable data buffer. + @param[out] Buffer 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. + @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL. + @retval EFI_DEVICE_ERROR The iSCSI initiator name could not be retrieved due to a hardware error. + @retval Others Other errors as indicated. +**/ +EFI_STATUS +EFIAPI +IScsiGetInitiatorName ( + IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This, + IN OUT UINTN *BufferSize, + OUT VOID *Buffer + ); + +/** + Sets the iSCSI Initiator Name. + + @param[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance. + @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer. + @param[in] Buffer 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. + Currently not implemented. + @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL, or BufferSize exceeds the maximum allowed limit. + @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 + (and other related protocols) + @retval Others Other errors as indicated. +**/ +EFI_STATUS +EFIAPI +IScsiSetInitiatorName ( + IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This, + IN OUT UINTN *BufferSize, + IN VOID *Buffer + ); + +#endif diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDriver.h b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDriver.h index 78f0c44..6fdaeaf 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDriver.h +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDriver.h @@ -26,21 +26,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include -#include -#include -#include - #define ISCSI_PRIVATE_GUID \ { 0xfa3cde4c, 0x87c2, 0x427d, {0xae, 0xde, 0x7d, 0xd0, 0x96, 0xc8, 0x8c, 0x58} } #define ISCSI_INITIATOR_NAME_VAR_NAME L"I_NAME" -extern EFI_COMPONENT_NAME2_PROTOCOL gIScsiComponentName2; -extern EFI_COMPONENT_NAME_PROTOCOL gIScsiComponentName; - -extern EFI_ISCSI_INITIATOR_NAME_PROTOCOL gIScsiInitiatorName; - extern EFI_GUID gIScsiPrivateGuid; typedef struct _ISCSI_PRIVATE_PROTOCOL { @@ -151,145 +142,4 @@ IScsiDriverBindingStop ( IN EFI_HANDLE *ChildHandleBuffer OPTIONAL ); -// -// EFI Component Name Protocol for IScsi driver. -// - -/** - Retrieves a Unicode string that is the user readable name of the EFI Driver. - - This function retrieves the user readable name of a driver in the form of a - Unicode string. If the driver specified by This has a user readable name in - the language specified by Language, then a pointer to the driver name is - returned in DriverName, and EFI_SUCCESS is returned. If the driver specified - by This does not support the language specified by Language, - then EFI_UNSUPPORTED is returned. - - @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. - @param[in] Language A pointer to a three character ISO 639-2 language identifier. - This is the language of the driver name that that the caller - is requesting, and it must match one of the languages specified - in SupportedLanguages. The number of languages supported by a - driver is up to the driver writer. - @param[out] DriverName A pointer to the Unicode string to return. This Unicode string - is the name of the driver specified by This in the language - specified by Language. - - @retval EFI_SUCCESS The Unicode string for the Driver specified by This - and the language specified by Language was returned - in DriverName. - @retval EFI_INVALID_PARAMETER Language is NULL. - @retval EFI_INVALID_PARAMETER DriverName is NULL. - @retval EFI_UNSUPPORTED The driver specified by This does not support the - language specified by Language. -**/ -EFI_STATUS -EFIAPI -IScsiComponentNameGetDriverName ( - IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN CHAR8 *Language, - OUT CHAR16 **DriverName - ); - -/** - Retrieves a Unicode string that is the user readable name of the controller - that is being managed by an EFI Driver.Currently not implemented. - - @param[in] This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. - @param[in] ControllerHandle The handle of a controller that the driver specified by - This is managing. This handle specifies the controller - whose name is to be returned. - @param[in] ChildHandle The handle of the child controller to retrieve the name - of. This is an optional parameter that may be NULL. It - will be NULL for device drivers. It will also be NULL - for a bus drivers that wish to retrieve the name of the - bus controller. It will not be NULL for a bus driver - that wishes to retrieve the name of a child controller. - @param[in] Language A pointer to a three character ISO 639-2 language - identifier. This is the language of the controller name - that that the caller is requesting, and it must match one - of the languages specified in SupportedLanguages. The - number of languages supported by a driver is up to the - driver writer. - @param[out] ControllerName A pointer to the Unicode string to return. This Unicode - string is the name of the controller specified by - ControllerHandle and ChildHandle in the language specified - by Language from the point of view of the driver specified - by This. - - @retval EFI_SUCCESS The Unicode string for the user readable name in the - language specified by Language for the driver - specified by This was returned in DriverName. - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. - @retval EFI_INVALID_PARAMETER Language is NULL. - @retval EFI_INVALID_PARAMETER ControllerName is NULL. - @retval EFI_UNSUPPORTED The driver specified by This is not currently managing - the controller specified by ControllerHandle and - ChildHandle. - @retval EFI_UNSUPPORTED The driver specified by This does not support the - language specified by Language. -**/ -EFI_STATUS -EFIAPI -IScsiComponentNameGetControllerName ( - IN EFI_COMPONENT_NAME_PROTOCOL *This, - IN EFI_HANDLE ControllerHandle, - IN EFI_HANDLE ChildHandle OPTIONAL, - IN CHAR8 *Language, - OUT CHAR16 **ControllerName - ); - -// -// EFI IScsi Initiator Name Protocol for IScsi driver. -// - -/** - Retrieves the current set value of iSCSI Initiator Name. - - @param[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance. - @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer / Actual size of the - variable data buffer. - @param[out] Buffer 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. - @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL. - @retval EFI_DEVICE_ERROR The iSCSI initiator name could not be retrieved due to a hardware error. - @retval Others Other errors as indicated. -**/ -EFI_STATUS -EFIAPI -IScsiGetInitiatorName ( - IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This, - IN OUT UINTN *BufferSize, - OUT VOID *Buffer - ); - -/** - Sets the iSCSI Initiator Name. - - @param[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance. - @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer. - @param[in] Buffer 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. - Currently not implemented. - @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL, or BufferSize exceeds the maximum allowed limit. - @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 - (and other related protocols) - @retval Others Other errors as indicated. -**/ -EFI_STATUS -EFIAPI -IScsiSetInitiatorName ( - IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This, - IN OUT UINTN *BufferSize, - IN VOID *Buffer - ); - #endif diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf index dd71a80..d18ed2b 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf @@ -41,6 +41,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. IScsiDhcp.h IScsiCommon.h IScsiCHAP.h + IScsiInitiatorName.h + ComponentName.h Md5.h IScsiTcp4Io.c IScsiProto.c diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h index 26a0305..34847f5 100644 --- a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h @@ -22,6 +22,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include "IScsiCommon.h" #include "IScsiDriver.h" +#include "IscsiInitiatorName.h" +#include "ComponentName.h" #include "IScsiConfigNVDataStruc.h" #include "IScsiExtScsiPassThru.h" #include "IScsiProto.h" @@ -33,7 +35,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include "IScsiIbft.h" - #define ISCSI_SESSION_SIGNATURE EFI_SIGNATURE_32 ('I', 'S', 'S', 'N') struct _ISCSI_SESSION { diff --git a/MdeModulePkg/Universal/Network/IScsiDxe/IScsiInitiatorName.h b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiInitiatorName.h new file mode 100644 index 0000000..5bb2c39 --- /dev/null +++ b/MdeModulePkg/Universal/Network/IScsiDxe/IScsiInitiatorName.h @@ -0,0 +1,74 @@ +/** @file + The header file for EFI iSCSI Initiator Name Protocol. + +Copyright (c) 2004 - 2008, Intel Corporation.
+All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _ISCSI_INITIATOR_NAME_H_ +#define _ISCSI_INITIATOR_NAME_H_ + +#include + +extern EFI_ISCSI_INITIATOR_NAME_PROTOCOL gIScsiInitiatorName; + +// +// EFI IScsi Initiator Name Protocol for IScsi driver. +// + +/** + Retrieves the current set value of iSCSI Initiator Name. + + @param[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance. + @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer / Actual size of the + variable data buffer. + @param[out] Buffer 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. + @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL. + @retval EFI_DEVICE_ERROR The iSCSI initiator name could not be retrieved due to a hardware error. + @retval Others Other errors as indicated. +**/ +EFI_STATUS +EFIAPI +IScsiGetInitiatorName ( + IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This, + IN OUT UINTN *BufferSize, + OUT VOID *Buffer + ); + +/** + Sets the iSCSI Initiator Name. + + @param[in] This Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance. + @param[in, out] BufferSize Size of the buffer in bytes pointed to by Buffer. + @param[in] Buffer 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. + Currently not implemented. + @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL, or BufferSize exceeds the maximum allowed limit. + @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 + (and other related protocols) + @retval Others Other errors as indicated. +**/ +EFI_STATUS +EFIAPI +IScsiSetInitiatorName ( + IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This, + IN OUT UINTN *BufferSize, + IN VOID *Buffer + ); + +#endif -- cgit v1.1