]>
Commit | Line | Data |
---|---|---|
59336178 | 1 | /** @file\r |
2 | Header file for Function and Macro defintions for to extract default values from UEFI Form package.\r | |
3 | \r | |
584d5652 HT |
4 | Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>\r |
5 | This program and the accompanying materials\r | |
59336178 | 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 |
a3a83173 | 19 | #define UEFI_IFR_BUFFER_STORAGE_NODE_SIGNATURE SIGNATURE_32 ('I', 'b', 'S', 'n')\r |
59336178 | 20 | typedef 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 | |
26a76fbc | 34 | Get the default value for Buffer Type storage from the FormSet in ThunkContext.\r |
59336178 | 35 | \r |
36 | The results can be multiple instances of UEFI_IFR_BUFFER_STORAGE_NODE. \r | |
37 | They are inserted to the link list.\r | |
38 | \r | |
26a76fbc LG |
39 | @param ThunkContext Hii thunk context.\r |
40 | @param UefiDefaults The head of link list for the output.\r | |
59336178 | 41 | \r |
42 | @retval EFI_SUCCESS Successful.\r | |
43 | \r | |
44 | **/\r | |
45 | EFI_STATUS\r | |
46 | UefiIfrGetBufferTypeDefaults (\r | |
a9d85320 | 47 | IN HII_THUNK_CONTEXT *ThunkContext,\r |
48 | OUT LIST_ENTRY **UefiDefaults\r | |
26a76fbc | 49 | );\r |
59336178 | 50 | \r |
51 | /**\r | |
52 | Convert the UEFI Buffer Type default values to a Framework HII default\r | |
53 | values specified by a EFI_HII_VARIABLE_PACK_LIST structure.\r | |
54 | \r | |
26a76fbc LG |
55 | @param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE\r |
56 | which contains the default values retrived from a UEFI form set.\r | |
57 | @param DefaultMask The default mask.\r | |
58 | The valid values are EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING.\r | |
59 | UEFI spec only map EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING \r | |
60 | from specification to valid default class.\r | |
61 | @param UefiFormSetDefaultVarStoreId\r | |
62 | ID of the default varstore in FormSet.\r | |
59336178 | 63 | @param VariablePackList The output default value in a format defined in Framework.\r |
59336178 | 64 | \r |
26a76fbc LG |
65 | @retval EFI_SUCCESS Successful.\r |
66 | @retval EFI_INVALID_PARAMETER The default mask is not EFI_IFR_FLAG_DEFAULT or \r | |
67 | EFI_IFR_FLAG_MANUFACTURING.\r | |
59336178 | 68 | **/\r |
59336178 | 69 | EFI_STATUS\r |
0368663f | 70 | UefiDefaultsToFwDefaults (\r |
26a76fbc | 71 | IN LIST_ENTRY *ListHead,\r |
59336178 | 72 | IN UINTN DefaultMask,\r |
a9d85320 | 73 | IN EFI_VARSTORE_ID UefiFormSetDefaultVarStoreId,\r |
59336178 | 74 | OUT EFI_HII_VARIABLE_PACK_LIST **VariablePackList\r |
e00e1d46 | 75 | );\r |
59336178 | 76 | \r |
77 | /**\r | |
78 | Free up all buffer allocated for the link list of UEFI_IFR_BUFFER_STORAGE_NODE.\r | |
79 | \r | |
80 | @param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE\r | |
26a76fbc LG |
81 | which contains the default values retrived from\r |
82 | a UEFI form set.\r | |
59336178 | 83 | \r |
59336178 | 84 | **/\r |
85 | VOID\r | |
86 | FreeDefaultList (\r | |
26a76fbc | 87 | IN LIST_ENTRY *ListHead\r |
e00e1d46 | 88 | );\r |
59336178 | 89 | \r |
90 | #endif\r | |
91 | \r | |
92 | \r |