]>
Commit | Line | Data |
---|---|---|
804405e7 | 1 | /*++ |
2 | ||
f9b8ab56 HT |
3 | Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> |
4 | This program and the accompanying materials | |
804405e7 | 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> | |
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 | ||
40 | extern EFI_DRIVER_BINDING_PROTOCOL gUnixUgaDriverBinding; | |
41 | extern 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 | 46 | typedef 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 | // | |
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 | ||
2ff79f2e | 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 | ||
804405e7 | 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 |