summaryrefslogtreecommitdiff
path: root/test.q
blob: 07697523eceedca8295866ce9c649fcfb614c2c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
type EfiStatus: uint32;
type EfiHandle: any*;

type EfiGuid: struct {
    uint32 data1;
    uint16 data2;
    uint16 data3;
}

type EfiTableHeader: struct {
    uint64 signature;
    uint32 revision;
    uint32 headerSize;
    uint32 crc32;
    uint32 reserved;
}

type EfiRuntimeServices: struct {
    EfiTableHeader hdr;
}

type EfiBootServices: struct {
    EfiTableHeader hdr;
}

type EfiConfigurationTable: struct {
    EfiGuid vendorGuid;
    any *vendorTable;
}

type EfiSystemTable: struct {
    EfiTableHeader hdr;

    any *firmwareVendor;
    uint32 firmwareRevision;

    EfiHandle consoleInHandle;
    any *conIn;
    EfiHandle consoleOutHandle;
    any *conOut;
    EfiHandle standardErrorHandle;
    any *stdErr;

    EfiRuntimeServices *runtimeServices;
    EfiBootServices *bootServices;

    uint numberOfTableEntries;
    EfiConfigurationTable *configurationTable;
}

proc efiEntry(EfiHandle imageHandle, EfiSystemTable *systemTable) -> EfiStatus;