]> git.proxmox.com Git - mirror_edk2.git/blob - UnixPkg/UnixUgaDxe/UnixUga.h
Update for NetworkPkg.
[mirror_edk2.git] / UnixPkg / UnixUgaDxe / UnixUga.h
1 /*++
2
3 Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 UnixUga.h
15
16 Abstract:
17
18 Private data for the Uga driver that is bound to the Unix Thunk protocol
19
20 --*/
21
22 #ifndef _UNIX_UGA_H_
23 #define _UNIX_UGA_H_
24
25 #include "PiDxe.h"
26 #include <Guid/EventGroup.h>
27 #include <Protocol/SimpleTextIn.h>
28 #include <Protocol/SimplePointer.h>
29 #include <Protocol/UgaDraw.h>
30 #include "Protocol/UnixUgaIo.h"
31 #include <Library/DebugLib.h>
32 #include <Library/BaseLib.h>
33 #include <Library/UefiDriverEntryPoint.h>
34 #include <Library/UefiLib.h>
35 #include <Library/BaseMemoryLib.h>
36 #include <Library/MemoryAllocationLib.h>
37 #include <Library/UefiBootServicesTableLib.h>
38 #include "UnixDxe.h"
39
40 extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding;
41 extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName;
42
43 #define UNIX_UGA_CLASS_NAME L"UnixUgaWindow"
44
45 #define UGA_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('S', 'g', 'o', 'N')
46 typedef struct {
47 UINT64 Signature;
48
49 EFI_HANDLE Handle;
50 EFI_UGA_DRAW_PROTOCOL UgaDraw;
51 EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn;
52 EFI_SIMPLE_POINTER_PROTOCOL SimplePointer;
53
54 EFI_UNIX_THUNK_PROTOCOL *UnixThunk;
55
56 EFI_UNICODE_STRING_TABLE *ControllerNameTable;
57
58 //
59 // UGA Private Data for GetMode ()
60 //
61 UINT32 HorizontalResolution;
62 UINT32 VerticalResolution;
63 UINT32 ColorDepth;
64 UINT32 RefreshRate;
65
66 EFI_SIMPLE_POINTER_MODE PointerMode;
67
68 //
69 // UGA Private Data knowing when to start hardware
70 //
71 BOOLEAN HardwareNeedsStarting;
72
73 CHAR16 *WindowName;
74
75 EFI_UNIX_UGA_IO_PROTOCOL *UgaIo;
76
77 } UGA_PRIVATE_DATA;
78
79 #define UGA_DRAW_PRIVATE_DATA_FROM_THIS(a) \
80 CR(a, UGA_PRIVATE_DATA, UgaDraw, UGA_PRIVATE_DATA_SIGNATURE)
81
82 #define UGA_PRIVATE_DATA_FROM_TEXT_IN_THIS(a) \
83 CR(a, UGA_PRIVATE_DATA, SimpleTextIn, UGA_PRIVATE_DATA_SIGNATURE)
84
85 #define UGA_PRIVATE_DATA_FROM_POINTER_THIS(a) \
86 CR(a, UGA_PRIVATE_DATA, SimplePointer, UGA_PRIVATE_DATA_SIGNATURE)
87
88 //
89 // Global Protocol Variables
90 //
91 extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding;
92 extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName;
93
94 //
95 // Uga Hardware abstraction internal worker functions
96 //
97 EFI_STATUS
98 UnixUgaSupported (
99 IN EFI_UNIX_IO_PROTOCOL *UnixIo
100 )
101 /*++
102
103 Routine Description:
104
105 TODO: Add function description
106
107 Arguments:
108
109 UnixIo - TODO: add argument description
110
111 Returns:
112
113 TODO: add return values
114
115 --*/
116 ;
117
118 EFI_STATUS
119 UnixUgaConstructor (
120 IN UGA_PRIVATE_DATA *Private
121 )
122 /*++
123
124 Routine Description:
125
126 TODO: Add function description
127
128 Arguments:
129
130 Private - TODO: add argument description
131
132 Returns:
133
134 TODO: add return values
135
136 --*/
137 ;
138
139 EFI_STATUS
140 UnixUgaDestructor (
141 IN UGA_PRIVATE_DATA *Private
142 )
143 /*++
144
145 Routine Description:
146
147 TODO: Add function description
148
149 Arguments:
150
151 Private - TODO: add argument description
152
153 Returns:
154
155 TODO: add return values
156
157 --*/
158 ;
159
160 //
161 // EFI 1.1 driver model prototypes for Win UNIX UGA
162 //
163
164 EFI_STATUS
165 EFIAPI
166 UnixUgaInitialize (
167 IN EFI_HANDLE ImageHandle,
168 IN EFI_SYSTEM_TABLE *SystemTable
169 )
170 /*++
171
172 Routine Description:
173
174 TODO: Add function description
175
176 Arguments:
177
178 ImageHandle - TODO: add argument description
179 SystemTable - TODO: add argument description
180
181 Returns:
182
183 TODO: add return values
184
185 --*/
186 ;
187
188 EFI_STATUS
189 EFIAPI
190 UnixUgaDriverBindingSupported (
191 IN EFI_DRIVER_BINDING_PROTOCOL *This,
192 IN EFI_HANDLE Handle,
193 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
194 )
195 /*++
196
197 Routine Description:
198
199 TODO: Add function description
200
201 Arguments:
202
203 This - TODO: add argument description
204 Handle - TODO: add argument description
205 RemainingDevicePath - TODO: add argument description
206
207 Returns:
208
209 TODO: add return values
210
211 --*/
212 ;
213
214 EFI_STATUS
215 EFIAPI
216 UnixUgaDriverBindingStart (
217 IN EFI_DRIVER_BINDING_PROTOCOL *This,
218 IN EFI_HANDLE Handle,
219 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
220 )
221 /*++
222
223 Routine Description:
224
225 TODO: Add function description
226
227 Arguments:
228
229 This - TODO: add argument description
230 Handle - TODO: add argument description
231 RemainingDevicePath - TODO: add argument description
232
233 Returns:
234
235 TODO: add return values
236
237 --*/
238 ;
239
240 EFI_STATUS
241 EFIAPI
242 UnixUgaDriverBindingStop (
243 IN EFI_DRIVER_BINDING_PROTOCOL *This,
244 IN EFI_HANDLE Handle,
245 IN UINTN NumberOfChildren,
246 IN EFI_HANDLE *ChildHandleBuffer
247 )
248 /*++
249
250 Routine Description:
251
252 TODO: Add function description
253
254 Arguments:
255
256 This - TODO: add argument description
257 Handle - TODO: add argument description
258 NumberOfChildren - TODO: add argument description
259 ChildHandleBuffer - TODO: add argument description
260
261 Returns:
262
263 TODO: add return values
264
265 --*/
266 ;
267
268 EFI_STATUS
269 UgaPrivateAddQ (
270 IN UGA_PRIVATE_DATA *Private,
271 IN EFI_INPUT_KEY Key
272 )
273 /*++
274
275 Routine Description:
276
277 TODO: Add function description
278
279 Arguments:
280
281 Private - TODO: add argument description
282 Key - TODO: add argument description
283
284 Returns:
285
286 TODO: add return values
287
288 --*/
289 ;
290
291 EFI_STATUS
292 UnixUgaInitializeSimpleTextInForWindow (
293 IN UGA_PRIVATE_DATA *Private
294 )
295 /*++
296
297 Routine Description:
298
299 TODO: Add function description
300
301 Arguments:
302
303 Private - TODO: add argument description
304
305 Returns:
306
307 TODO: add return values
308
309 --*/
310 ;
311
312 EFI_STATUS
313 UnixUgaInitializeSimplePointerForWindow (
314 IN UGA_PRIVATE_DATA *Private
315 )
316 /*++
317
318 Routine Description:
319
320 TODO: Add function description
321
322 Arguments:
323
324 Private - TODO: add argument description
325
326 Returns:
327
328 TODO: add return values
329
330 --*/
331 ;
332 #endif