2 Header file for Function and Macro defintions for to extract default values from UEFI Form package.
4 Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef _HII_THUNK_UEFI_IFR_DEFAULT_
16 #define _HII_THUNK_UEFI_IFR_DEFAULT_
18 #define UEFI_IFR_BUFFER_STORAGE_NODE_FROM_LIST(a) CR(a, UEFI_IFR_BUFFER_STORAGE_NODE, List, UEFI_IFR_BUFFER_STORAGE_NODE_SIGNATURE)
19 #define UEFI_IFR_BUFFER_STORAGE_NODE_SIGNATURE SIGNATURE_32 ('I', 'b', 'S', 'n')
31 } UEFI_IFR_BUFFER_STORAGE_NODE
;
34 Get the default value for Buffer Type storage from the FormSet in ThunkContext.
36 The results can be multiple instances of UEFI_IFR_BUFFER_STORAGE_NODE.
37 They are inserted to the link list.
39 @param ThunkContext Hii thunk context.
40 @param UefiDefaults The head of link list for the output.
42 @retval EFI_SUCCESS Successful.
46 UefiIfrGetBufferTypeDefaults (
47 IN HII_THUNK_CONTEXT
*ThunkContext
,
48 OUT LIST_ENTRY
**UefiDefaults
52 Convert the UEFI Buffer Type default values to a Framework HII default
53 values specified by a EFI_HII_VARIABLE_PACK_LIST structure.
55 @param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
56 which contains the default values retrived from a UEFI form set.
57 @param DefaultMask The default mask.
58 The valid values are EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING.
59 UEFI spec only map EFI_IFR_FLAG_DEFAULT and EFI_IFR_FLAG_MANUFACTURING
60 from specification to valid default class.
61 @param UefiFormSetDefaultVarStoreId
62 ID of the default varstore in FormSet.
63 @param VariablePackList The output default value in a format defined in Framework.
65 @retval EFI_SUCCESS Successful.
66 @retval EFI_INVALID_PARAMETER The default mask is not EFI_IFR_FLAG_DEFAULT or
67 EFI_IFR_FLAG_MANUFACTURING.
70 UefiDefaultsToFwDefaults (
71 IN LIST_ENTRY
*ListHead
,
73 IN EFI_VARSTORE_ID UefiFormSetDefaultVarStoreId
,
74 OUT EFI_HII_VARIABLE_PACK_LIST
**VariablePackList
78 Free up all buffer allocated for the link list of UEFI_IFR_BUFFER_STORAGE_NODE.
80 @param ListHead The link list of UEFI_IFR_BUFFER_STORAGE_NODE
81 which contains the default values retrived from
87 IN LIST_ENTRY
*ListHead