]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrDefault.h
clean up the un-suitable ';' location when declaring the functions. The regular is...
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiToUefiHiiThunk / UefiIfrDefault.h
CommitLineData
59336178 1/** @file\r
2 Header file for Function and Macro defintions for to extract default values from UEFI Form package.\r
3\r
4 Copyright (c) 2008, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#ifndef _HII_THUNK_UEFI_IFR_DEFAULT_\r
16#define _HII_THUNK_UEFI_IFR_DEFAULT_\r
17\r
59336178 18#define UEFI_IFR_BUFFER_STORAGE_NODE_FROM_LIST(a) CR(a, UEFI_IFR_BUFFER_STORAGE_NODE, List, UEFI_IFR_BUFFER_STORAGE_NODE_SIGNATURE)\r
19#define UEFI_IFR_BUFFER_STORAGE_NODE_SIGNATURE EFI_SIGNATURE_32 ('I', 'b', 'S', 'n')\r
20typedef struct {\r
21 LIST_ENTRY List;\r
22 UINT32 Signature;\r
23\r
24 EFI_GUID Guid;\r
25 CHAR16 *Name;\r
26 UINT16 DefaultId;\r
27 UINT16 StoreId;\r
28 UINTN Size;\r
29 UINT8 *Buffer;\r
30 \r
31} UEFI_IFR_BUFFER_STORAGE_NODE;\r
32\r
33/**\r
34 Get the default value for Buffer Type storage from the first FormSet\r
35 in the Package List specified by a EFI_HII_HANDLE.\r
36 \r
37 The results can be multiple instances of UEFI_IFR_BUFFER_STORAGE_NODE. \r
38 They are inserted to the link list.\r
39 \r
40 @param UefiHiiHandle The handle for the package list.\r
41 @param UefiDefaultsListHead The head of link list for the output.\r
42\r
43 @retval EFI_SUCCESS Successful.\r
44 \r
45**/\r
46EFI_STATUS\r
47UefiIfrGetBufferTypeDefaults (\r
48 EFI_HII_HANDLE UefiHiiHandle,\r
49 LIST_ENTRY **UefiDefaults\r
50);\r
51\r
52/**\r
53 Convert the UEFI Buffer Type default values to a Framework HII default\r
54 values specified by a EFI_HII_VARIABLE_PACK_LIST structure.\r
55 \r
56 @param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE\r
57 which contains the default values retrived from\r
58 a UEFI form set.\r
59 @param DefaultMask The default mask.\r
60 The valid values are FRAMEWORK_EFI_IFR_FLAG_DEFAULT\r
61 and FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING.\r
62 UEFI spec only map FRAMEWORK_EFI_IFR_FLAG_DEFAULT and FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING \r
63 from specification to valid default class.\r
64 @param VariablePackList The output default value in a format defined in Framework.\r
65 \r
66\r
67 @retval EFI_SUCCESS Successful.\r
68 @retval EFI_INVALID_PARAMETER The default mask is not FRAMEWORK_EFI_IFR_FLAG_DEFAULT or \r
69 FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING.\r
70**/\r
71\r
72EFI_STATUS\r
0368663f 73UefiDefaultsToFwDefaults (\r
59336178 74 IN LIST_ENTRY *UefiIfrDefaults,\r
75 IN UINTN DefaultMask,\r
76 OUT EFI_HII_VARIABLE_PACK_LIST **VariablePackList\r
e00e1d46 77 );\r
59336178 78\r
79/**\r
80 Free up all buffer allocated for the link list of UEFI_IFR_BUFFER_STORAGE_NODE.\r
81 \r
82 @param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE\r
83 which contains the default values retrived from\r
84 a UEFI form set.\r
85 \r
86\r
87 @retval EFI_SUCCESS Successful.\r
88 @retval EFI_INVALID_PARAMETER The default mask is not FRAMEWORK_EFI_IFR_FLAG_DEFAULT or \r
89 FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING.\r
90**/\r
91VOID\r
92FreeDefaultList (\r
93 IN LIST_ENTRY *UefiIfrDefaults\r
e00e1d46 94 );\r
59336178 95\r
96#endif\r
97\r
98\r