Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
1.5 KiB

//
// ACPI table header
//
typedef struct {
UCHAR Signature[4];
ULONG Length;
UCHAR Revision;
UCHAR Checksum;
UCHAR OEMID[6];
UCHAR OEMTableID[8];
ULONG OEMRevision;
} ACPI_TABLE_HEADER, *PACPI_TABLE_HEADER;
//
// ASL Terms table
//
typedef struct {
PUCHAR Name; // ASL name
UCHAR Op1; // OpCode 0 (only valid if non-zero)
UCHAR Op2; // OpCode 1 (only valid if non-zero)
UCHAR Flags;
VOID (*Parse)(VOID); // Function to parse term specific stuff
} ASL_TERM, *PASL_TERM;
#define T_VARIABLE 0x01 // term requires varible list
#define T_OPCODE 0x02 // term is opcode
#define T_SUPERNAME 0x04 // term is supername
#define T_DEFDATA 0x08 // valid for Name(xxx,Term)
#define T_PARSEARGS 0x10
#define T_PARSECOMPLETE 0x20
typedef struct {
PUCHAR Name;
ULONG Value;
} ARGMATCH, *PARGMATCH;
//
// AML
//
#define AML_DUAL_PREFIX 0x2E
#define AML_MULTI_PREFIX 0x2F
#define AML_BYTE 0x0A
#define AML_WORD 0x0B
#define AML_DWORD 0x0C
#define AML_NOP 0x00
#define AML_CODEPACKAGE 0x13
//
// other common ASL defines
//
#define NAME_SEG_LENGTH 4
extern ASL_TERM AslTerms[];
extern ARGMATCH PackageTypes[];
extern ARGMATCH FieldWidth[];
extern ARGMATCH FieldLock[];
extern ARGMATCH FieldAccess[];
typedef struct {
ULONG Lock:1;
ULONG Width:2;
ULONG Type:2;
} FIELDENCODE;