#ifndef __EFI_HII_CONFIG_ACCESS_H__\r
#define __EFI_HII_CONFIG_ACCESS_H__\r
\r
-#error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now."\r
+#include <Protocol/FormBrowser2.h>\r
\r
-#define EFI_HII_CONFIGURATION_ACCESS_PROTOCOL_GUID \\r
+#define EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID \\r
{ 0x330d4706, 0xf2a0, 0x4e4f, { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } }\r
\r
typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL;\r
\r
+typedef UINTN EFI_BROWSER_ACTION;\r
+\r
+#define EFI_BROWSER_ACTION_CHANGING 0\r
+#define EFI_BROWSER_ACTION_CHANGED 1\r
+\r
/**\r
\r
This function allows the caller to request the current\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_FORM_CALLBACK) (\r
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
- IN CONST UINT16 KeyValue,\r
- IN CONST VOID *Data\r
-);\r
+(EFIAPI *EFI_HII_ACCESS_FORM_CALLBACK) (\r
+ IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
+ IN EFI_BROWSER_ACTION Action,\r
+ IN EFI_QUESTION_ID QuestionId,\r
+ IN UINT8 Type,\r
+ IN EFI_IFR_TYPE_VALUE *Value,\r
+ OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest\r
+ )\r
+ ;\r
/**\r
\r
This protocol provides a callable interface between the HII and\r
\r
**/\r
struct _EFI_HII_CONFIG_ACCESS_PROTOCOL {\r
- EFI_HII_ACCESS_ROUTE_CONFIG ExtractConfig;\r
- EFI_HII_ACCESS_EXTRACT_CONFIG RouteConfig;\r
- EFI_FORM_CALLBACK Callback;\r
+ EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig;\r
+ EFI_HII_ACCESS_ROUTE_CONFIG RouteConfig;\r
+ EFI_HII_ACCESS_FORM_CALLBACK Callback;\r
} ;\r
\r
extern EFI_GUID gEfiHiiConfigAccessProtocolGuid;\r
\r
#endif\r
\r
+\r