]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/FrameworkFormCallback.h
Remove IntelFrameworkPkg
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / FrameworkFormCallback.h
diff --git a/IntelFrameworkPkg/Include/Protocol/FrameworkFormCallback.h b/IntelFrameworkPkg/Include/Protocol/FrameworkFormCallback.h
deleted file mode 100644 (file)
index a679b15..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/** @file\r
-  The EFI_FORM_CALLBACK_PROTOCOL is the defined interface for access to custom\r
-  NV storage devices and for communication of user selections in a more\r
-  interactive environment.  This protocol should be published by hardware\r
-  specific drivers that want to export access to custom hardware storage or\r
-  publish IFR that need to call back the original driver.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-  @par Revision Reference:\r
-  This protocol is defined in HII spec 0.92.\r
-\r
-**/\r
-\r
-#ifndef __FRAMEWORK_FORM_CALLBACK_H__\r
-#define __FRAMEWORK_FORM_CALLBACK_H__\r
-\r
-#include <Protocol/FrameworkHii.h>\r
-#include <Protocol/FrameworkFormBrowser.h>\r
-\r
-#define EFI_FORM_CALLBACK_PROTOCOL_GUID \\r
-  { \\r
-    0xf3e4543d, 0xcf35, 0x6cef, {0x35, 0xc4, 0x4f, 0xe6, 0x34, 0x4d, 0xfc, 0x54 } \\r
-  }\r
-\r
-//\r
-// Forward reference for pure ANSI compatability\r
-//\r
-typedef struct _EFI_FORM_CALLBACK_PROTOCOL  EFI_FORM_CALLBACK_PROTOCOL;\r
-\r
-///\r
-///  Inconsistent with specification here:\r
-///  RESET_REQUIRED, EXIT_REQUIRED, SAVE_REQUIRED, NV_CHANGED and NV_NOT_CHANGED are not\r
-///  defined in HII specification. These Flags of EFI_IFR_DATA_ENTRY should be defined\r
-///  to describe the standard behavior of the browser after the callback.\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
-  UINT8   Length;           ///< Length of the EFI_IFR_DATA_ENTRY packet.\r
-  UINT16  Flags;            ///< Flags settings to determine what behavior is desired from the browser after the callback.\r
-  VOID    *Data;            ///< The data in the form based on the op-code type. This is not a pointer to the data; the data follows immediately.\r
-  ///\r
-  /// If the OpCode is a OneOf or Numeric type - Data is a UINT16 value.\r
-  /// If the OpCode is a String type - Data is a CHAR16[x] type.\r
-  /// If the OpCode is a Checkbox type - Data is a UINT8 value.\r
-  /// If the OpCode is a NV Access type - Data is a EFI_IFR_NV_DATA structure.\r
-  ///\r
-} EFI_IFR_DATA_ENTRY;\r
-\r
-typedef struct {\r
-  VOID                *NvRamMap;  ///< If the flag of the op-code specified retrieval of a copy of the NVRAM map.\r
-  //\r
-  // this is a pointer to a buffer copy\r
-  //\r
-  UINT32              EntryCount; ///< Number of EFI_IFR_DATA_ENTRY entries.\r
-  //\r
-  // EFI_IFR_DATA_ENTRY  Data[1];    // The in-line Data entries.\r
-  //\r
-} EFI_IFR_DATA_ARRAY;\r
-\r
-\r
-typedef union {\r
-  EFI_IFR_DATA_ARRAY  DataArray;  ///< Primarily used by those that call back to their drivers and use HII as a repository.\r
-  EFI_IFR_PACKET      DataPacket; ///< Primarily used by those that do not use HII as a repository.\r
-  CHAR16              String[1];  ///< If returning an error - fill the string with null-terminated contents.\r
-} EFI_HII_CALLBACK_PACKET;\r
-\r
-typedef struct {\r
-  FRAMEWORK_EFI_IFR_OP_HEADER Header;\r
-  UINT16            QuestionId;   ///< Offset into the map.\r
-  UINT8             StorageWidth; ///< Width of the value.\r
-  //\r
-  // CHAR8             Data[1];      // The Data itself\r
-  //\r
-} EFI_IFR_NV_DATA;\r
-\r
-#pragma pack()\r
-//\r
-// The following types are currently defined:\r
-//\r
-/**\r
-  Returns the value of a variable.\r
-\r
-  @param  This                  A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance.\r
-  @param  VariableName          A NULL-terminated Unicode string that is the\r
-                                name of the vendor's variable.\r
-  @param  VendorGuid            A unique identifier for the vendor.\r
-  @param  Attributes            If not NULL, a pointer to the memory location to\r
-                                return the attribute's bit-mask for the variable.\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 to return the contents of the variable.\r
-\r
-  @retval EFI_SUCCESS           The function completed successfully.\r
-  @retval EFI_NOT_FOUND         The variable was not found.\r
-  @retval EFI_BUFFER_TOO_SMALL  The DataSize is too small for the result.\r
-                                DataSize has been updated with the size needed to complete the request.\r
-  @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r
-  @retval EFI_DEVICE_ERROR      The variable could not be saved due to a hardware failure.\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_NV_READ)(\r
-  IN     EFI_FORM_CALLBACK_PROTOCOL    *This,\r
-  IN     CHAR16                        *VariableName,\r
-  IN     EFI_GUID                      *VendorGuid,\r
-  OUT    UINT32                        *Attributes OPTIONAL,\r
-  IN OUT UINTN                         *DataSize,\r
-  OUT    VOID                          *Buffer\r
-  );\r
-\r
-/**\r
-  Sets the value of a variable.\r
-\r
-  @param  This                  A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance.\r
-  @param  VariableName          A NULL-terminated Unicode string that is the\r
-                                name of the vendor's variable. Each VariableName\r
-                                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\r
-                                UINT32 * to UINT32, because the input parameter is\r
-                                not necessary to use a 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
-  @param  ResetRequired         Returns a value from the driver that abstracts this\r
-                                information and will enable a system to know if a\r
-                                system reset is required to achieve the configuration\r
-                                changes being enabled through this function.\r
-\r
-  @retval EFI_SUCCESS           The firmware has successfully stored the variable and\r
-                                its data as defined by the Attributes.\r
-  @retval EFI_OUT_OF_RESOURCES  Not enough storage is available to hold\r
-                                the variable and its data.\r
-  @retval EFI_INVALID_PARAMETER An invalid combination of Attributes bits\r
-                                was supplied, or the DataSize exceeds the maximum allowed.\r
-  @retval EFI_DEVICE_ERROR      The variable could not be saved due to a hardware failure.\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_NV_WRITE)(\r
-  IN     EFI_FORM_CALLBACK_PROTOCOL    *This,\r
-  IN     CHAR16                        *VariableName,\r
-  IN     EFI_GUID                      *VendorGuid,\r
-  IN     UINT32                        Attributes,\r
-  IN     UINTN                         DataSize,\r
-  IN     VOID                          *Buffer,\r
-  OUT    BOOLEAN                       *ResetRequired\r
-  );\r
-\r
-/**\r
-  This function is called to provide results data to the driver.\r
-\r
-  @param  This                  A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance.\r
-  @param  KeyValue              A unique value which is sent to the original exporting\r
-                                driver so that it can identify the type of data\r
-                                to expect. The format of the data tends to vary based\r
-                                on the opcode that generated the callback.\r
-  @param  Data                  A pointer to the data being sent to the original exporting driver.\r
-  @param  Packet                A pointer to a packet of information that a driver passes\r
-                                back to the browser.\r
-\r
-  @return Status Code\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FORM_CALLBACK)(\r
-  IN     EFI_FORM_CALLBACK_PROTOCOL    *This,\r
-  IN     UINT16                        KeyValue,\r
-  IN     EFI_IFR_DATA_ARRAY  *Data,\r
-  OUT    EFI_HII_CALLBACK_PACKET       **Packet\r
-  );\r
-\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 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
-struct _EFI_FORM_CALLBACK_PROTOCOL {\r
-  EFI_NV_READ       NvRead;     ///< The read operation to access the NV data serviced by a hardware-specific driver.\r
-  EFI_NV_WRITE      NvWrite;    ///< The write operation to access the NV data serviced by a hardware-specific driver.\r
-  EFI_FORM_CALLBACK Callback;   ///< The function that is called from the configuration browser to communicate key value pairs.\r
-};\r
-\r
-extern EFI_GUID gEfiFormCallbackProtocolGuid;\r
-\r
-#endif\r