From: qwang12 Date: Mon, 2 Jul 2007 09:09:19 +0000 (+0000) Subject: Rename Protocol/FormCallback.h to Protocol/FormCallbackFramework.h to follow the... X-Git-Tag: edk2-stable201903~23006 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=1d8776f9a7e2b58317fc3a0746c08f2052cf3804;ds=inline Rename Protocol/FormCallback.h to Protocol/FormCallbackFramework.h to follow the naming convention. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2949 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/IntelFrameworkPkg/Include/Protocol/FormBrowserFramework.h b/IntelFrameworkPkg/Include/Protocol/FormBrowserFramework.h new file mode 100644 index 0000000000..3f174277fe --- /dev/null +++ b/IntelFrameworkPkg/Include/Protocol/FormBrowserFramework.h @@ -0,0 +1,160 @@ +/** @file + The EFI_FORM_BROWSER_PROTOCOL is the interface to the EFI + Configuration Driver. This will allow the caller to direct the + configuration driver to use either the HII database or use the passed + in packet of data. This will also allow the caller to post messages + into the configuration drivers internal mailbox. + + Copyright (c) 2006, 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. + + Module Name: FrameworkFormBrowser.h + + @par Revision Reference: + This protocol is defined in HII spec 0.92. + +**/ + +#ifndef __FRAMEWORK_FORM_BROWSER_H__ +#define __FRAMEWORK_FORM_BROWSER_H__ + + +#define EFI_FORM_BROWSER_PROTOCOL_GUID \ + { \ + 0xe5a1333e, 0xe1b4, 0x4d55, {0xce, 0xeb, 0x35, 0xc3, 0xef, 0x13, 0x34, 0x43 } \ + } + +typedef struct _EFI_FORM_BROWSER_PROTOCOL EFI_FORM_BROWSER_PROTOCOL; + +typedef struct { + UINT32 Length; + UINT16 Type; + UINT8 Data[1]; +} EFI_HII_PACKET; + +typedef struct { + EFI_HII_IFR_PACK *IfrData; + EFI_HII_STRING_PACK *StringData; +} EFI_IFR_PACKET; + +typedef struct { + UINTN LeftColumn; + UINTN RightColumn; + UINTN TopRow; + UINTN BottomRow; +} EFI_SCREEN_DESCRIPTOR; + +/** + Provides direction to the configuration driver whether to use the HII + database or a passed-in set of data. This function also establishes a + pointer to the calling driver's callback interface. + + @param This A pointer to the EFI_FORM_BROWSER_PROTOCOL instance. + @param UseDatabase Determines whether the HII database is to be + used to gather information. If the value is FALSE, the configuration + driver will get the information provided in the passed-in Packet parameters. + @param Handle A pointer to an array of HII handles to display. This value + should correspond to the value of the HII form package that is required to + be displayed. + @param HandleCount The number of handles in the array specified by Handle. + @param Packet A pointer to a set of data containing pointers to IFR + and/or string data. + @param CallbackHandle The handle to the driver's callback interface. + This parameter is used only when the UseDatabase parameter is FALSE + and an application wants to register a callback with the browser + @param NvMapOverride This buffer is used only when there is no NV variable + to define the current settings and the caller needs to provide to the browser + the current settings for the "fake" NV variable. + @param ScreenDimensions Allows the browser to be called so that it occupies + a portion of the physical screen instead of dynamically determining the + screen dimensions. + @param ResetRequired This BOOLEAN value will tell the caller if a reset + is required based on the data that might have been changed. The ResetRequired + parameter is primarily applicable for configuration applications, and is an + optional parameter. + + @retval EFI_SUCCESS The function completed successfully + @retval EFI_NOT_FOUND The variable was not found. + @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result. + DataSize has been updated with the size needed to complete the request. + @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. + @retval EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_SEND_FORM) ( + IN EFI_FORM_BROWSER_PROTOCOL *This, + IN BOOLEAN UseDatabase, + IN EFI_HII_HANDLE *Handle, + IN UINTN HandleCount, + IN EFI_IFR_PACKET *Packet, OPTIONAL + IN EFI_HANDLE CallbackHandle, OPTIONAL + IN UINT8 *NvMapOverride, OPTIONAL + IN EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL + OUT BOOLEAN *ResetRequired OPTIONAL + ); + +/** + Routine used to abstract a generic dialog interface and return the selected + key or string. + + @param NumberOfLines The number of lines for the dialog box. + @param HotKey Defines whether a single character is parsed (TRUE) + and returned in KeyValue or if a string is returned in StringBuffer. + @param MaximumStringSize The maximum size in bytes of a typed-in string. + Because each character is a CHAR16, the minimum string returned is two bytes. + @param StringBuffer The passed-in pointer to the buffer that will hold + the typed in string if HotKey is FALSE. + @param KeyValue The EFI_INPUT_KEY value returned if HotKey is TRUE. + @param String The pointer to the first string in the list of strings + that comprise the dialog box. + @param ... A series of NumberOfLines text strings that will be used + to construct the dialog box. + + @retval EFI_SUCCESS The dialog was displayed and user interaction was received. + @retval EFI_DEVICE_ERROR The user typed in an ESC character to exit the routine. + @retval EFI_INVALID_PARAMETER One of the parameters was invalid + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_CREATE_POP_UP) ( + IN UINTN NumberOfLines, + IN BOOLEAN HotKey, + IN UINTN MaximumStringSize, + OUT CHAR16 *StringBuffer, + OUT EFI_INPUT_KEY *KeyValue, + IN CHAR16 *String, + ... + ); + +/** + @par Protocol Description: + The EFI_FORM_BROWSER_PROTOCOL is the interface to call for drivers to + leverage the EFI configuration driver interface. + + @param SendForm + Provides direction to the configuration driver whether to use the HII + database or to use a passed-in set of data. This functions also establishes + a pointer to the calling driver's callback interface. + + @param CreatePopUp + Routine used to abstract a generic dialog interface and return the + selected key or string. + +**/ +struct _EFI_FORM_BROWSER_PROTOCOL { + EFI_SEND_FORM SendForm; + EFI_CREATE_POP_UP CreatePopUp; +}; + +extern EFI_GUID gEfiFormBrowserProtocolGuid; + +#endif diff --git a/IntelFrameworkPkg/Include/Protocol/FormCallback.h b/IntelFrameworkPkg/Include/Protocol/FormCallback.h deleted file mode 100644 index bded9c0835..0000000000 --- a/IntelFrameworkPkg/Include/Protocol/FormCallback.h +++ /dev/null @@ -1,211 +0,0 @@ -/** @file - The EFI_FORM_CALLBACK_PROTOCOL is the defined interface for access to custom - NV storage devices as well as communication of user selections in a more - interactive environment. This protocol should be published by hardware - specific drivers which want to export access to custom hardware storage or - publish IFR which has a requirement to call back the original driver. - - Copyright (c) 2006, 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. - - Module Name: FormCallback.h - - @par Revision Reference: - This protocol is defined in HII spec 0.92. - -**/ - -#ifndef __FORM_CALLBACK_H__ -#define __FORM_CALLBACK_H__ - -#include - -#include -#include - -#define EFI_FORM_CALLBACK_PROTOCOL_GUID \ - { \ - 0xf3e4543d, 0xcf35, 0x6cef, {0x35, 0xc4, 0x4f, 0xe6, 0x34, 0x4d, 0xfc, 0x54 } \ - } - -// -// Forward reference for pure ANSI compatability -// -typedef struct _EFI_FORM_CALLBACK_PROTOCOL EFI_FORM_CALLBACK_PROTOCOL; - - -#define RESET_REQUIRED 1 // Flags setting to signify that the callback operation resulted in an eventual -// reset to be done upon exit of the browser -// -#define EXIT_REQUIRED 2 // Flags setting to signify that after the processing of the callback results - exit the browser -#define SAVE_REQUIRED 4 // Flags setting to signify that after the processing of the callback results - save the NV data -#define NV_CHANGED 8 // Flags setting to signify that after the processing of the callback results - turn the NV flag on -#define NV_NOT_CHANGED 16 // Flags setting to signify that after the processing of the callback results - turn the NV flag off -#pragma pack(1) -typedef struct { - UINT8 OpCode; // Likely a string, numeric, or one-of - UINT8 Length; // Length of the EFI_IFR_DATA_ENTRY packet - UINT16 Flags; // Flags settings to determine what behavior is desired from the browser after the callback - 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 - // If the OpCode is a OneOf or Numeric type - Data is a UINT16 value - // If the OpCode is a String type - Data is a CHAR16[x] type - // If the OpCode is a Checkbox type - Data is a UINT8 value - // If the OpCode is a NV Access type - Data is a EFI_IFR_NV_DATA structure - // -} EFI_IFR_DATA_ENTRY; - -typedef struct { - VOID *NvRamMap; // If the flag of the op-code specified retrieval of a copy of the NVRAM map, - // this is a pointer to a buffer copy - // - UINT32 EntryCount; // How many EFI_IFR_DATA_ENTRY entries - // - // EFI_IFR_DATA_ENTRY Data[1]; // The in-line Data entries. - // -} EFI_IFR_DATA_ARRAY; - - -typedef union { - EFI_IFR_DATA_ARRAY DataArray; // Primarily used by those who call back to their drivers and use HII as a repository - EFI_IFR_PACKET DataPacket; // Primarily used by those which do not use HII as a repository - CHAR16 *String; // If returning an error - fill the string with null-terminated contents -} EFI_HII_CALLBACK_PACKET; - -typedef struct { - EFI_IFR_OP_HEADER Header; - UINT16 QuestionId; // Offset into the map - UINT8 StorageWidth; // Width of the value - // - // CHAR8 Data[1]; // The Data itself - // -} EFI_IFR_NV_DATA; - -#pragma pack() -// -// The following types are currently defined: -// -/** - Returns the value of a variable. - - @param This A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance. - @param VariableName A NULL-terminated Unicode string that is the - name of the vendor's variable. - @param VendorGuid A unique identifier for the vendor. - @param Attributes If not NULL, a pointer to the memory location to - return the attribute's bit-mask for the variable. - @param DataSize The size in bytes of the Buffer. A size of zero causes - the variable to be deleted. - @param Buffer The buffer to return the contents of the variable. - - @retval EFI_SUCCESS The function completed successfully. - @retval EFI_NOT_FOUND The variable was not found. - @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result. - DataSize has been updated with the size needed to complete the request. - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. - @retval EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_NV_READ) ( - IN EFI_FORM_CALLBACK_PROTOCOL *This, - IN CHAR16 *VariableName, - IN EFI_GUID *VendorGuid, - OUT UINT32 *Attributes OPTIONAL, - IN OUT UINTN *DataSize, - OUT VOID *Buffer - ); - -/** - Sets the value of a variable. - - @param This A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance. - @param VariableName A NULL-terminated Unicode string that is the - name of the vendor's variable. Each VariableName is unique for each VendorGuid. - @param VendorGuid A unique identifier for the vendor. - @param Attributes Attributes bit-mask to set for the variable. - @param DataSize The size in bytes of the Buffer. A size of zero causes - the variable to be deleted. - @param Buffer The buffer containing the contents of the variable. - @param ResetRequired Returns a value from the driver that abstracts - this information and will enable a system to know if a system reset - is required to achieve the configuration changes being enabled through - this function. - - @retval EFI_SUCCESS The firmware has successfully stored the variable and - its data as defined by the Attributes. - @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold - the variable and its data. - @retval EFI_INVALID_PARAMETER An invalid combination of Attributes bits - was supplied, or the DataSize exceeds the maximum allowed. - @retval EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_NV_WRITE) ( - IN EFI_FORM_CALLBACK_PROTOCOL *This, - IN CHAR16 *VariableName, - IN EFI_GUID *VendorGuid, - IN UINT32 Attributes, - IN UINTN DataSize, - IN VOID *Buffer, - OUT BOOLEAN *ResetRequired - ); - -/** - This function is called to provide results data to the driver. - - @param This A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance. - @param KeyValue A unique value which is sent to the original exporting - driver so that it can identify the type of data to expect. The format of - the data tends to vary based on the opcode that generated the callback. - @param Data A pointer to the data being sent to the original exporting driver. - @param Packet A pointer to a packet of information which a driver passes - back to the browser. - - @return Status Code - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_FORM_CALLBACK) ( - IN EFI_FORM_CALLBACK_PROTOCOL *This, - IN UINT16 KeyValue, - IN EFI_IFR_DATA_ARRAY *Data, - OUT EFI_HII_CALLBACK_PACKET **Packet - ); - -/** - @par Protocol Description: - The EFI_FORM_CALLBACK_PROTOCOL is the defined interface for access to - custom NVS devices as well as communication of user selections in a more - interactive environment. This protocol should be published by hardware-specific - drivers that want to export access to custom hardware storage or publish IFR - that has a requirement to call back the original driver. - - @param NvRead - The read operation to access the NV data serviced by a hardware-specific driver. - - @param NvWrite - The write operation to access the NV data serviced by a hardware-specific driver. - - @param Callback - The function that is called from the configuration browser to communicate key value pairs. - -**/ -struct _EFI_FORM_CALLBACK_PROTOCOL { - EFI_NV_READ NvRead; - EFI_NV_WRITE NvWrite; - EFI_FORM_CALLBACK Callback; -}; - -extern EFI_GUID gEfiFormCallbackProtocolGuid; - -#endif diff --git a/IntelFrameworkPkg/Include/Protocol/FrameworkFormBrowser.h b/IntelFrameworkPkg/Include/Protocol/FrameworkFormBrowser.h deleted file mode 100644 index 3f174277fe..0000000000 --- a/IntelFrameworkPkg/Include/Protocol/FrameworkFormBrowser.h +++ /dev/null @@ -1,160 +0,0 @@ -/** @file - The EFI_FORM_BROWSER_PROTOCOL is the interface to the EFI - Configuration Driver. This will allow the caller to direct the - configuration driver to use either the HII database or use the passed - in packet of data. This will also allow the caller to post messages - into the configuration drivers internal mailbox. - - Copyright (c) 2006, 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. - - Module Name: FrameworkFormBrowser.h - - @par Revision Reference: - This protocol is defined in HII spec 0.92. - -**/ - -#ifndef __FRAMEWORK_FORM_BROWSER_H__ -#define __FRAMEWORK_FORM_BROWSER_H__ - - -#define EFI_FORM_BROWSER_PROTOCOL_GUID \ - { \ - 0xe5a1333e, 0xe1b4, 0x4d55, {0xce, 0xeb, 0x35, 0xc3, 0xef, 0x13, 0x34, 0x43 } \ - } - -typedef struct _EFI_FORM_BROWSER_PROTOCOL EFI_FORM_BROWSER_PROTOCOL; - -typedef struct { - UINT32 Length; - UINT16 Type; - UINT8 Data[1]; -} EFI_HII_PACKET; - -typedef struct { - EFI_HII_IFR_PACK *IfrData; - EFI_HII_STRING_PACK *StringData; -} EFI_IFR_PACKET; - -typedef struct { - UINTN LeftColumn; - UINTN RightColumn; - UINTN TopRow; - UINTN BottomRow; -} EFI_SCREEN_DESCRIPTOR; - -/** - Provides direction to the configuration driver whether to use the HII - database or a passed-in set of data. This function also establishes a - pointer to the calling driver's callback interface. - - @param This A pointer to the EFI_FORM_BROWSER_PROTOCOL instance. - @param UseDatabase Determines whether the HII database is to be - used to gather information. If the value is FALSE, the configuration - driver will get the information provided in the passed-in Packet parameters. - @param Handle A pointer to an array of HII handles to display. This value - should correspond to the value of the HII form package that is required to - be displayed. - @param HandleCount The number of handles in the array specified by Handle. - @param Packet A pointer to a set of data containing pointers to IFR - and/or string data. - @param CallbackHandle The handle to the driver's callback interface. - This parameter is used only when the UseDatabase parameter is FALSE - and an application wants to register a callback with the browser - @param NvMapOverride This buffer is used only when there is no NV variable - to define the current settings and the caller needs to provide to the browser - the current settings for the "fake" NV variable. - @param ScreenDimensions Allows the browser to be called so that it occupies - a portion of the physical screen instead of dynamically determining the - screen dimensions. - @param ResetRequired This BOOLEAN value will tell the caller if a reset - is required based on the data that might have been changed. The ResetRequired - parameter is primarily applicable for configuration applications, and is an - optional parameter. - - @retval EFI_SUCCESS The function completed successfully - @retval EFI_NOT_FOUND The variable was not found. - @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result. - DataSize has been updated with the size needed to complete the request. - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. - @retval EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_SEND_FORM) ( - IN EFI_FORM_BROWSER_PROTOCOL *This, - IN BOOLEAN UseDatabase, - IN EFI_HII_HANDLE *Handle, - IN UINTN HandleCount, - IN EFI_IFR_PACKET *Packet, OPTIONAL - IN EFI_HANDLE CallbackHandle, OPTIONAL - IN UINT8 *NvMapOverride, OPTIONAL - IN EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL - OUT BOOLEAN *ResetRequired OPTIONAL - ); - -/** - Routine used to abstract a generic dialog interface and return the selected - key or string. - - @param NumberOfLines The number of lines for the dialog box. - @param HotKey Defines whether a single character is parsed (TRUE) - and returned in KeyValue or if a string is returned in StringBuffer. - @param MaximumStringSize The maximum size in bytes of a typed-in string. - Because each character is a CHAR16, the minimum string returned is two bytes. - @param StringBuffer The passed-in pointer to the buffer that will hold - the typed in string if HotKey is FALSE. - @param KeyValue The EFI_INPUT_KEY value returned if HotKey is TRUE. - @param String The pointer to the first string in the list of strings - that comprise the dialog box. - @param ... A series of NumberOfLines text strings that will be used - to construct the dialog box. - - @retval EFI_SUCCESS The dialog was displayed and user interaction was received. - @retval EFI_DEVICE_ERROR The user typed in an ESC character to exit the routine. - @retval EFI_INVALID_PARAMETER One of the parameters was invalid - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_CREATE_POP_UP) ( - IN UINTN NumberOfLines, - IN BOOLEAN HotKey, - IN UINTN MaximumStringSize, - OUT CHAR16 *StringBuffer, - OUT EFI_INPUT_KEY *KeyValue, - IN CHAR16 *String, - ... - ); - -/** - @par Protocol Description: - The EFI_FORM_BROWSER_PROTOCOL is the interface to call for drivers to - leverage the EFI configuration driver interface. - - @param SendForm - Provides direction to the configuration driver whether to use the HII - database or to use a passed-in set of data. This functions also establishes - a pointer to the calling driver's callback interface. - - @param CreatePopUp - Routine used to abstract a generic dialog interface and return the - selected key or string. - -**/ -struct _EFI_FORM_BROWSER_PROTOCOL { - EFI_SEND_FORM SendForm; - EFI_CREATE_POP_UP CreatePopUp; -}; - -extern EFI_GUID gEfiFormBrowserProtocolGuid; - -#endif