]> git.proxmox.com Git - mirror_edk2.git/blame - UnixPkg/UnixUgaDxe/UnixUga.h
Update for NetworkPkg.
[mirror_edk2.git] / UnixPkg / UnixUgaDxe / UnixUga.h
CommitLineData
804405e7 1/*++
2
f9b8ab56
HT
3Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
4This program and the accompanying materials
804405e7 5are licensed and made available under the terms and conditions of the BSD License
6which accompanies this distribution. The full text of the license may be found at
7http://opensource.org/licenses/bsd-license.php
8
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12Module Name:
13
14 UnixUga.h
15
16Abstract:
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>
2ff79f2e 28#include <Protocol/SimplePointer.h>
804405e7 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
40extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding;
41extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName;
42
43#define UNIX_UGA_CLASS_NAME L"UnixUgaWindow"
44
208301e9 45#define UGA_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('S', 'g', 'o', 'N')
804405e7 46typedef struct {
47 UINT64 Signature;
48
49 EFI_HANDLE Handle;
50 EFI_UGA_DRAW_PROTOCOL UgaDraw;
51 EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn;
2ff79f2e 52 EFI_SIMPLE_POINTER_PROTOCOL SimplePointer;
804405e7 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
2ff79f2e 66 EFI_SIMPLE_POINTER_MODE PointerMode;
67
804405e7 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
2ff79f2e 85#define UGA_PRIVATE_DATA_FROM_POINTER_THIS(a) \
86 CR(a, UGA_PRIVATE_DATA, SimplePointer, UGA_PRIVATE_DATA_SIGNATURE)
87
804405e7 88//
89// Global Protocol Variables
90//
91extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding;
92extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName;
93
94//
95// Uga Hardware abstraction internal worker functions
96//
97EFI_STATUS
98UnixUgaSupported (
99 IN EFI_UNIX_IO_PROTOCOL *UnixIo
100 )
101/*++
102
103Routine Description:
104
105 TODO: Add function description
106
107Arguments:
108
109 UnixIo - TODO: add argument description
110
111Returns:
112
113 TODO: add return values
114
115--*/
116;
117
118EFI_STATUS
119UnixUgaConstructor (
120 IN UGA_PRIVATE_DATA *Private
121 )
122/*++
123
124Routine Description:
125
126 TODO: Add function description
127
128Arguments:
129
130 Private - TODO: add argument description
131
132Returns:
133
134 TODO: add return values
135
136--*/
137;
138
139EFI_STATUS
140UnixUgaDestructor (
141 IN UGA_PRIVATE_DATA *Private
142 )
143/*++
144
145Routine Description:
146
147 TODO: Add function description
148
149Arguments:
150
151 Private - TODO: add argument description
152
153Returns:
154
155 TODO: add return values
156
157--*/
158;
159
160//
161// EFI 1.1 driver model prototypes for Win UNIX UGA
162//
163
164EFI_STATUS
165EFIAPI
166UnixUgaInitialize (
167 IN EFI_HANDLE ImageHandle,
168 IN EFI_SYSTEM_TABLE *SystemTable
169 )
170/*++
171
172Routine Description:
173
174 TODO: Add function description
175
176Arguments:
177
178 ImageHandle - TODO: add argument description
179 SystemTable - TODO: add argument description
180
181Returns:
182
183 TODO: add return values
184
185--*/
186;
187
188EFI_STATUS
189EFIAPI
190UnixUgaDriverBindingSupported (
191 IN EFI_DRIVER_BINDING_PROTOCOL *This,
192 IN EFI_HANDLE Handle,
193 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
194 )
195/*++
196
197Routine Description:
198
199 TODO: Add function description
200
201Arguments:
202
203 This - TODO: add argument description
204 Handle - TODO: add argument description
205 RemainingDevicePath - TODO: add argument description
206
207Returns:
208
209 TODO: add return values
210
211--*/
212;
213
214EFI_STATUS
215EFIAPI
216UnixUgaDriverBindingStart (
217 IN EFI_DRIVER_BINDING_PROTOCOL *This,
218 IN EFI_HANDLE Handle,
219 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
220 )
221/*++
222
223Routine Description:
224
225 TODO: Add function description
226
227Arguments:
228
229 This - TODO: add argument description
230 Handle - TODO: add argument description
231 RemainingDevicePath - TODO: add argument description
232
233Returns:
234
235 TODO: add return values
236
237--*/
238;
239
240EFI_STATUS
241EFIAPI
242UnixUgaDriverBindingStop (
243 IN EFI_DRIVER_BINDING_PROTOCOL *This,
244 IN EFI_HANDLE Handle,
245 IN UINTN NumberOfChildren,
246 IN EFI_HANDLE *ChildHandleBuffer
247 )
248/*++
249
250Routine Description:
251
252 TODO: Add function description
253
254Arguments:
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
261Returns:
262
263 TODO: add return values
264
265--*/
266;
267
268EFI_STATUS
269UgaPrivateAddQ (
270 IN UGA_PRIVATE_DATA *Private,
271 IN EFI_INPUT_KEY Key
272 )
273/*++
274
275Routine Description:
276
277 TODO: Add function description
278
279Arguments:
280
281 Private - TODO: add argument description
282 Key - TODO: add argument description
283
284Returns:
285
286 TODO: add return values
287
288--*/
289;
290
291EFI_STATUS
292UnixUgaInitializeSimpleTextInForWindow (
293 IN UGA_PRIVATE_DATA *Private
294 )
295/*++
296
2ff79f2e 297Routine Description:
298
299 TODO: Add function description
300
301Arguments:
302
303 Private - TODO: add argument description
304
305Returns:
306
307 TODO: add return values
308
309--*/
310;
311
312EFI_STATUS
313UnixUgaInitializeSimplePointerForWindow (
314 IN UGA_PRIVATE_DATA *Private
315 )
316/*++
317
804405e7 318Routine Description:
319
320 TODO: Add function description
321
322Arguments:
323
324 Private - TODO: add argument description
325
326Returns:
327
328 TODO: add return values
329
330--*/
331;
332#endif