summaryrefslogtreecommitdiff
path: root/EDK/MiniSetup/BootOnly/hiistring.h
blob: ab76d7cee1be9748a0df7795a6c484a53fa8286c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
//**                                                             **//
//**         (C)Copyright 2010, American Megatrends, Inc.        **//
//**                                                             **//
//**                     All Rights Reserved.                    **//
//**                                                             **//
//**   5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093  **//
//**                                                             **//
//**                     Phone (770)-246-8600                    **//
//**                                                             **//
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
// $Archive: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/BootOnly/hiistring.h $
//
// $Author: Premkumara $
//
// $Revision: 8 $
//
// $Date: 8/28/14 5:30a $
//
//*****************************************************************//
//*****************************************************************//
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/BootOnly/hiistring.h $
// 
// 8     8/28/14 5:30a Premkumara
// EIP-135253 Updating file name proper in #include
// 
// 7     10/18/12 5:58a Arunsb
// Updated for 2.16.1235 QA submission
// 
// 12    10/10/12 12:36p Arunsb
// Synched the source for v2.16.1232, backup with Aptio
// 
// 6     6/17/10 2:59p Madhans
// Dynamic parsing support in TSE.
// 
// 5     2/26/10 8:53p Madhans
// For TSE 2.01.1024. refer changelog.log for file checkin history .
// 
// 8     2/26/10 1:30p Madhans
// To avoid build issues with EDK.
// 
// 7     2/19/10 8:14a Mallikarjunanv
// updated year in copyright message
// 
// 6     1/09/10 5:13a Mallikarjunanv
// Updated TSE2.01 Release sources with coding standards
// 
// 5     1/04/10 10:40a Mallikarjunanv
// EIPs 27161/29095 - Added support for reserved boot option names and
// added support not to create empty boot option names
// 
// 4     8/17/09 12:19p Presannar
// Removed References to Tiano.h
// 
// 3     6/16/09 2:16p Presannar
// Added File Headers for Header Files
// 
// 2     6/12/09 7:41p Presannar
// Initial implementation of coding standards
// 
// 1     6/04/09 8:05p Madhans
// 
// 1     4/28/09 11:11p Madhans
// Tse 2.0 Code complete Checkin.
// 
// 4     4/28/09 9:39p Madhans
// Tse 2.0 Code complete Checkin.
// 
// 3     3/31/09 3:34p Madhans
// Hii string support for UEFI 2.0 or UEFI 2.1
// 
// 2     1/30/09 6:06p Madhans
// Function headers added. 
// 
// 1     12/18/08 7:58p Madhans
// Intial version of TSE Lite sources
// 
// 1     9/17/08 7:57p Madhans
// Boot Only driver after file split.
// 
// 
//*****************************************************************//
//*****************************************************************//
//<AMI_FHDR_START>
//----------------------------------------------------------------------------
//
// Name:		hiistring.h
//
// Description:	Header file for code to handle the hii sting operations
//
//----------------------------------------------------------------------------
//<AMI_FHDR_END>

#ifndef _AMIHIISTRING_H_	// DO NOT CHANGE THIS TO _HII_H_ !!  That is used by the HII Protocol header
#define	_AMIHIISTRING_H_

#ifdef TSE_FOR_APTIO_4_50
#include "Token.h" 
#else
#include "tokens.h"
#endif

#if TSE_USE_EDK_LIBRARY
#include "Tiano.h" 
#else
#include "Efi.h" 
#endif


#define	INVALID_HANDLE	((VOID*)(UINTN)-1)
#define	INVALID_TOKEN	((UINT16)-1)


UINT16 HiiAddString( /*EFI_HII_HANDLE*/VOID* handle, CHAR16 *string );
UINT16 HiiChangeStringLanguage( /*EFI_HII_HANDLE*/VOID * handle, UINT16 token, CHAR16 *lang, CHAR16 *string );
CHAR16 *HiiGetStringLanguage( /*EFI_HII_HANDLE*/VOID * handle, UINT16 token, CHAR16 *lang );
CHAR16 *GetVariableNameByID( UINT32 VariableID );
CHAR16 *GetGUIDNameByID( UINT32 VariableID );

UINTN HiiFindStrPrintBoundary ( IN CHAR16   *String, IN UINTN PrintWidth );
UINTN IsCharWide( CHAR16 strWide);

CHAR16 *SkipEscCode(CHAR16 *String);
CHAR16 *GetLanguageVariableName();
UINTN HiiGetGlyphWidth(VOID);
UINTN HiiGetGlyphHeight(VOID);
EFI_STATUS GetUnicodeCollection2Protocol(VOID **Protocol);
EFI_STATUS GetUnicodeCollectionProtocol(VOID **Protocol);
EFI_STATUS InitUnicodeCollectionProtocol(VOID **Protocol);
BOOLEAN MetaiMatch(VOID *Protocol,IN CHAR16 *String,IN CHAR16 *Pattern);
INTN StringColl(VOID *Protocol,IN CHAR16 *String1,IN CHAR16 *String2);

#endif /* _AMIHIISTRING_H_ */

//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2010, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**     5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093     **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************