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 GetGuidOfFirstFormset (
21 CONST EFI_HII_FORM_PACKAGE
* FormPackage
25 Find the UefiHiiHandle based on a Framework HII Handle returned by
26 the HII Thunk to Framework HII code.
28 @param Private The pointer to the private data of Hii Thunk.
29 @param FwHiiHandle Framework HII Handle returned by the HII Thunk to Framework HII code.
31 @retval NULL If Framework HII Handle passed in does not have matching UEFI HII handle.
32 @retval !NULL If the match is found.
36 FwHiiHandleToUefiHiiHandle (
37 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
38 IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
43 FwHiiHandleToThunkContext (
44 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
45 IN FRAMEWORK_EFI_HII_HANDLE FwHiiHandle
50 UefiHiiHandleToThunkContext (
51 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
52 IN EFI_HII_HANDLE UefiHiiHandle
57 TagGuidToUefiHiiHandle (
58 IN CONST HII_THUNK_PRIVATE_DATA
*Private
,
59 IN CONST EFI_GUID
*Guid
64 AssignFrameworkHiiHandle (
65 IN OUT HII_THUNK_PRIVATE_DATA
*Private
,
66 IN BOOLEAN FromFwHiiNewPack
,
67 OUT FRAMEWORK_EFI_HII_HANDLE
*Handle
72 CreateThunkContextForUefiHiiHandle (
73 IN EFI_HII_HANDLE UefiHiiHandle
78 DestroyThunkContextForUefiHiiHandle (
79 IN HII_THUNK_PRIVATE_DATA
*Private
,
80 IN EFI_HII_HANDLE UefiHiiHandle
85 GetPackageCountByType (
86 IN CONST EFI_HII_PACKAGE_LIST_HEADER
*PackageListHeader
,
93 IN OUT HII_THUNK_CONTEXT
*ThunkContext
99 IN CONST HII_THUNK_CONTEXT
*ThunkContext
,
106 IN HII_THUNK_PRIVATE_DATA
*Private
,
107 IN UINTN StringPackageCount
,
108 IN UINTN IfrPackageCount
113 DestroyThunkContext (
114 IN HII_THUNK_CONTEXT
*ThunkContext
119 DestroyQuestionIdMap (
120 IN LIST_ENTRY
*QuestionIdMapListHead
126 DestoryOneOfOptionMap (
127 IN LIST_ENTRY
*OneOfOptionMapListHead