]> git.proxmox.com Git - mirror_edk2.git/blame - EdkNt32Pkg/Dxe/WinNtThunk/Bus/Console/Console.h
Obsoleted by new schema and new build tools.
[mirror_edk2.git] / EdkNt32Pkg / Dxe / WinNtThunk / Bus / Console / Console.h
CommitLineData
878ddf1f 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 Console.h\r
15\r
16Abstract:\r
17\r
18 Console based on Win32 APIs.\r
19\r
20 This file attaches a SimpleTextIn protocol to a previously open window.\r
21 \r
22 The constructor for this protocol depends on an open window. Currently\r
23 the SimpleTextOut protocol creates a window when it's constructor is called.\r
24 Thus this code must run after the constructor for the SimpleTextOut \r
25 protocol\r
26 \r
27--*/\r
28\r
29#ifndef _CONSOLE_H_\r
30#define _CONSOLE_H_\r
31\r
32\r
33\r
34#define WIN_NT_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE \\r
35 EFI_SIGNATURE_32('N','T','s','c')\r
36\r
37typedef struct {\r
38 UINT64 Signature;\r
39\r
40 EFI_HANDLE Handle;\r
41\r
42 EFI_SIMPLE_TEXT_OUT_PROTOCOL SimpleTextOut;\r
43 EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutMode;\r
44\r
45 EFI_WIN_NT_IO_PROTOCOL *WinNtIo;\r
46 EFI_WIN_NT_THUNK_PROTOCOL *WinNtThunk;\r
47\r
48 //\r
49 // SimpleTextOut Private Data including Win32 types.\r
50 //\r
51 HANDLE NtOutHandle;\r
52 HANDLE NtInHandle;\r
53\r
54 COORD MaxScreenSize;\r
55 COORD Possition;\r
56 WORD Attribute;\r
57 BOOLEAN CursorEnable;\r
58\r
59 EFI_SIMPLE_TEXT_IN_PROTOCOL SimpleTextIn;\r
60\r
61 EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
62\r
63} WIN_NT_SIMPLE_TEXT_PRIVATE_DATA;\r
64\r
65#define WIN_NT_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS(a) \\r
66 CR(a, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextOut, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE)\r
67\r
68#define WIN_NT_SIMPLE_TEXT_IN_PRIVATE_DATA_FROM_THIS(a) \\r
69 CR(a, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextIn, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE)\r
70\r
71//\r
72// Console Globale Variables\r
73//\r
74extern EFI_DRIVER_BINDING_PROTOCOL gWinNtConsoleDriverBinding;\r
75extern EFI_COMPONENT_NAME_PROTOCOL gWinNtConsoleComponentName;\r
76\r
77typedef struct {\r
78 UINTN ColumnsX;\r
79 UINTN RowsY;\r
80} WIN_NT_SIMPLE_TEXT_OUT_MODE;\r
81\r
82//\r
83// Simple Text Out protocol member functions\r
84//\r
85\r
86STATIC\r
87EFI_STATUS\r
88EFIAPI\r
89WinNtSimpleTextOutReset (\r
90 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
91 IN BOOLEAN ExtendedVerification\r
92 )\r
93/*++\r
94\r
95Routine Description:\r
96\r
97 TODO: Add function description\r
98\r
99Arguments:\r
100\r
101 This - TODO: add argument description\r
102 ExtendedVerification - TODO: add argument description\r
103\r
104Returns:\r
105\r
106 TODO: add return values\r
107\r
108--*/\r
109;\r
110\r
111STATIC\r
112EFI_STATUS\r
113EFIAPI\r
114WinNtSimpleTextOutOutputString (\r
115 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
116 IN CHAR16 *String\r
117 )\r
118/*++\r
119\r
120Routine Description:\r
121\r
122 TODO: Add function description\r
123\r
124Arguments:\r
125\r
126 This - TODO: add argument description\r
127 String - TODO: add argument description\r
128\r
129Returns:\r
130\r
131 TODO: add return values\r
132\r
133--*/\r
134;\r
135\r
136STATIC\r
137EFI_STATUS\r
138EFIAPI\r
139WinNtSimpleTextOutTestString (\r
140 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
141 IN CHAR16 *String\r
142 )\r
143/*++\r
144\r
145Routine Description:\r
146\r
147 TODO: Add function description\r
148\r
149Arguments:\r
150\r
151 This - TODO: add argument description\r
152 String - TODO: add argument description\r
153\r
154Returns:\r
155\r
156 TODO: add return values\r
157\r
158--*/\r
159;\r
160\r
161STATIC\r
162EFI_STATUS\r
163EFIAPI\r
164WinNtSimpleTextOutQueryMode (\r
165 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
166 IN UINTN ModeNumber,\r
167 OUT UINTN *Columns,\r
168 OUT UINTN *Rows\r
169 )\r
170/*++\r
171\r
172Routine Description:\r
173\r
174 TODO: Add function description\r
175\r
176Arguments:\r
177\r
178 This - TODO: add argument description\r
179 ModeNumber - TODO: add argument description\r
180 Columns - TODO: add argument description\r
181 Rows - TODO: add argument description\r
182\r
183Returns:\r
184\r
185 TODO: add return values\r
186\r
187--*/\r
188;\r
189\r
190STATIC\r
191EFI_STATUS\r
192EFIAPI\r
193WinNtSimpleTextOutSetMode (\r
194 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
195 IN UINTN ModeNumber\r
196 )\r
197/*++\r
198\r
199Routine Description:\r
200\r
201 TODO: Add function description\r
202\r
203Arguments:\r
204\r
205 This - TODO: add argument description\r
206 ModeNumber - TODO: add argument description\r
207\r
208Returns:\r
209\r
210 TODO: add return values\r
211\r
212--*/\r
213;\r
214\r
215STATIC\r
216EFI_STATUS\r
217EFIAPI\r
218WinNtSimpleTextOutSetAttribute (\r
219 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
220 IN UINTN Attribute\r
221 )\r
222/*++\r
223\r
224Routine Description:\r
225\r
226 TODO: Add function description\r
227\r
228Arguments:\r
229\r
230 This - TODO: add argument description\r
231 Attribute - TODO: add argument description\r
232\r
233Returns:\r
234\r
235 TODO: add return values\r
236\r
237--*/\r
238;\r
239\r
240STATIC\r
241EFI_STATUS\r
242EFIAPI\r
243WinNtSimpleTextOutClearScreen (\r
244 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This\r
245 )\r
246/*++\r
247\r
248Routine Description:\r
249\r
250 TODO: Add function description\r
251\r
252Arguments:\r
253\r
254 This - TODO: add argument description\r
255\r
256Returns:\r
257\r
258 TODO: add return values\r
259\r
260--*/\r
261;\r
262\r
263STATIC\r
264EFI_STATUS\r
265EFIAPI\r
266WinNtSimpleTextOutSetCursorPosition (\r
267 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
268 IN UINTN Column,\r
269 IN UINTN Row\r
270 )\r
271/*++\r
272\r
273Routine Description:\r
274\r
275 TODO: Add function description\r
276\r
277Arguments:\r
278\r
279 This - TODO: add argument description\r
280 Column - TODO: add argument description\r
281 Row - TODO: add argument description\r
282\r
283Returns:\r
284\r
285 TODO: add return values\r
286\r
287--*/\r
288;\r
289\r
290STATIC\r
291EFI_STATUS\r
292EFIAPI\r
293WinNtSimpleTextOutEnableCursor (\r
294 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
295 IN BOOLEAN Enable\r
296 )\r
297/*++\r
298\r
299Routine Description:\r
300\r
301 TODO: Add function description\r
302\r
303Arguments:\r
304\r
305 This - TODO: add argument description\r
306 Enable - TODO: add argument description\r
307\r
308Returns:\r
309\r
310 TODO: add return values\r
311\r
312--*/\r
313;\r
314\r
315//\r
316// Simple Text Out constructor and destructor.\r
317//\r
318EFI_STATUS\r
319WinNtSimpleTextOutOpenWindow (\r
320 IN OUT WIN_NT_SIMPLE_TEXT_PRIVATE_DATA *Private\r
321 )\r
322/*++\r
323\r
324Routine Description:\r
325\r
326 TODO: Add function description\r
327\r
328Arguments:\r
329\r
330 Private - TODO: add argument description\r
331\r
332Returns:\r
333\r
334 TODO: add return values\r
335\r
336--*/\r
337;\r
338\r
339EFI_STATUS\r
340WinNtSimpleTextOutCloseWindow (\r
341 IN OUT WIN_NT_SIMPLE_TEXT_PRIVATE_DATA *Console\r
342 )\r
343/*++\r
344\r
345Routine Description:\r
346\r
347 TODO: Add function description\r
348\r
349Arguments:\r
350\r
351 Console - TODO: add argument description\r
352\r
353Returns:\r
354\r
355 TODO: add return values\r
356\r
357--*/\r
358;\r
359\r
360//\r
361// Simple Text In protocol member functions.\r
362//\r
363STATIC\r
364EFI_STATUS\r
365EFIAPI\r
366WinNtSimpleTextInReset (\r
367 IN EFI_SIMPLE_TEXT_IN_PROTOCOL *This,\r
368 IN BOOLEAN ExtendedVerification\r
369 )\r
370/*++\r
371\r
372Routine Description:\r
373\r
374 TODO: Add function description\r
375\r
376Arguments:\r
377\r
378 This - TODO: add argument description\r
379 ExtendedVerification - TODO: add argument description\r
380\r
381Returns:\r
382\r
383 TODO: add return values\r
384\r
385--*/\r
386;\r
387\r
388STATIC\r
389EFI_STATUS\r
390EFIAPI\r
391WinNtSimpleTextInReadKeyStroke (\r
392 IN EFI_SIMPLE_TEXT_IN_PROTOCOL *This,\r
393 OUT EFI_INPUT_KEY *Key\r
394 )\r
395/*++\r
396\r
397Routine Description:\r
398\r
399 TODO: Add function description\r
400\r
401Arguments:\r
402\r
403 This - TODO: add argument description\r
404 Key - TODO: add argument description\r
405\r
406Returns:\r
407\r
408 TODO: add return values\r
409\r
410--*/\r
411;\r
412\r
413STATIC\r
414VOID\r
415EFIAPI\r
416WinNtSimpleTextInWaitForKey (\r
417 IN EFI_EVENT Event,\r
418 IN VOID *Context\r
419 )\r
420/*++\r
421\r
422Routine Description:\r
423\r
424 TODO: Add function description\r
425\r
426Arguments:\r
427\r
428 Event - TODO: add argument description\r
429 Context - TODO: add argument description\r
430\r
431Returns:\r
432\r
433 TODO: add return values\r
434\r
435--*/\r
436;\r
437\r
438//\r
439// Simple Text In constructor\r
440//\r
441EFI_STATUS\r
442WinNtSimpleTextInAttachToWindow (\r
443 IN WIN_NT_SIMPLE_TEXT_PRIVATE_DATA *Private\r
444 )\r
445/*++\r
446\r
447Routine Description:\r
448\r
449 TODO: Add function description\r
450\r
451Arguments:\r
452\r
453 Private - TODO: add argument description\r
454\r
455Returns:\r
456\r
457 TODO: add return values\r
458\r
459--*/\r
460;\r
461\r
462//\r
463// Main Entry Point\r
464//\r
465EFI_STATUS\r
466EFIAPI\r
467InitializeWinNtConsole (\r
468 IN EFI_HANDLE ImageHandle,\r
469 IN EFI_SYSTEM_TABLE *SystemTable\r
470 )\r
471/*++\r
472\r
473Routine Description:\r
474\r
475 TODO: Add function description\r
476\r
477Arguments:\r
478\r
479 ImageHandle - TODO: add argument description\r
480 SystemTable - TODO: add argument description\r
481\r
482Returns:\r
483\r
484 TODO: add return values\r
485\r
486--*/\r
487;\r
488\r
489EFI_STATUS\r
490AppendDevicePathInstanceToVar (\r
491 IN CHAR16 *VariableName,\r
492 IN EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance\r
493 )\r
494/*++\r
495\r
496Routine Description:\r
497\r
498 TODO: Add function description\r
499\r
500Arguments:\r
501\r
502 VariableName - TODO: add argument description\r
503 DevicePathInstance - TODO: add argument description\r
504\r
505Returns:\r
506\r
507 TODO: add return values\r
508\r
509--*/\r
510;\r
511\r
512#endif\r