#ifndef __FORM_CALLBACK_H__\r
#define __FORM_CALLBACK_H__\r
\r
-#include <FrameworkDxe.h>\r
-\r
#include <Protocol/FrameworkHii.h>\r
#include <Protocol/FrameworkFormBrowser.h>\r
\r
//\r
typedef struct _EFI_FORM_CALLBACK_PROTOCOL EFI_FORM_CALLBACK_PROTOCOL;\r
\r
+///\r
+/// Inconsistent with specification here: \r
+/// EFI_IFR_DATA_ENTRY RESET_REQUIRED, EXIT_REQUIRED, SAVE_REQUIRED, NV_CHANGED \r
+//// and NV_NOT_CHANGED are not defined in HII specification. These Flags of EFI_IFR_DATA_ENTRY \r
+/// should be defined to describe the standard behavior of the browser after the callback.\r
+///\r
+\r
+///\r
+/// If this flag is set, the browser will exit and reset after processing callback results\r
+///\r
+#define RESET_REQUIRED 1 \r
+///\r
+/// If this flag is set, the browser will exit after processing callback results\r
+///\r
+#define EXIT_REQUIRED 2\r
+///\r
+/// If this flag is set, the browser will save the NV data after processing callback results\r
+///\r
+#define SAVE_REQUIRED 4\r
+///\r
+/// If this flag is set, the browser will turn the NV flag on after processing callback results\r
+///\r
+#define NV_CHANGED 8\r
+///\r
+/// If this flag is set, the browser will turn the NV flag off after processing callback results\r
+///\r
+#define NV_NOT_CHANGED 16\r
+\r
#pragma pack(1)\r
typedef struct {\r
UINT8 OpCode; ///< Likely a string, numeric, or one-of\r
name of the vendor's variable. Each VariableName is unique for each VendorGuid.\r
@param VendorGuid A unique identifier for the vendor.\r
@param Attributes Attributes bit-mask to set for the variable.\r
+ Inconsistent with specification here: \r
+ Attributes data type has been changed from UINT32 * to UINT32,\r
+ because the input paramter is not necessary to use pointer date type.\r
@param DataSize The size in bytes of the Buffer. A size of zero causes\r
the variable to be deleted.\r
@param Buffer The buffer containing the contents of the variable.\r
/**\r
The EFI_FORM_CALLBACK_PROTOCOL is the defined interface for access to\r
custom NVS devices as well as communication of user selections in a more\r
- interactive environment. This protocol should be published by hardware-specific\r
+ interactive environment. This protocol should be published by platform-specific\r
drivers that want to export access to custom hardware storage or publish IFR\r
that has a requirement to call back the original driver.\r
**/\r