#pragma once #include namespace ACPI { struct SDTHeader { char Signature[4]; uint32_t Length; uint8_t Revision; uint8_t Checksum; char OEMID[6]; char OEMTableID[8]; uint32_t OEMRevision; uint32_t CreatorID; uint32_t CreatorRevision; }; struct XSDT { SDTHeader header; uint64_t PointerToOtherSDT[1]; }; struct RSDT { SDTHeader header; uint32_t PointerToOtherSDT[1]; }; SDTHeader* GetRSDTOrXSDT(); bool ValidateSDTHeader(SDTHeader* header); void* FindTable(SDTHeader* rootSDT, const char* signature); }