3 This file contains utility functions by HII Thunk Modules.
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
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.
16 #ifndef _HII_THUNK_UTILITY_H
17 #define _HII_THUNK_UTILITY_H
20 Find the UefiHiiHandle based on a Framework HII Handle returned by
21 the HII Thunk to Framework HII code.
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.
26 @retval NULL If Framework HII Handle passed in does not have matching UEFI HII handle.
27 @retval !NULL If the match is found.
31 FwHiiHandleToUefiHiiHandle (
32 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
33 IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
38 FwHiiHandleToThunkContext (
39 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
40 IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
45 UefiHiiHandleToThunkContext (
46 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
47 IN EFI_HII_HANDLE UefiHiiHandle
52 TagGuidToUefiHiiHandle (
53 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
54 IN CONST EFI_GUID
*Guid
59 CreateThunkContextForUefiHiiHandle (
60 IN EFI_HII_HANDLE UefiHiiHandle
65 DestroyThunkContextForUefiHiiHandle (
66 IN HII_THUNK_PRIVATE_DATA
*Private
,
67 IN EFI_HII_HANDLE UefiHiiHandle
72 GetPackageCountByType (
73 IN CONST EFI_HII_PACKAGE_LIST_HEADER
*PackageListHeader
,
80 IN OUT HII_THUNK_CONTEXT
*ThunkContext
85 GetAttributesOfFirstFormSet (
86 IN OUT HII_THUNK_CONTEXT
*ThunkContext
92 IN CONST HII_THUNK_CONTEXT
*ThunkContext
,
99 IN HII_THUNK_PRIVATE_DATA
*Private
,
100 IN UINTN StringPackageCount
,
101 IN UINTN IfrPackageCount
106 DestroyThunkContext (
107 IN HII_THUNK_CONTEXT
*ThunkContext
112 DestroyQuestionIdMap (
113 IN LIST_ENTRY
*QuestionIdMapListHead
119 DestoryOneOfOptionMap (
120 IN LIST_ENTRY
*OneOfOptionMapListHead