Luna/kernel/include/acpi/RSDT.h
2022-09-05 16:13:51 +02:00

35 lines
668 B
C++

#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);
}