]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Utility.h
0a45144cf8b4e01b59c9a1d30f16ce6d43517da5
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiToUefiHiiThunk / Utility.h
1 /**@file
2
3 This file contains utility functions by HII Thunk Modules.
4
5 Copyright (c) 2006 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _HII_THUNK_UTILITY_H
17 #define _HII_THUNK_UTILITY_H
18
19 /**
20 Find the UefiHiiHandle based on a Framework HII Handle returned by
21 the HII Thunk to Framework HII code.
22
23 @param Private The pointer to the private data of Hii Thunk.
24 @param FwHiiHandle Framework HII Handle returned by the HII Thunk to Framework HII code.
25
26 @retval NULL If Framework HII Handle passed in does not have matching UEFI HII handle.
27 @retval !NULL If the match is found.
28
29 **/
30 EFI_HII_HANDLE
31 FwHiiHandleToUefiHiiHandle (
32 IN CONST HII_THUNK_PRIVATE_DATA *Private,
33 IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
34 );
35
36 HII_THUNK_CONTEXT *
37 FwHiiHandleToThunkContext (
38 IN CONST HII_THUNK_PRIVATE_DATA *Private,
39 IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
40 );
41
42 HII_THUNK_CONTEXT *
43 UefiHiiHandleToThunkContext (
44 IN CONST HII_THUNK_PRIVATE_DATA *Private,
45 IN EFI_HII_HANDLE UefiHiiHandle
46 );
47
48 EFI_HII_HANDLE *
49 TagGuidToUefiHiiHandle (
50 IN CONST HII_THUNK_PRIVATE_DATA *Private,
51 IN CONST EFI_GUID *Guid
52 );
53
54 HII_THUNK_CONTEXT *
55 CreateThunkContextForUefiHiiHandle (
56 IN EFI_HII_HANDLE UefiHiiHandle
57 );
58
59 VOID
60 DestroyThunkContextForUefiHiiHandle (
61 IN HII_THUNK_PRIVATE_DATA *Private,
62 IN EFI_HII_HANDLE UefiHiiHandle
63 );
64
65 UINTN
66 GetPackageCountByType (
67 IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageListHeader,
68 IN UINT8 PackageType
69 );
70
71 EFI_STATUS
72 CreateQuestionIdMap (
73 IN OUT HII_THUNK_CONTEXT *ThunkContext
74 );
75
76 VOID
77 GetAttributesOfFirstFormSet (
78 IN OUT HII_THUNK_CONTEXT *ThunkContext
79 );
80
81 LIST_ENTRY *
82 GetMapEntryListHead (
83 IN CONST HII_THUNK_CONTEXT *ThunkContext,
84 IN UINT16 VarStoreId
85 );
86
87 HII_THUNK_CONTEXT *
88 CreateThunkContext (
89 IN HII_THUNK_PRIVATE_DATA *Private,
90 IN UINTN StringPackageCount,
91 IN UINTN IfrPackageCount
92 );
93
94 VOID
95 DestroyThunkContext (
96 IN HII_THUNK_CONTEXT *ThunkContext
97 );
98
99 VOID
100 DestroyQuestionIdMap (
101 IN LIST_ENTRY *QuestionIdMapListHead
102 );
103
104
105 VOID
106 DestoryOneOfOptionMap (
107 IN LIST_ENTRY *OneOfOptionMapListHead
108 );
109
110 #endif