#ifndef _ISCSI_CONFIG_H_\r
#define _ISCSI_CONFIG_H_\r
\r
+#include <Protocol/HiiConfigRouting.h>\r
#include <Library/HiiLib.h>\r
-#include <Library/ExtendedHiiLib.h>\r
+#include <Library/DevicePathLib.h>\r
#include <Library/IfrSupportLib.h>\r
#include <Library/ExtendedIfrSupportLib.h>\r
#include <Library/DebugLib.h>\r
\r
#define ISCSI_CONFIG_VAR_ATTR (EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE)\r
\r
-#define ISCSI_FORM_CALLBACK_INFO_SIGNATURE EFI_SIGNATURE_32 ('I', 'f', 'c', 'i')\r
+#define ISCSI_FORM_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('I', 'f', 'c', 'i')\r
+\r
+\r
+\r
+/**\r
+ If the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is clear, \r
+ then this macro return a pointer to a data structure ISCSI_FORM_CALLBACK_INFO.\r
+\r
+ If the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is set, \r
+ The Signature field of the data structure ISCSI_FORM_CALLBACK_INFO \r
+ is compared to TestSignature. If the signatures match, then a pointer \r
+ to the pointer to a data structure ISCSI_FORM_CALLBACK_INFO is returned. \r
+ If the signatures do not match, then DebugAssert() is called with a description \r
+ of "CR has a bad signature" and Callback is returned. \r
+\r
+ If the data type ISCSI_FORM_CALLBACK_INFO_SIGNATURE does not contain the field\r
+ specified by Callback, then the module will not compile.\r
+\r
+ If ISCSI_FORM_CALLBACK_INFO_SIGNATURE does not contain a field called Signature, \r
+ then the module will not compile.\r
+\r
+ @param Callback Pointer to the specified field within the data \r
+ structure ISCSI_FORM_CALLBACK_INFO.\r
+ @return A pointer to the pointer to a data structure ISCSI_FORM_CALLBACK_INFO.\r
+ @retval Others Some unexpected error happened.\r
+**/\r
\r
#define ISCSI_FORM_CALLBACK_INFO_FROM_FORM_CALLBACK(Callback) \\r
CR ( \\r
ISCSI_CONFIG_FORM_ENTRY *Current;\r
} ISCSI_FORM_CALLBACK_INFO;\r
\r
+#pragma pack(1)\r
+\r
+///\r
+/// HII specific Vendor Device Path definition.\r
+///\r
+typedef struct {\r
+ VENDOR_DEVICE_PATH VendorDevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL End;\r
+} HII_VENDOR_DEVICE_PATH;\r
+\r
+#pragma pack()\r
+\r
/**\r
Updates the iSCSI configuration form to add/delete an entry for the iSCSI\r
device specified by the Controller.\r
\r
@retval EFI_SUCCESS The iSCSI configuration form is updated.\r
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.\r
- @retval Others Some unexpected errors happened.\r
+ @retval Others Other errors as indicated.\r
**/\r
EFI_STATUS\r
IScsiConfigUpdateForm (\r
\r
@retval EFI_SUCCESS The iSCSI configuration form is initialized.\r
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.\r
- @retval Others Some unexpected error happened.\r
+ @retval Others Other errors as indicated.\r
**/\r
EFI_STATUS\r
IScsiConfigFormInit (\r
- IN EFI_HANDLE DriverBindingHandle\r
+ VOID\r
);\r
\r
/**\r