]> git.proxmox.com Git - mirror_edk2.git/blame - UnixPkg/UnixUgaDxe/UnixUga.h
Update the copyright notice format
[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>
28#include <Protocol/UgaDraw.h>
29#include "Protocol/UnixUgaIo.h"
30#include <Library/DebugLib.h>
31#include <Library/BaseLib.h>
32#include <Library/UefiDriverEntryPoint.h>
33#include <Library/UefiLib.h>
34#include <Library/BaseMemoryLib.h>
35#include <Library/MemoryAllocationLib.h>
36#include <Library/UefiBootServicesTableLib.h>
37#include "UnixDxe.h"
38
39extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding;
40extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName;
41
42#define UNIX_UGA_CLASS_NAME L"UnixUgaWindow"
43
208301e9 44#define UGA_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('S', 'g', 'o', 'N')
804405e7 45typedef struct {
46 UINT64 Signature;
47
48 EFI_HANDLE Handle;
49 EFI_UGA_DRAW_PROTOCOL UgaDraw;
50 EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn;
51
52 EFI_UNIX_THUNK_PROTOCOL *UnixThunk;
53
54 EFI_UNICODE_STRING_TABLE *ControllerNameTable;
55
56 //
57 // UGA Private Data for GetMode ()
58 //
59 UINT32 HorizontalResolution;
60 UINT32 VerticalResolution;
61 UINT32 ColorDepth;
62 UINT32 RefreshRate;
63
64 //
65 // UGA Private Data knowing when to start hardware
66 //
67 BOOLEAN HardwareNeedsStarting;
68
69 CHAR16 *WindowName;
70
71 EFI_UNIX_UGA_IO_PROTOCOL *UgaIo;
72
73} UGA_PRIVATE_DATA;
74
75#define UGA_DRAW_PRIVATE_DATA_FROM_THIS(a) \
76 CR(a, UGA_PRIVATE_DATA, UgaDraw, UGA_PRIVATE_DATA_SIGNATURE)
77
78#define UGA_PRIVATE_DATA_FROM_TEXT_IN_THIS(a) \
79 CR(a, UGA_PRIVATE_DATA, SimpleTextIn, UGA_PRIVATE_DATA_SIGNATURE)
80
81//
82// Global Protocol Variables
83//
84extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding;
85extern EFI_COMPONENT_NAME_PROTOCOL gUnixUgaComponentName;
86
87//
88// Uga Hardware abstraction internal worker functions
89//
90EFI_STATUS
91UnixUgaSupported (
92 IN EFI_UNIX_IO_PROTOCOL *UnixIo
93 )
94/*++
95
96Routine Description:
97
98 TODO: Add function description
99
100Arguments:
101
102 UnixIo - TODO: add argument description
103
104Returns:
105
106 TODO: add return values
107
108--*/
109;
110
111EFI_STATUS
112UnixUgaConstructor (
113 IN UGA_PRIVATE_DATA *Private
114 )
115/*++
116
117Routine Description:
118
119 TODO: Add function description
120
121Arguments:
122
123 Private - TODO: add argument description
124
125Returns:
126
127 TODO: add return values
128
129--*/
130;
131
132EFI_STATUS
133UnixUgaDestructor (
134 IN UGA_PRIVATE_DATA *Private
135 )
136/*++
137
138Routine Description:
139
140 TODO: Add function description
141
142Arguments:
143
144 Private - TODO: add argument description
145
146Returns:
147
148 TODO: add return values
149
150--*/
151;
152
153//
154// EFI 1.1 driver model prototypes for Win UNIX UGA
155//
156
157EFI_STATUS
158EFIAPI
159UnixUgaInitialize (
160 IN EFI_HANDLE ImageHandle,
161 IN EFI_SYSTEM_TABLE *SystemTable
162 )
163/*++
164
165Routine Description:
166
167 TODO: Add function description
168
169Arguments:
170
171 ImageHandle - TODO: add argument description
172 SystemTable - TODO: add argument description
173
174Returns:
175
176 TODO: add return values
177
178--*/
179;
180
181EFI_STATUS
182EFIAPI
183UnixUgaDriverBindingSupported (
184 IN EFI_DRIVER_BINDING_PROTOCOL *This,
185 IN EFI_HANDLE Handle,
186 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
187 )
188/*++
189
190Routine Description:
191
192 TODO: Add function description
193
194Arguments:
195
196 This - TODO: add argument description
197 Handle - TODO: add argument description
198 RemainingDevicePath - TODO: add argument description
199
200Returns:
201
202 TODO: add return values
203
204--*/
205;
206
207EFI_STATUS
208EFIAPI
209UnixUgaDriverBindingStart (
210 IN EFI_DRIVER_BINDING_PROTOCOL *This,
211 IN EFI_HANDLE Handle,
212 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
213 )
214/*++
215
216Routine Description:
217
218 TODO: Add function description
219
220Arguments:
221
222 This - TODO: add argument description
223 Handle - TODO: add argument description
224 RemainingDevicePath - TODO: add argument description
225
226Returns:
227
228 TODO: add return values
229
230--*/
231;
232
233EFI_STATUS
234EFIAPI
235UnixUgaDriverBindingStop (
236 IN EFI_DRIVER_BINDING_PROTOCOL *This,
237 IN EFI_HANDLE Handle,
238 IN UINTN NumberOfChildren,
239 IN EFI_HANDLE *ChildHandleBuffer
240 )
241/*++
242
243Routine Description:
244
245 TODO: Add function description
246
247Arguments:
248
249 This - TODO: add argument description
250 Handle - TODO: add argument description
251 NumberOfChildren - TODO: add argument description
252 ChildHandleBuffer - TODO: add argument description
253
254Returns:
255
256 TODO: add return values
257
258--*/
259;
260
261EFI_STATUS
262UgaPrivateAddQ (
263 IN UGA_PRIVATE_DATA *Private,
264 IN EFI_INPUT_KEY Key
265 )
266/*++
267
268Routine Description:
269
270 TODO: Add function description
271
272Arguments:
273
274 Private - TODO: add argument description
275 Key - TODO: add argument description
276
277Returns:
278
279 TODO: add return values
280
281--*/
282;
283
284EFI_STATUS
285UnixUgaInitializeSimpleTextInForWindow (
286 IN UGA_PRIVATE_DATA *Private
287 )
288/*++
289
290Routine Description:
291
292 TODO: Add function description
293
294Arguments:
295
296 Private - TODO: add argument description
297
298Returns:
299
300 TODO: add return values
301
302--*/
303;
304#endif