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