]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClass.h
1) Remove Protocol/AcpiS3Save.h from IntelFrameworkPkg, which should be defined in...
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / Console / VgaClassDxe / VgaClass.h
CommitLineData
e081218d 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation. All rights reserved. \r
4This software and associated documentation (if any) is furnished\r
5under a license and may only be used or copied in accordance\r
6with the terms of the license. Except as permitted by such\r
7license, no part of this software or documentation may be\r
8reproduced, stored in a retrieval system, or transmitted in any\r
9form or by any means without the express written consent of\r
10Intel Corporation.\r
11\r
12\r
13Module Name:\r
14\r
15 VgaClass.h\r
16 \r
17Abstract: \r
18 \r
19\r
20Revision History\r
21--*/\r
22\r
23#ifndef _VGA_CLASS_H\r
24#define _VGA_CLASS_H\r
25\r
26#include <PiDxe.h>\r
27#include <FrameworkDxe.h>\r
ed7748fe 28\r
e081218d 29#include <Protocol/SimpleTextIn.h>\r
30#include <Protocol/SimpleTextOut.h>\r
31#include <Protocol/PciIo.h>\r
32#include <Protocol/VgaMiniPort.h>\r
33#include <Protocol/DevicePath.h>\r
ed7748fe 34\r
e081218d 35#include <Library/DebugLib.h>\r
36#include <Library/UefiDriverEntryPoint.h>\r
37#include <Library/BaseLib.h>\r
38#include <Library/UefiLib.h>\r
39#include <Library/DevicePathLib.h>\r
40#include <Library/BaseMemoryLib.h>\r
41#include <Library/MemoryAllocationLib.h>\r
42#include <Library/UefiBootServicesTableLib.h>\r
43#include <Library/ReportStatusCodeLib.h>\r
44\r
45\r
46#include <IndustryStandard/Pci22.h>\r
47#include "ComponentName.h"\r
48#include <Protocol/VgaMiniPort.h>\r
49\r
50//\r
51// VGA specific registers\r
52//\r
53#define CRTC_CURSOR_START 0xA\r
54#define CRTC_CURSOR_END 0xB\r
55\r
56#define CRTC_CURSOR_LOCATION_HIGH 0xE\r
57#define CRTC_CURSOR_LOCATION_LOW 0xF\r
58\r
59#define EFI_MAX_ATTRIBUTE 0x7f\r
60\r
61//\r
62// VGA Class Device Structure\r
63//\r
64#define VGA_CLASS_DEV_SIGNATURE EFI_SIGNATURE_32 ('V', 'G', 'A', 'C')\r
65\r
66typedef struct {\r
67 UINTN Signature;\r
68 EFI_HANDLE Handle;\r
69 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SimpleTextOut;\r
70 EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutputMode;\r
71 EFI_VGA_MINI_PORT_PROTOCOL *VgaMiniPort;\r
72 EFI_PCI_IO_PROTOCOL *PciIo;\r
73 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
74} VGA_CLASS_DEV;\r
75\r
76#define VGA_CLASS_DEV_FROM_THIS(a) CR (a, VGA_CLASS_DEV, SimpleTextOut, VGA_CLASS_DEV_SIGNATURE)\r
77\r
78//\r
79// Global Variables\r
80//\r
81extern EFI_DRIVER_BINDING_PROTOCOL gVgaClassDriverBinding;\r
82\r
83//\r
84// Driver Binding Protocol functions\r
85//\r
86EFI_STATUS\r
87EFIAPI\r
88VgaClassDriverBindingSupported (\r
89 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
90 IN EFI_HANDLE Controller,\r
91 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
92 )\r
93/*++\r
94\r
95Routine Description:\r
96\r
97 GC_TODO: Add function description\r
98\r
99Arguments:\r
100\r
101 This - GC_TODO: add argument description\r
102 Controller - GC_TODO: add argument description\r
103 RemainingDevicePath - GC_TODO: add argument description\r
104\r
105Returns:\r
106\r
107 GC_TODO: add return values\r
108\r
109--*/\r
110;\r
111\r
112EFI_STATUS\r
113EFIAPI\r
114VgaClassDriverBindingStart (\r
115 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
116 IN EFI_HANDLE Controller,\r
117 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
118 )\r
119/*++\r
120\r
121Routine Description:\r
122\r
123 GC_TODO: Add function description\r
124\r
125Arguments:\r
126\r
127 This - GC_TODO: add argument description\r
128 Controller - GC_TODO: add argument description\r
129 RemainingDevicePath - GC_TODO: add argument description\r
130\r
131Returns:\r
132\r
133 GC_TODO: add return values\r
134\r
135--*/\r
136;\r
137\r
138EFI_STATUS\r
139EFIAPI\r
140VgaClassDriverBindingStop (\r
141 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
142 IN EFI_HANDLE Controller,\r
143 IN UINTN NumberOfChildren,\r
144 IN EFI_HANDLE *ChildHandleBuffer\r
145 )\r
146/*++\r
147\r
148Routine Description:\r
149\r
150 GC_TODO: Add function description\r
151\r
152Arguments:\r
153\r
154 This - GC_TODO: add argument description\r
155 Controller - GC_TODO: add argument description\r
156 NumberOfChildren - GC_TODO: add argument description\r
157 ChildHandleBuffer - GC_TODO: add argument description\r
158\r
159Returns:\r
160\r
161 GC_TODO: add return values\r
162\r
163--*/\r
164;\r
165\r
166//\r
167// Simple Text Output Protocol functions\r
168//\r
169EFI_STATUS\r
170EFIAPI\r
171VgaClassReset (\r
172 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
173 IN BOOLEAN ExtendedVerification\r
174 )\r
175/*++\r
176\r
177Routine Description:\r
178\r
179 GC_TODO: Add function description\r
180\r
181Arguments:\r
182\r
183 This - GC_TODO: add argument description\r
184 ExtendedVerification - GC_TODO: add argument description\r
185\r
186Returns:\r
187\r
188 GC_TODO: add return values\r
189\r
190--*/\r
191;\r
192\r
193EFI_STATUS\r
194EFIAPI\r
195VgaClassOutputString (\r
196 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
197 IN CHAR16 *WString\r
198 )\r
199/*++\r
200\r
201Routine Description:\r
202\r
203 GC_TODO: Add function description\r
204\r
205Arguments:\r
206\r
207 This - GC_TODO: add argument description\r
208 WString - GC_TODO: add argument description\r
209\r
210Returns:\r
211\r
212 GC_TODO: add return values\r
213\r
214--*/\r
215;\r
216\r
217EFI_STATUS\r
218EFIAPI\r
219VgaClassTestString (\r
220 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
221 IN CHAR16 *WString\r
222 )\r
223/*++\r
224\r
225Routine Description:\r
226\r
227 GC_TODO: Add function description\r
228\r
229Arguments:\r
230\r
231 This - GC_TODO: add argument description\r
232 WString - GC_TODO: add argument description\r
233\r
234Returns:\r
235\r
236 GC_TODO: add return values\r
237\r
238--*/\r
239;\r
240\r
241EFI_STATUS\r
242EFIAPI\r
243VgaClassClearScreen (\r
244 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This\r
245 )\r
246/*++\r
247\r
248Routine Description:\r
249\r
250 GC_TODO: Add function description\r
251\r
252Arguments:\r
253\r
254 This - GC_TODO: add argument description\r
255\r
256Returns:\r
257\r
258 GC_TODO: add return values\r
259\r
260--*/\r
261;\r
262\r
263EFI_STATUS\r
264EFIAPI\r
265VgaClassSetAttribute (\r
266 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
267 IN UINTN Attribute\r
268 )\r
269/*++\r
270\r
271Routine Description:\r
272\r
273 GC_TODO: Add function description\r
274\r
275Arguments:\r
276\r
277 This - GC_TODO: add argument description\r
278 Attribute - GC_TODO: add argument description\r
279\r
280Returns:\r
281\r
282 GC_TODO: add return values\r
283\r
284--*/\r
285;\r
286\r
287EFI_STATUS\r
288EFIAPI\r
289VgaClassSetCursorPosition (\r
290 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
291 IN UINTN Column,\r
292 IN UINTN Row\r
293 )\r
294/*++\r
295\r
296Routine Description:\r
297\r
298 GC_TODO: Add function description\r
299\r
300Arguments:\r
301\r
302 This - GC_TODO: add argument description\r
303 Column - GC_TODO: add argument description\r
304 Row - GC_TODO: add argument description\r
305\r
306Returns:\r
307\r
308 GC_TODO: add return values\r
309\r
310--*/\r
311;\r
312\r
313EFI_STATUS\r
314EFIAPI\r
315VgaClassEnableCursor (\r
316 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
317 IN BOOLEAN Visible\r
318 )\r
319/*++\r
320\r
321Routine Description:\r
322\r
323 GC_TODO: Add function description\r
324\r
325Arguments:\r
326\r
327 This - GC_TODO: add argument description\r
328 Visible - GC_TODO: add argument description\r
329\r
330Returns:\r
331\r
332 GC_TODO: add return values\r
333\r
334--*/\r
335;\r
336\r
337EFI_STATUS\r
338EFIAPI\r
339VgaClassQueryMode (\r
340 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
341 IN UINTN ModeNumber,\r
342 OUT UINTN *Columns,\r
343 OUT UINTN *Rows\r
344 )\r
345/*++\r
346\r
347Routine Description:\r
348\r
349 GC_TODO: Add function description\r
350\r
351Arguments:\r
352\r
353 This - GC_TODO: add argument description\r
354 ModeNumber - GC_TODO: add argument description\r
355 Columns - GC_TODO: add argument description\r
356 Rows - GC_TODO: add argument description\r
357\r
358Returns:\r
359\r
360 GC_TODO: add return values\r
361\r
362--*/\r
363;\r
364\r
365EFI_STATUS\r
366EFIAPI\r
367VgaClassSetMode (\r
368 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
369 IN UINTN ModeNumber\r
370 )\r
371/*++\r
372\r
373Routine Description:\r
374\r
375 GC_TODO: Add function description\r
376\r
377Arguments:\r
378\r
379 This - GC_TODO: add argument description\r
380 ModeNumber - GC_TODO: add argument description\r
381\r
382Returns:\r
383\r
384 GC_TODO: add return values\r
385\r
386--*/\r
387;\r
388\r
389#endif\r