Warning: This file is not a C or C++ file. It does not have highlighting.

1//===-- Definition of EFI_SYSTEM_TABLE type -------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===---------------------------------------------------------------------===//
8
9#ifndef LLVM_LIBC_TYPES_EFI_SYSTEM_TABLE_H
10#define LLVM_LIBC_TYPES_EFI_SYSTEM_TABLE_H
11
12#include "../llvm-libc-macros/stdint-macros.h"
13#include "EFI_BOOT_SERVICES.h"
14#include "EFI_CONFIGURATION_TABLE.h"
15#include "EFI_HANDLE.h"
16#include "EFI_RUNTIME_SERVICES.h"
17#include "EFI_SIMPLE_TEXT_INPUT_PROTOCOL.h"
18#include "EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h"
19#include "EFI_STATUS.h"
20#include "EFI_TABLE_HEADER.h"
21
22#include "char16_t.h"
23#include "size_t.h"
24
25#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
26#define EFI_2_100_SYSTEM_TABLE_REVISION ((2 << 16) | (100))
27#define EFI_2_90_SYSTEM_TABLE_REVISION ((2 << 16) | (90))
28#define EFI_2_80_SYSTEM_TABLE_REVISION ((2 << 16) | (80))
29#define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70))
30#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
31#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
32#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
33#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
34#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
35#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
36#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
37#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
38#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
39#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
40#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
41#define EFI_SYSTEM_TABLE_REVISION EFI_2_100_SYSTEM_TABLE_REVISION
42
43typedef struct {
44 EFI_TABLE_HEADER Hdr;
45
46 char16_t *FirmwareVendor;
47 uint32_t FirmwareRevision;
48
49 EFI_HANDLE ConsoleInHandle;
50 EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;
51
52 EFI_HANDLE ConsoleOutHandle;
53 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;
54
55 EFI_HANDLE StandardErrorHandle;
56 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;
57
58 EFI_RUNTIME_SERVICES *RuntimeServices;
59 EFI_BOOT_SERVICES *BootServices;
60
61 size_t NumberOfTableEntries;
62 EFI_CONFIGURATION_TABLE *ConfigurationTable;
63} EFI_SYSTEM_TABLE;
64
65#endif // LLVM_LIBC_TYPES_EFI_SYSTEM_TABLE_H
66

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of libc/include/llvm-libc-types/EFI_SYSTEM_TABLE.h