Luna/kernel/include/acpi/RSDT.h

35 lines
668 B
C
Raw Normal View History

2022-09-05 14:13:51 +00:00
#pragma once
#include <stdint.h>
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);
}