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