summaryrefslogtreecommitdiff
path: root/Include/Protocol/HiiString.h
blob: d579daf9a1a68f2bf6730e07bdb050d1c6385b78 (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
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2009, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************

//**********************************************************************
// $Header: /Alaska/BIN/Core/Include/Protocol/HiiString.h 3     5/23/12 3:51p Artems $
//
// $Revision: 3 $
//
// $Date: 5/23/12 3:51p $
//**********************************************************************
// Revision History
// ----------------
// $Log: /Alaska/BIN/Core/Include/Protocol/HiiString.h $
// 
// 3     5/23/12 3:51p Artems
// [TAG]  		EIP N/A
// [Category]  	Spec Update
// [Severity]  	Minor
// [Description]  	Change in input parameter of protocol function
// [Files]  		HiiString.h
// 
// 2     10/13/09 6:06p Felixp
// Hii.h renamed to UefiHii.h
// 
// 1     10/09/09 3:52p Felixp
// 
// 1     2/27/09 3:55p Artems
// Initial check-in
// 
// 1     3/18/07 5:23p Felixp
// 
//**********************************************************************
//<AMI_FHDR_START>
//
// Name:	<HiiString.h>
//
// Description:	Hii String protocol header file
//
//<AMI_FHDR_END>
//**********************************************************************
#ifndef __HII_STRING__H__
#define __HII_STRING__H__
#ifdef __cplusplus
extern "C" {
#endif

#include <UefiHii.h>

#define EFI_HII_STRING_PROTOCOL_GUID \
    { 0xfd96974, 0x23aa, 0x4cdc, 0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a }

GUID_VARIABLE_DECLARATION(gEfiHiiStringProtocolGuid, EFI_HII_STRING_PROTOCOL_GUID);

typedef struct _EFI_HII_STRING_PROTOCOL EFI_HII_STRING_PROTOCOL;

typedef EFI_STATUS
(EFIAPI *EFI_HII_NEW_STRING) (
	IN CONST EFI_HII_STRING_PROTOCOL *This,
	IN EFI_HII_HANDLE				 PackageList,
	OUT EFI_STRING_ID				 *StringId,
	IN CONST CHAR8					 *Language,
	IN CONST CHAR16					 *LanguageName OPTIONAL,
	IN CONST EFI_STRING				 String,
	IN CONST EFI_FONT_INFO			 *StringFontInfo
);

typedef EFI_STATUS
(EFIAPI *EFI_HII_GET_STRING) (
	IN CONST EFI_HII_STRING_PROTOCOL *This,
	IN CONST CHAR8					 *Language,
	IN EFI_HII_HANDLE				 PackageList,
	IN EFI_STRING_ID				 StringId,
	OUT EFI_STRING					 String,
	IN OUT UINTN					 *StringSize,
	OUT EFI_FONT_INFO				 **StringFontInfo OPTIONAL
);

typedef EFI_STATUS
(EFIAPI *EFI_HII_SET_STRING) (
	IN CONST EFI_HII_STRING_PROTOCOL *This,
	IN EFI_HII_HANDLE				 PackageList,
	IN EFI_STRING_ID				 StringId,
	IN CONST CHAR8					 *Language,
	IN CONST EFI_STRING				 String,
	IN CONST EFI_FONT_INFO			 *StringFontInfo OPTIONAL
);

typedef EFI_STATUS
(EFIAPI *EFI_HII_GET_LANGUAGES) (
	IN CONST EFI_HII_STRING_PROTOCOL *This,
	IN EFI_HII_HANDLE				 PackageList,
	IN OUT CHAR8					 *Languages,
	IN OUT UINTN					 *LanguagesSize
);

typedef EFI_STATUS
(EFIAPI *EFI_HII_GET_2ND_LANGUAGES) (
	IN CONST EFI_HII_STRING_PROTOCOL *This,
	IN EFI_HII_HANDLE				 PackageList,
	IN CONST CHAR8*					 FirstLanguage,
	IN OUT CHAR8					 *SecondLanguages,
	IN OUT UINTN					 *SecondLanguagesSize
);

struct _EFI_HII_STRING_PROTOCOL {
	EFI_HII_NEW_STRING NewString;
	EFI_HII_GET_STRING GetString;
	EFI_HII_SET_STRING SetString;
	EFI_HII_GET_LANGUAGES GetLanguages;
	EFI_HII_GET_2ND_LANGUAGES GetSecondaryLanguages;
};

/****** DO NOT WRITE BELOW THIS LINE *******/
#ifdef __cplusplus
}
#endif
#endif
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2009, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************