summaryrefslogtreecommitdiff
path: root/test.q
diff options
context:
space:
mode:
authorQuinn Stephens <quinn@osmora.org>2024-11-02 08:28:59 -0400
committerQuinn Stephens <quinn@osmora.org>2024-11-02 08:28:59 -0400
commit2ae50e907a7042aecb00bcff7643859d3f657895 (patch)
tree5f5edbb87a3f906a033b73a3c0315866bba32e79 /test.q
parenta515dfb3b8f8e999362db7a6b52b3104c03b750a (diff)
More type parsing
Signed-off-by: Quinn Stephens <quinn@osmora.org>
Diffstat (limited to 'test.q')
-rw-r--r--test.q50
1 files changed, 43 insertions, 7 deletions
diff --git a/test.q b/test.q
index 3af6676..6e92c35 100644
--- a/test.q
+++ b/test.q
@@ -1,13 +1,49 @@
type EfiStatus: uint32;
type EfiHandle: any*;
-type TestEnum: enum {
- nog,
- bal
+type EfiGuid: struct {
+ uint32 data1;
+ uint16 data2;
+ uint16 data3;
};
-type TestStruct: struct {
- EfiStatus status;
- EfiHandle imageHandle;
- any* systemTable;
+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;
};