efiapi.h revision 1.2 1 1.2 scole /* $NetBSD: efiapi.h,v 1.2 2016/08/04 18:08:12 scole Exp $ */
2 1.1 jakllsch
3 1.1 jakllsch #ifndef _EFI_API_H
4 1.1 jakllsch #define _EFI_API_H
5 1.1 jakllsch
6 1.1 jakllsch /*++
7 1.1 jakllsch
8 1.1 jakllsch Copyright (c) 1998 Intel Corporation
9 1.1 jakllsch
10 1.1 jakllsch Module Name:
11 1.1 jakllsch
12 1.1 jakllsch efiapi.h
13 1.1 jakllsch
14 1.1 jakllsch Abstract:
15 1.1 jakllsch
16 1.1 jakllsch Global EFI runtime & boot service interfaces
17 1.1 jakllsch
18 1.1 jakllsch
19 1.1 jakllsch
20 1.1 jakllsch
21 1.1 jakllsch Revision History
22 1.1 jakllsch
23 1.1 jakllsch --*/
24 1.1 jakllsch
25 1.1 jakllsch //
26 1.1 jakllsch // EFI Specification Revision
27 1.1 jakllsch //
28 1.1 jakllsch
29 1.1 jakllsch #define EFI_SPECIFICATION_MAJOR_REVISION 1
30 1.1 jakllsch #define EFI_SPECIFICATION_MINOR_REVISION 02
31 1.1 jakllsch
32 1.1 jakllsch //
33 1.1 jakllsch // Declare forward referenced data structures
34 1.1 jakllsch //
35 1.1 jakllsch
36 1.1 jakllsch INTERFACE_DECL(_EFI_SYSTEM_TABLE);
37 1.1 jakllsch
38 1.1 jakllsch //
39 1.1 jakllsch // EFI Memory
40 1.1 jakllsch //
41 1.1 jakllsch
42 1.1 jakllsch typedef
43 1.1 jakllsch EFI_STATUS
44 1.1 jakllsch (EFIAPI *EFI_ALLOCATE_PAGES) (
45 1.1 jakllsch IN EFI_ALLOCATE_TYPE Type,
46 1.1 jakllsch IN EFI_MEMORY_TYPE MemoryType,
47 1.1 jakllsch IN UINTN NoPages,
48 1.1 jakllsch OUT EFI_PHYSICAL_ADDRESS *Memory
49 1.1 jakllsch );
50 1.1 jakllsch
51 1.1 jakllsch typedef
52 1.1 jakllsch EFI_STATUS
53 1.1 jakllsch (EFIAPI *EFI_FREE_PAGES) (
54 1.1 jakllsch IN EFI_PHYSICAL_ADDRESS Memory,
55 1.1 jakllsch IN UINTN NoPages
56 1.1 jakllsch );
57 1.1 jakllsch
58 1.1 jakllsch typedef
59 1.1 jakllsch EFI_STATUS
60 1.1 jakllsch (EFIAPI *EFI_GET_MEMORY_MAP) (
61 1.1 jakllsch IN OUT UINTN *MemoryMapSize,
62 1.1 jakllsch IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
63 1.1 jakllsch OUT UINTN *MapKey,
64 1.1 jakllsch OUT UINTN *DescriptorSize,
65 1.1 jakllsch OUT UINT32 *DescriptorVersion
66 1.1 jakllsch );
67 1.1 jakllsch
68 1.1 jakllsch #define NextMemoryDescriptor(Ptr,Size) ((EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) Ptr) + Size))
69 1.1 jakllsch
70 1.1 jakllsch
71 1.1 jakllsch typedef
72 1.1 jakllsch EFI_STATUS
73 1.1 jakllsch (EFIAPI *EFI_ALLOCATE_POOL) (
74 1.1 jakllsch IN EFI_MEMORY_TYPE PoolType,
75 1.1 jakllsch IN UINTN Size,
76 1.1 jakllsch OUT VOID **Buffer
77 1.1 jakllsch );
78 1.1 jakllsch
79 1.1 jakllsch typedef
80 1.1 jakllsch EFI_STATUS
81 1.1 jakllsch (EFIAPI *EFI_FREE_POOL) (
82 1.1 jakllsch IN VOID *Buffer
83 1.1 jakllsch );
84 1.1 jakllsch
85 1.1 jakllsch typedef
86 1.1 jakllsch EFI_STATUS
87 1.1 jakllsch (EFIAPI *EFI_SET_VIRTUAL_ADDRESS_MAP) (
88 1.1 jakllsch IN UINTN MemoryMapSize,
89 1.1 jakllsch IN UINTN DescriptorSize,
90 1.1 jakllsch IN UINT32 DescriptorVersion,
91 1.1 jakllsch IN EFI_MEMORY_DESCRIPTOR *VirtualMap
92 1.1 jakllsch );
93 1.1 jakllsch
94 1.1 jakllsch
95 1.1 jakllsch #define EFI_OPTIONAL_PTR 0x00000001
96 1.1 jakllsch #define EFI_INTERNAL_FNC 0x00000002 // Pointer to internal runtime fnc
97 1.1 jakllsch #define EFI_INTERNAL_PTR 0x00000004 // Pointer to internal runtime data
98 1.1 jakllsch
99 1.1 jakllsch
100 1.1 jakllsch typedef
101 1.1 jakllsch EFI_STATUS
102 1.1 jakllsch (EFIAPI *EFI_CONVERT_POINTER) (
103 1.1 jakllsch IN UINTN DebugDisposition,
104 1.1 jakllsch IN OUT VOID **Address
105 1.1 jakllsch );
106 1.1 jakllsch
107 1.1 jakllsch
108 1.1 jakllsch //
109 1.1 jakllsch // EFI Events
110 1.1 jakllsch //
111 1.1 jakllsch
112 1.1 jakllsch
113 1.1 jakllsch
114 1.1 jakllsch #define EVT_TIMER 0x80000000
115 1.1 jakllsch #define EVT_RUNTIME 0x40000000
116 1.1 jakllsch #define EVT_RUNTIME_CONTEXT 0x20000000
117 1.1 jakllsch
118 1.1 jakllsch #define EVT_NOTIFY_WAIT 0x00000100
119 1.1 jakllsch #define EVT_NOTIFY_SIGNAL 0x00000200
120 1.1 jakllsch
121 1.1 jakllsch #define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
122 1.1 jakllsch #define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
123 1.1 jakllsch
124 1.1 jakllsch #define EVT_EFI_SIGNAL_MASK 0x000000FF
125 1.1 jakllsch #define EVT_EFI_SIGNAL_MAX 2
126 1.1 jakllsch
127 1.1 jakllsch typedef
128 1.1 jakllsch VOID
129 1.1 jakllsch (EFIAPI *EFI_EVENT_NOTIFY) (
130 1.1 jakllsch IN EFI_EVENT Event,
131 1.1 jakllsch IN VOID *Context
132 1.1 jakllsch );
133 1.1 jakllsch
134 1.1 jakllsch typedef
135 1.1 jakllsch EFI_STATUS
136 1.1 jakllsch (EFIAPI *EFI_CREATE_EVENT) (
137 1.1 jakllsch IN UINT32 Type,
138 1.1 jakllsch IN EFI_TPL NotifyTpl,
139 1.1 jakllsch IN EFI_EVENT_NOTIFY NotifyFunction,
140 1.1 jakllsch IN VOID *NotifyContext,
141 1.1 jakllsch OUT EFI_EVENT *Event
142 1.1 jakllsch );
143 1.1 jakllsch
144 1.1 jakllsch typedef enum {
145 1.1 jakllsch TimerCancel,
146 1.1 jakllsch TimerPeriodic,
147 1.1 jakllsch TimerRelative,
148 1.1 jakllsch TimerTypeMax
149 1.1 jakllsch } EFI_TIMER_DELAY;
150 1.1 jakllsch
151 1.1 jakllsch typedef
152 1.1 jakllsch EFI_STATUS
153 1.1 jakllsch (EFIAPI *EFI_SET_TIMER) (
154 1.1 jakllsch IN EFI_EVENT Event,
155 1.1 jakllsch IN EFI_TIMER_DELAY Type,
156 1.1 jakllsch IN UINT64 TriggerTime
157 1.1 jakllsch );
158 1.1 jakllsch
159 1.1 jakllsch typedef
160 1.1 jakllsch EFI_STATUS
161 1.1 jakllsch (EFIAPI *EFI_SIGNAL_EVENT) (
162 1.1 jakllsch IN EFI_EVENT Event
163 1.1 jakllsch );
164 1.1 jakllsch
165 1.1 jakllsch typedef
166 1.1 jakllsch EFI_STATUS
167 1.1 jakllsch (EFIAPI *EFI_WAIT_FOR_EVENT) (
168 1.1 jakllsch IN UINTN NumberOfEvents,
169 1.1 jakllsch IN EFI_EVENT *Event,
170 1.1 jakllsch OUT UINTN *Index
171 1.1 jakllsch );
172 1.1 jakllsch
173 1.1 jakllsch typedef
174 1.1 jakllsch EFI_STATUS
175 1.1 jakllsch (EFIAPI *EFI_CLOSE_EVENT) (
176 1.1 jakllsch IN EFI_EVENT Event
177 1.1 jakllsch );
178 1.1 jakllsch
179 1.1 jakllsch typedef
180 1.1 jakllsch EFI_STATUS
181 1.1 jakllsch (EFIAPI *EFI_CHECK_EVENT) (
182 1.1 jakllsch IN EFI_EVENT Event
183 1.1 jakllsch );
184 1.1 jakllsch
185 1.1 jakllsch //
186 1.1 jakllsch // Task priority level
187 1.1 jakllsch //
188 1.1 jakllsch
189 1.1 jakllsch #define TPL_APPLICATION 4
190 1.1 jakllsch #define TPL_CALLBACK 8
191 1.1 jakllsch #define TPL_NOTIFY 16
192 1.1 jakllsch #define TPL_HIGH_LEVEL 31
193 1.1 jakllsch
194 1.1 jakllsch typedef
195 1.1 jakllsch EFI_TPL
196 1.1 jakllsch (EFIAPI *EFI_RAISE_TPL) (
197 1.1 jakllsch IN EFI_TPL NewTpl
198 1.1 jakllsch );
199 1.1 jakllsch
200 1.1 jakllsch typedef
201 1.1 jakllsch VOID
202 1.1 jakllsch (EFIAPI *EFI_RESTORE_TPL) (
203 1.1 jakllsch IN EFI_TPL OldTpl
204 1.1 jakllsch );
205 1.1 jakllsch
206 1.1 jakllsch
207 1.1 jakllsch //
208 1.1 jakllsch // EFI platform varibles
209 1.1 jakllsch //
210 1.1 jakllsch
211 1.1 jakllsch #define EFI_GLOBAL_VARIABLE \
212 1.1 jakllsch { 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} }
213 1.1 jakllsch
214 1.1 jakllsch // Variable attributes
215 1.1 jakllsch #define EFI_VARIABLE_NON_VOLATILE 0x00000001
216 1.1 jakllsch #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
217 1.1 jakllsch #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
218 1.1 jakllsch
219 1.1 jakllsch // Variable size limitation
220 1.1 jakllsch #define EFI_MAXIMUM_VARIABLE_SIZE 1024
221 1.1 jakllsch
222 1.1 jakllsch typedef
223 1.1 jakllsch EFI_STATUS
224 1.1 jakllsch (EFIAPI *EFI_GET_VARIABLE) (
225 1.1 jakllsch IN CHAR16 *VariableName,
226 1.1 jakllsch IN EFI_GUID *VendorGuid,
227 1.1 jakllsch OUT UINT32 *Attributes OPTIONAL,
228 1.1 jakllsch IN OUT UINTN *DataSize,
229 1.1 jakllsch OUT VOID *Data
230 1.1 jakllsch );
231 1.1 jakllsch
232 1.1 jakllsch typedef
233 1.1 jakllsch EFI_STATUS
234 1.1 jakllsch (EFIAPI *EFI_GET_NEXT_VARIABLE_NAME) (
235 1.1 jakllsch IN OUT UINTN *VariableNameSize,
236 1.1 jakllsch IN OUT CHAR16 *VariableName,
237 1.1 jakllsch IN OUT EFI_GUID *VendorGuid
238 1.1 jakllsch );
239 1.1 jakllsch
240 1.1 jakllsch
241 1.1 jakllsch typedef
242 1.1 jakllsch EFI_STATUS
243 1.1 jakllsch (EFIAPI *EFI_SET_VARIABLE) (
244 1.1 jakllsch IN CHAR16 *VariableName,
245 1.1 jakllsch IN EFI_GUID *VendorGuid,
246 1.1 jakllsch IN UINT32 Attributes,
247 1.1 jakllsch IN UINTN DataSize,
248 1.1 jakllsch IN VOID *Data
249 1.1 jakllsch );
250 1.1 jakllsch
251 1.1 jakllsch
252 1.1 jakllsch //
253 1.1 jakllsch // EFI Time
254 1.1 jakllsch //
255 1.1 jakllsch
256 1.1 jakllsch typedef struct {
257 1.1 jakllsch UINT32 Resolution; // 1e-6 parts per million
258 1.1 jakllsch UINT32 Accuracy; // hertz
259 1.1 jakllsch BOOLEAN SetsToZero; // Set clears sub-second time
260 1.1 jakllsch } EFI_TIME_CAPABILITIES;
261 1.1 jakllsch
262 1.1 jakllsch
263 1.1 jakllsch typedef
264 1.1 jakllsch EFI_STATUS
265 1.1 jakllsch (EFIAPI *EFI_GET_TIME) (
266 1.1 jakllsch OUT EFI_TIME *Time,
267 1.1 jakllsch OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL
268 1.1 jakllsch );
269 1.1 jakllsch
270 1.1 jakllsch typedef
271 1.1 jakllsch EFI_STATUS
272 1.1 jakllsch (EFIAPI *EFI_SET_TIME) (
273 1.1 jakllsch IN EFI_TIME *Time
274 1.1 jakllsch );
275 1.1 jakllsch
276 1.1 jakllsch typedef
277 1.1 jakllsch EFI_STATUS
278 1.1 jakllsch (EFIAPI *EFI_GET_WAKEUP_TIME) (
279 1.1 jakllsch OUT BOOLEAN *Enabled,
280 1.1 jakllsch OUT BOOLEAN *Pending,
281 1.1 jakllsch OUT EFI_TIME *Time
282 1.1 jakllsch );
283 1.1 jakllsch
284 1.1 jakllsch typedef
285 1.1 jakllsch EFI_STATUS
286 1.1 jakllsch (EFIAPI *EFI_SET_WAKEUP_TIME) (
287 1.1 jakllsch IN BOOLEAN Enable,
288 1.1 jakllsch IN EFI_TIME *Time OPTIONAL
289 1.1 jakllsch );
290 1.1 jakllsch
291 1.1 jakllsch
292 1.1 jakllsch //
293 1.1 jakllsch // Image functions
294 1.1 jakllsch //
295 1.1 jakllsch
296 1.1 jakllsch
297 1.1 jakllsch // PE32+ Subsystem type for EFI images
298 1.1 jakllsch
299 1.1 jakllsch #if !defined(IMAGE_SUBSYSTEM_EFI_APPLICATION)
300 1.1 jakllsch #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
301 1.1 jakllsch #define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
302 1.1 jakllsch #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
303 1.1 jakllsch #endif
304 1.1 jakllsch
305 1.1 jakllsch // PE32+ Machine type for EFI images
306 1.1 jakllsch
307 1.1 jakllsch #if !defined(EFI_IMAGE_MACHINE_IA32)
308 1.1 jakllsch #define EFI_IMAGE_MACHINE_IA32 0x014c
309 1.1 jakllsch #endif
310 1.1 jakllsch
311 1.1 jakllsch #if !defined(EFI_IMAGE_MACHINE_IA64)
312 1.1 jakllsch #define EFI_IMAGE_MACHINE_IA64 0x0200
313 1.1 jakllsch #endif
314 1.1 jakllsch
315 1.1 jakllsch // Image Entry prototype
316 1.1 jakllsch
317 1.1 jakllsch typedef
318 1.1 jakllsch EFI_STATUS
319 1.1 jakllsch (EFIAPI *EFI_IMAGE_ENTRY_POINT) (
320 1.1 jakllsch IN EFI_HANDLE ImageHandle,
321 1.1 jakllsch IN struct _EFI_SYSTEM_TABLE *SystemTable
322 1.1 jakllsch );
323 1.1 jakllsch
324 1.1 jakllsch typedef
325 1.1 jakllsch EFI_STATUS
326 1.1 jakllsch (EFIAPI *EFI_IMAGE_LOAD) (
327 1.1 jakllsch IN BOOLEAN BootPolicy,
328 1.1 jakllsch IN EFI_HANDLE ParentImageHandle,
329 1.1 jakllsch IN EFI_DEVICE_PATH *FilePath,
330 1.1 jakllsch IN VOID *SourceBuffer OPTIONAL,
331 1.1 jakllsch IN UINTN SourceSize,
332 1.1 jakllsch OUT EFI_HANDLE *ImageHandle
333 1.1 jakllsch );
334 1.1 jakllsch
335 1.1 jakllsch typedef
336 1.1 jakllsch EFI_STATUS
337 1.1 jakllsch (EFIAPI *EFI_IMAGE_START) (
338 1.1 jakllsch IN EFI_HANDLE ImageHandle,
339 1.1 jakllsch OUT UINTN *ExitDataSize,
340 1.1 jakllsch OUT CHAR16 **ExitData OPTIONAL
341 1.1 jakllsch );
342 1.1 jakllsch
343 1.1 jakllsch typedef
344 1.1 jakllsch EFI_STATUS
345 1.1 jakllsch (EFIAPI *EFI_EXIT) (
346 1.1 jakllsch IN EFI_HANDLE ImageHandle,
347 1.1 jakllsch IN EFI_STATUS ExitStatus,
348 1.1 jakllsch IN UINTN ExitDataSize,
349 1.1 jakllsch IN CHAR16 *ExitData OPTIONAL
350 1.1 jakllsch );
351 1.1 jakllsch
352 1.1 jakllsch typedef
353 1.1 jakllsch EFI_STATUS
354 1.1 jakllsch (EFIAPI *EFI_IMAGE_UNLOAD) (
355 1.1 jakllsch IN EFI_HANDLE ImageHandle
356 1.1 jakllsch );
357 1.1 jakllsch
358 1.1 jakllsch
359 1.1 jakllsch // Image handle
360 1.1 jakllsch #define LOADED_IMAGE_PROTOCOL \
361 1.1 jakllsch { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} }
362 1.1 jakllsch
363 1.1 jakllsch #define EFI_IMAGE_INFORMATION_REVISION 0x1000
364 1.1 jakllsch typedef struct {
365 1.1 jakllsch UINT32 Revision;
366 1.1 jakllsch EFI_HANDLE ParentHandle;
367 1.1 jakllsch struct _EFI_SYSTEM_TABLE *SystemTable;
368 1.1 jakllsch
369 1.1 jakllsch // Source location of image
370 1.1 jakllsch EFI_HANDLE DeviceHandle;
371 1.1 jakllsch EFI_DEVICE_PATH *FilePath;
372 1.1 jakllsch VOID *Reserved;
373 1.1 jakllsch
374 1.1 jakllsch // Images load options
375 1.1 jakllsch UINT32 LoadOptionsSize;
376 1.1 jakllsch VOID *LoadOptions;
377 1.1 jakllsch
378 1.1 jakllsch // Location of where image was loaded
379 1.1 jakllsch VOID *ImageBase;
380 1.1 jakllsch UINT64 ImageSize;
381 1.1 jakllsch EFI_MEMORY_TYPE ImageCodeType;
382 1.1 jakllsch EFI_MEMORY_TYPE ImageDataType;
383 1.1 jakllsch
384 1.1 jakllsch // If the driver image supports a dynamic unload request
385 1.1 jakllsch EFI_IMAGE_UNLOAD Unload;
386 1.1 jakllsch
387 1.1 jakllsch } EFI_LOADED_IMAGE;
388 1.1 jakllsch
389 1.1 jakllsch
390 1.1 jakllsch typedef
391 1.1 jakllsch EFI_STATUS
392 1.1 jakllsch (EFIAPI *EFI_EXIT_BOOT_SERVICES) (
393 1.1 jakllsch IN EFI_HANDLE ImageHandle,
394 1.1 jakllsch IN UINTN MapKey
395 1.1 jakllsch );
396 1.1 jakllsch
397 1.1 jakllsch //
398 1.1 jakllsch // Misc
399 1.1 jakllsch //
400 1.1 jakllsch
401 1.1 jakllsch
402 1.1 jakllsch typedef
403 1.1 jakllsch EFI_STATUS
404 1.1 jakllsch (EFIAPI *EFI_STALL) (
405 1.1 jakllsch IN UINTN Microseconds
406 1.1 jakllsch );
407 1.1 jakllsch
408 1.1 jakllsch typedef
409 1.1 jakllsch EFI_STATUS
410 1.1 jakllsch (EFIAPI *EFI_SET_WATCHDOG_TIMER) (
411 1.1 jakllsch IN UINTN Timeout,
412 1.1 jakllsch IN UINT64 WatchdogCode,
413 1.1 jakllsch IN UINTN DataSize,
414 1.1 jakllsch IN CHAR16 *WatchdogData OPTIONAL
415 1.1 jakllsch );
416 1.1 jakllsch
417 1.1 jakllsch typedef
418 1.1 jakllsch EFI_STATUS
419 1.1 jakllsch (EFIAPI *EFI_CONNECT_CONTROLLER) (
420 1.1 jakllsch IN EFI_HANDLE ControllerHandle,
421 1.1 jakllsch IN EFI_HANDLE *DriverImageHandle OPTIONAL,
422 1.1 jakllsch IN EFI_DEVICE_PATH *RemainingDevicePath OPTIONAL,
423 1.1 jakllsch IN BOOLEAN Recursive
424 1.1 jakllsch );
425 1.1 jakllsch
426 1.1 jakllsch typedef
427 1.1 jakllsch EFI_STATUS
428 1.1 jakllsch (EFIAPI *EFI_DISCONNECT_CONTROLLER) (
429 1.1 jakllsch IN EFI_HANDLE ControllerHandle,
430 1.1 jakllsch IN EFI_HANDLE DriverImageHandle OPTIONAL,
431 1.1 jakllsch IN EFI_HANDLE ChildHandle OPTIONAL
432 1.1 jakllsch );
433 1.1 jakllsch
434 1.1 jakllsch #define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
435 1.1 jakllsch #define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
436 1.1 jakllsch #define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
437 1.1 jakllsch #define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
438 1.1 jakllsch #define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
439 1.1 jakllsch #define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
440 1.1 jakllsch
441 1.1 jakllsch typedef
442 1.1 jakllsch EFI_STATUS
443 1.1 jakllsch (EFIAPI *EFI_OPEN_PROTOCOL) (
444 1.1 jakllsch IN EFI_HANDLE Handle,
445 1.1 jakllsch IN EFI_GUID *Protocol,
446 1.1 jakllsch OUT VOID **Interface OPTIONAL,
447 1.1 jakllsch IN EFI_HANDLE AgentHandle,
448 1.1 jakllsch IN EFI_HANDLE ControllerHandle,
449 1.1 jakllsch IN UINT32 Attributes
450 1.1 jakllsch );
451 1.1 jakllsch
452 1.1 jakllsch typedef
453 1.1 jakllsch EFI_STATUS
454 1.1 jakllsch (EFIAPI *EFI_CLOSE_PROTOCOL) (
455 1.1 jakllsch IN EFI_HANDLE Handle,
456 1.1 jakllsch IN EFI_GUID *Protocol,
457 1.1 jakllsch IN EFI_HANDLE AgentHandle,
458 1.1 jakllsch IN EFI_HANDLE ControllerHandle
459 1.1 jakllsch );
460 1.1 jakllsch
461 1.1 jakllsch typedef struct {
462 1.1 jakllsch EFI_HANDLE AgentHandle;
463 1.1 jakllsch EFI_HANDLE ControllerHandle;
464 1.1 jakllsch UINT32 Attributes;
465 1.1 jakllsch UINT32 OpenCount;
466 1.1 jakllsch } EFI_OPEN_PROTOCOL_INFORMATION_ENTRY;
467 1.1 jakllsch
468 1.1 jakllsch typedef
469 1.1 jakllsch EFI_STATUS
470 1.1 jakllsch (EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION) (
471 1.1 jakllsch IN EFI_HANDLE Handle,
472 1.1 jakllsch IN EFI_GUID *Protocol,
473 1.1 jakllsch OUT EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer,
474 1.1 jakllsch OUT UINTN *EntryCount
475 1.1 jakllsch );
476 1.1 jakllsch
477 1.1 jakllsch typedef
478 1.1 jakllsch EFI_STATUS
479 1.1 jakllsch (EFIAPI *EFI_PROTOCOLS_PER_HANDLE) (
480 1.1 jakllsch IN EFI_HANDLE Handle,
481 1.1 jakllsch OUT EFI_GUID ***ProtocolBuffer,
482 1.1 jakllsch OUT UINTN *ProtocolBufferCount
483 1.1 jakllsch );
484 1.1 jakllsch
485 1.1 jakllsch typedef enum {
486 1.1 jakllsch AllHandles,
487 1.1 jakllsch ByRegisterNotify,
488 1.1 jakllsch ByProtocol
489 1.1 jakllsch } EFI_LOCATE_SEARCH_TYPE;
490 1.1 jakllsch
491 1.1 jakllsch typedef
492 1.1 jakllsch EFI_STATUS
493 1.1 jakllsch (EFIAPI *EFI_LOCATE_HANDLE_BUFFER) (
494 1.1 jakllsch IN EFI_LOCATE_SEARCH_TYPE SearchType,
495 1.1 jakllsch IN EFI_GUID *Protocol OPTIONAL,
496 1.1 jakllsch IN VOID *SearchKey OPTIONAL,
497 1.1 jakllsch IN OUT UINTN *NoHandles,
498 1.1 jakllsch OUT EFI_HANDLE **Buffer
499 1.1 jakllsch );
500 1.1 jakllsch
501 1.1 jakllsch typedef
502 1.1 jakllsch EFI_STATUS
503 1.1 jakllsch (EFIAPI *EFI_LOCATE_PROTOCOL) (
504 1.1 jakllsch IN EFI_GUID *Protocol,
505 1.1 jakllsch IN VOID *Registration OPTIONAL,
506 1.1 jakllsch OUT VOID **Interface
507 1.1 jakllsch );
508 1.1 jakllsch
509 1.1 jakllsch typedef
510 1.1 jakllsch EFI_STATUS
511 1.1 jakllsch (EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
512 1.1 jakllsch IN OUT EFI_HANDLE *Handle,
513 1.1 jakllsch ...
514 1.1 jakllsch );
515 1.1 jakllsch
516 1.1 jakllsch typedef
517 1.1 jakllsch EFI_STATUS
518 1.1 jakllsch (EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
519 1.1 jakllsch IN OUT EFI_HANDLE Handle,
520 1.1 jakllsch ...
521 1.1 jakllsch );
522 1.1 jakllsch
523 1.1 jakllsch typedef
524 1.1 jakllsch EFI_STATUS
525 1.1 jakllsch (EFIAPI *EFI_CALCULATE_CRC32) (
526 1.1 jakllsch IN VOID *Data,
527 1.1 jakllsch IN UINTN DataSize,
528 1.1 jakllsch OUT UINT32 *Crc32
529 1.1 jakllsch );
530 1.1 jakllsch
531 1.1 jakllsch typedef
532 1.1 jakllsch VOID
533 1.1 jakllsch (EFIAPI *EFI_COPY_MEM) (
534 1.1 jakllsch IN VOID *Destination,
535 1.1 jakllsch IN VOID *Source,
536 1.1 jakllsch IN UINTN Length
537 1.1 jakllsch );
538 1.1 jakllsch
539 1.1 jakllsch typedef
540 1.1 jakllsch VOID
541 1.1 jakllsch (EFIAPI *EFI_SET_MEM) (
542 1.1 jakllsch IN VOID *Buffer,
543 1.1 jakllsch IN UINTN Size,
544 1.1 jakllsch IN UINT8 Value
545 1.1 jakllsch );
546 1.1 jakllsch
547 1.1 jakllsch
548 1.1 jakllsch typedef
549 1.1 jakllsch EFI_STATUS
550 1.1 jakllsch (EFIAPI *EFI_CREATE_EVENT_EX) (
551 1.1 jakllsch IN UINT32 Type,
552 1.1 jakllsch IN EFI_TPL NotifyTpl,
553 1.1 jakllsch IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL,
554 1.1 jakllsch IN const VOID *NotifyContext OPTIONAL,
555 1.1 jakllsch IN const EFI_GUID EventGroup OPTIONAL,
556 1.1 jakllsch OUT EFI_EVENT *Event
557 1.1 jakllsch );
558 1.1 jakllsch
559 1.1 jakllsch typedef enum {
560 1.1 jakllsch EfiResetCold,
561 1.1 jakllsch EfiResetWarm,
562 1.1 jakllsch EfiResetShutdown
563 1.1 jakllsch } EFI_RESET_TYPE;
564 1.1 jakllsch
565 1.1 jakllsch typedef
566 1.1 jakllsch EFI_STATUS
567 1.1 jakllsch (EFIAPI *EFI_RESET_SYSTEM) (
568 1.1 jakllsch IN EFI_RESET_TYPE ResetType,
569 1.1 jakllsch IN EFI_STATUS ResetStatus,
570 1.1 jakllsch IN UINTN DataSize,
571 1.1 jakllsch IN CHAR16 *ResetData OPTIONAL
572 1.1 jakllsch );
573 1.1 jakllsch
574 1.1 jakllsch typedef
575 1.1 jakllsch EFI_STATUS
576 1.1 jakllsch (EFIAPI *EFI_GET_NEXT_MONOTONIC_COUNT) (
577 1.1 jakllsch OUT UINT64 *Count
578 1.1 jakllsch );
579 1.1 jakllsch
580 1.1 jakllsch typedef
581 1.1 jakllsch EFI_STATUS
582 1.1 jakllsch (EFIAPI *EFI_GET_NEXT_HIGH_MONO_COUNT) (
583 1.1 jakllsch OUT UINT32 *HighCount
584 1.1 jakllsch );
585 1.1 jakllsch
586 1.1 jakllsch //
587 1.1 jakllsch // Protocol handler functions
588 1.1 jakllsch //
589 1.1 jakllsch
590 1.1 jakllsch typedef enum {
591 1.1 jakllsch EFI_NATIVE_INTERFACE,
592 1.1 jakllsch EFI_PCODE_INTERFACE
593 1.1 jakllsch } EFI_INTERFACE_TYPE;
594 1.1 jakllsch
595 1.1 jakllsch typedef
596 1.1 jakllsch EFI_STATUS
597 1.1 jakllsch (EFIAPI *EFI_INSTALL_PROTOCOL_INTERFACE) (
598 1.1 jakllsch IN OUT EFI_HANDLE *Handle,
599 1.1 jakllsch IN EFI_GUID *Protocol,
600 1.1 jakllsch IN EFI_INTERFACE_TYPE InterfaceType,
601 1.1 jakllsch IN VOID *Interface
602 1.1 jakllsch );
603 1.1 jakllsch
604 1.1 jakllsch typedef
605 1.1 jakllsch EFI_STATUS
606 1.1 jakllsch (EFIAPI *EFI_REINSTALL_PROTOCOL_INTERFACE) (
607 1.1 jakllsch IN EFI_HANDLE Handle,
608 1.1 jakllsch IN EFI_GUID *Protocol,
609 1.1 jakllsch IN VOID *OldInterface,
610 1.1 jakllsch IN VOID *NewInterface
611 1.1 jakllsch );
612 1.1 jakllsch
613 1.1 jakllsch typedef
614 1.1 jakllsch EFI_STATUS
615 1.1 jakllsch (EFIAPI *EFI_UNINSTALL_PROTOCOL_INTERFACE) (
616 1.1 jakllsch IN EFI_HANDLE Handle,
617 1.1 jakllsch IN EFI_GUID *Protocol,
618 1.1 jakllsch IN VOID *Interface
619 1.1 jakllsch );
620 1.1 jakllsch
621 1.1 jakllsch typedef
622 1.1 jakllsch EFI_STATUS
623 1.1 jakllsch (EFIAPI *EFI_HANDLE_PROTOCOL) (
624 1.1 jakllsch IN EFI_HANDLE Handle,
625 1.1 jakllsch IN EFI_GUID *Protocol,
626 1.1 jakllsch OUT VOID **Interface
627 1.1 jakllsch );
628 1.1 jakllsch
629 1.1 jakllsch typedef
630 1.1 jakllsch EFI_STATUS
631 1.1 jakllsch (EFIAPI *EFI_REGISTER_PROTOCOL_NOTIFY) (
632 1.1 jakllsch IN EFI_GUID *Protocol,
633 1.1 jakllsch IN EFI_EVENT Event,
634 1.1 jakllsch OUT VOID **Registration
635 1.1 jakllsch );
636 1.1 jakllsch
637 1.1 jakllsch typedef
638 1.1 jakllsch EFI_STATUS
639 1.1 jakllsch (EFIAPI *EFI_LOCATE_HANDLE) (
640 1.1 jakllsch IN EFI_LOCATE_SEARCH_TYPE SearchType,
641 1.1 jakllsch IN EFI_GUID *Protocol OPTIONAL,
642 1.1 jakllsch IN VOID *SearchKey OPTIONAL,
643 1.1 jakllsch IN OUT UINTN *BufferSize,
644 1.1 jakllsch OUT EFI_HANDLE *Buffer
645 1.1 jakllsch );
646 1.1 jakllsch
647 1.1 jakllsch typedef
648 1.1 jakllsch EFI_STATUS
649 1.1 jakllsch (EFIAPI *EFI_LOCATE_DEVICE_PATH) (
650 1.1 jakllsch IN EFI_GUID *Protocol,
651 1.1 jakllsch IN OUT EFI_DEVICE_PATH **DevicePath,
652 1.1 jakllsch OUT EFI_HANDLE *Device
653 1.1 jakllsch );
654 1.1 jakllsch
655 1.1 jakllsch typedef
656 1.1 jakllsch EFI_STATUS
657 1.1 jakllsch (EFIAPI *EFI_INSTALL_CONFIGURATION_TABLE) (
658 1.1 jakllsch IN EFI_GUID *Guid,
659 1.1 jakllsch IN VOID *Table
660 1.1 jakllsch );
661 1.1 jakllsch
662 1.1 jakllsch typedef
663 1.1 jakllsch EFI_STATUS
664 1.1 jakllsch (EFIAPI *EFI_RESERVED_SERVICE) (
665 1.1 jakllsch );
666 1.1 jakllsch
667 1.1 jakllsch //
668 1.1 jakllsch // Standard EFI table header
669 1.1 jakllsch //
670 1.1 jakllsch
671 1.1 jakllsch typedef struct _EFI_TABLE_HEARDER {
672 1.1 jakllsch UINT64 Signature;
673 1.1 jakllsch UINT32 Revision;
674 1.1 jakllsch UINT32 HeaderSize;
675 1.1 jakllsch UINT32 CRC32;
676 1.1 jakllsch UINT32 Reserved;
677 1.1 jakllsch } EFI_TABLE_HEADER;
678 1.1 jakllsch
679 1.1 jakllsch
680 1.1 jakllsch //
681 1.1 jakllsch // EFI Runtime Serivces Table
682 1.1 jakllsch //
683 1.1 jakllsch
684 1.1 jakllsch #define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552
685 1.1 jakllsch #define EFI_RUNTIME_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
686 1.1 jakllsch
687 1.1 jakllsch typedef struct {
688 1.1 jakllsch EFI_TABLE_HEADER Hdr;
689 1.1 jakllsch
690 1.1 jakllsch //
691 1.1 jakllsch // Time services
692 1.1 jakllsch //
693 1.1 jakllsch
694 1.1 jakllsch EFI_GET_TIME GetTime;
695 1.1 jakllsch EFI_SET_TIME SetTime;
696 1.1 jakllsch EFI_GET_WAKEUP_TIME GetWakeupTime;
697 1.1 jakllsch EFI_SET_WAKEUP_TIME SetWakeupTime;
698 1.1 jakllsch
699 1.1 jakllsch //
700 1.1 jakllsch // Virtual memory services
701 1.1 jakllsch //
702 1.1 jakllsch
703 1.1 jakllsch EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
704 1.1 jakllsch EFI_CONVERT_POINTER ConvertPointer;
705 1.1 jakllsch
706 1.1 jakllsch //
707 1.1 jakllsch // Variable serviers
708 1.1 jakllsch //
709 1.1 jakllsch
710 1.1 jakllsch EFI_GET_VARIABLE GetVariable;
711 1.1 jakllsch EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
712 1.1 jakllsch EFI_SET_VARIABLE SetVariable;
713 1.1 jakllsch
714 1.1 jakllsch //
715 1.1 jakllsch // Misc
716 1.1 jakllsch //
717 1.1 jakllsch
718 1.1 jakllsch EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
719 1.1 jakllsch EFI_RESET_SYSTEM ResetSystem;
720 1.1 jakllsch
721 1.1 jakllsch } EFI_RUNTIME_SERVICES;
722 1.1 jakllsch
723 1.1 jakllsch
724 1.1 jakllsch //
725 1.1 jakllsch // EFI Boot Services Table
726 1.1 jakllsch //
727 1.1 jakllsch
728 1.1 jakllsch #define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
729 1.1 jakllsch #define EFI_BOOT_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
730 1.1 jakllsch
731 1.1 jakllsch typedef struct _EFI_BOOT_SERVICES {
732 1.1 jakllsch
733 1.1 jakllsch EFI_TABLE_HEADER Hdr;
734 1.1 jakllsch
735 1.1 jakllsch //
736 1.1 jakllsch // Task priority functions
737 1.1 jakllsch //
738 1.1 jakllsch
739 1.1 jakllsch EFI_RAISE_TPL RaiseTPL;
740 1.1 jakllsch EFI_RESTORE_TPL RestoreTPL;
741 1.1 jakllsch
742 1.1 jakllsch //
743 1.1 jakllsch // Memory functions
744 1.1 jakllsch //
745 1.1 jakllsch
746 1.1 jakllsch EFI_ALLOCATE_PAGES AllocatePages;
747 1.1 jakllsch EFI_FREE_PAGES FreePages;
748 1.1 jakllsch EFI_GET_MEMORY_MAP GetMemoryMap;
749 1.1 jakllsch EFI_ALLOCATE_POOL AllocatePool;
750 1.1 jakllsch EFI_FREE_POOL FreePool;
751 1.1 jakllsch
752 1.1 jakllsch //
753 1.1 jakllsch // Event & timer functions
754 1.1 jakllsch //
755 1.1 jakllsch
756 1.1 jakllsch EFI_CREATE_EVENT CreateEvent;
757 1.1 jakllsch EFI_SET_TIMER SetTimer;
758 1.1 jakllsch EFI_WAIT_FOR_EVENT WaitForEvent;
759 1.1 jakllsch EFI_SIGNAL_EVENT SignalEvent;
760 1.1 jakllsch EFI_CLOSE_EVENT CloseEvent;
761 1.1 jakllsch EFI_CHECK_EVENT CheckEvent;
762 1.1 jakllsch
763 1.1 jakllsch //
764 1.1 jakllsch // Protocol handler functions
765 1.1 jakllsch //
766 1.1 jakllsch
767 1.1 jakllsch EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
768 1.1 jakllsch EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
769 1.1 jakllsch EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
770 1.1 jakllsch EFI_HANDLE_PROTOCOL HandleProtocol;
771 1.1 jakllsch EFI_HANDLE_PROTOCOL PCHandleProtocol;
772 1.1 jakllsch EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
773 1.1 jakllsch EFI_LOCATE_HANDLE LocateHandle;
774 1.1 jakllsch EFI_LOCATE_DEVICE_PATH LocateDevicePath;
775 1.1 jakllsch EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
776 1.1 jakllsch
777 1.1 jakllsch //
778 1.1 jakllsch // Image functions
779 1.1 jakllsch //
780 1.1 jakllsch
781 1.1 jakllsch EFI_IMAGE_LOAD LoadImage;
782 1.1 jakllsch EFI_IMAGE_START StartImage;
783 1.1 jakllsch EFI_EXIT Exit;
784 1.1 jakllsch EFI_IMAGE_UNLOAD UnloadImage;
785 1.1 jakllsch EFI_EXIT_BOOT_SERVICES ExitBootServices;
786 1.1 jakllsch
787 1.1 jakllsch //
788 1.1 jakllsch // Misc functions
789 1.1 jakllsch //
790 1.1 jakllsch
791 1.1 jakllsch EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
792 1.1 jakllsch EFI_STALL Stall;
793 1.1 jakllsch EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
794 1.1 jakllsch
795 1.1 jakllsch //
796 1.1 jakllsch // DriverSupport Services
797 1.1 jakllsch //
798 1.1 jakllsch
799 1.1 jakllsch EFI_CONNECT_CONTROLLER ConnectController;
800 1.1 jakllsch EFI_DISCONNECT_CONTROLLER DisconnectController;
801 1.1 jakllsch
802 1.1 jakllsch //
803 1.1 jakllsch // Open and Close Protocol Services
804 1.1 jakllsch //
805 1.1 jakllsch EFI_OPEN_PROTOCOL OpenProtocol;
806 1.1 jakllsch EFI_CLOSE_PROTOCOL CloseProtocol;
807 1.1 jakllsch EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;
808 1.1 jakllsch
809 1.1 jakllsch //
810 1.1 jakllsch // Library Services
811 1.1 jakllsch //
812 1.1 jakllsch EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;
813 1.1 jakllsch EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;
814 1.1 jakllsch EFI_LOCATE_PROTOCOL LocateProtocol;
815 1.1 jakllsch EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;
816 1.1 jakllsch EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;
817 1.1 jakllsch
818 1.1 jakllsch //
819 1.1 jakllsch // 32-bit CRC Services
820 1.1 jakllsch //
821 1.1 jakllsch EFI_CALCULATE_CRC32 CalculateCrc32;
822 1.1 jakllsch
823 1.1 jakllsch //
824 1.1 jakllsch // Misc Services
825 1.1 jakllsch //
826 1.1 jakllsch EFI_COPY_MEM CopyMem;
827 1.1 jakllsch EFI_SET_MEM SetMem;
828 1.1 jakllsch EFI_CREATE_EVENT_EX CreateEventEx;
829 1.1 jakllsch } EFI_BOOT_SERVICES;
830 1.1 jakllsch
831 1.1 jakllsch
832 1.1 jakllsch //
833 1.1 jakllsch // EFI Configuration Table and GUID definitions
834 1.1 jakllsch //
835 1.1 jakllsch
836 1.1 jakllsch #define MPS_TABLE_GUID \
837 1.1 jakllsch { 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
838 1.1 jakllsch
839 1.1 jakllsch #define ACPI_TABLE_GUID \
840 1.1 jakllsch { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
841 1.1 jakllsch
842 1.1 jakllsch #define ACPI_20_TABLE_GUID \
843 1.1 jakllsch { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
844 1.1 jakllsch
845 1.1 jakllsch #define SMBIOS_TABLE_GUID \
846 1.1 jakllsch { 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
847 1.1 jakllsch
848 1.1 jakllsch #define SAL_SYSTEM_TABLE_GUID \
849 1.1 jakllsch { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
850 1.1 jakllsch
851 1.2 scole /* DIG64 Headless Console & Debug Port Table. */
852 1.2 scole #define HCDP_TABLE_GUID \
853 1.2 scole { 0xf951938d, 0x620b, 0x42ef, {0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98} }
854 1.1 jakllsch
855 1.1 jakllsch typedef struct _EFI_CONFIGURATION_TABLE {
856 1.1 jakllsch EFI_GUID VendorGuid;
857 1.1 jakllsch VOID *VendorTable;
858 1.1 jakllsch } EFI_CONFIGURATION_TABLE;
859 1.1 jakllsch
860 1.1 jakllsch
861 1.1 jakllsch //
862 1.1 jakllsch // EFI System Table
863 1.1 jakllsch //
864 1.1 jakllsch
865 1.1 jakllsch
866 1.1 jakllsch
867 1.1 jakllsch
868 1.1 jakllsch #define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
869 1.1 jakllsch #define EFI_SYSTEM_TABLE_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
870 1.1 jakllsch
871 1.1 jakllsch typedef struct _EFI_SYSTEM_TABLE {
872 1.1 jakllsch EFI_TABLE_HEADER Hdr;
873 1.1 jakllsch
874 1.1 jakllsch CHAR16 *FirmwareVendor;
875 1.1 jakllsch UINT32 FirmwareRevision;
876 1.1 jakllsch
877 1.1 jakllsch EFI_HANDLE ConsoleInHandle;
878 1.1 jakllsch SIMPLE_INPUT_INTERFACE *ConIn;
879 1.1 jakllsch
880 1.1 jakllsch EFI_HANDLE ConsoleOutHandle;
881 1.1 jakllsch SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut;
882 1.1 jakllsch
883 1.1 jakllsch EFI_HANDLE StandardErrorHandle;
884 1.1 jakllsch SIMPLE_TEXT_OUTPUT_INTERFACE *StdErr;
885 1.1 jakllsch
886 1.1 jakllsch EFI_RUNTIME_SERVICES *RuntimeServices;
887 1.1 jakllsch EFI_BOOT_SERVICES *BootServices;
888 1.1 jakllsch
889 1.1 jakllsch UINTN NumberOfTableEntries;
890 1.1 jakllsch EFI_CONFIGURATION_TABLE *ConfigurationTable;
891 1.1 jakllsch
892 1.1 jakllsch } EFI_SYSTEM_TABLE;
893 1.1 jakllsch
894 1.1 jakllsch #endif
895 1.1 jakllsch
896