]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/UefiIfrDefault.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiOnUefiHiiThunk / 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
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 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
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
45EFI_STATUS\r
46UefiIfrGetBufferTypeDefaults (\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 69EFI_STATUS\r
0368663f 70UefiDefaultsToFwDefaults (\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
85VOID\r
86FreeDefaultList (\r
26a76fbc 87 IN LIST_ENTRY *ListHead\r
e00e1d46 88 );\r
59336178 89\r
90#endif\r
91\r
92\r