📄 actypes.h
字号:
ACPI_INTEGER Value; /* The actual number */ } Integer; struct { ACPI_OBJECT_TYPE Type; UINT32 Length; /* # of bytes in string, excluding trailing null */ char *Pointer; /* points to the string value */ } String; struct { ACPI_OBJECT_TYPE Type; UINT32 Length; /* # of bytes in buffer */ UINT8 *Pointer; /* points to the buffer */ } Buffer; struct { ACPI_OBJECT_TYPE Type; UINT32 Fill1; ACPI_HANDLE Handle; /* object reference */ } Reference; struct { ACPI_OBJECT_TYPE Type; UINT32 Count; /* # of elements in package */ union acpi_object *Elements; /* Pointer to an array of ACPI_OBJECTs */ } Package; struct { ACPI_OBJECT_TYPE Type; UINT32 ProcId; ACPI_IO_ADDRESS PblkAddress; UINT32 PblkLength; } Processor; struct { ACPI_OBJECT_TYPE Type; UINT32 SystemLevel; UINT32 ResourceOrder; } PowerResource;} ACPI_OBJECT;/* * List of objects, used as a parameter list for control method evaluation */typedef struct acpi_object_list{ UINT32 Count; ACPI_OBJECT *Pointer;} ACPI_OBJECT_LIST;/* * Miscellaneous common Data Structures used by the interfaces */#define ACPI_NO_BUFFER 0#define ACPI_ALLOCATE_BUFFER (ACPI_SIZE) (-1)#define ACPI_ALLOCATE_LOCAL_BUFFER (ACPI_SIZE) (-2)typedef struct acpi_buffer{ ACPI_SIZE Length; /* Length in bytes of the buffer */ void *Pointer; /* pointer to buffer */} ACPI_BUFFER;/* * NameType for AcpiGetName */#define ACPI_FULL_PATHNAME 0#define ACPI_SINGLE_NAME 1#define ACPI_NAME_TYPE_MAX 1/* * Structure and flags for AcpiGetSystemInfo */#define ACPI_SYS_MODE_UNKNOWN 0x0000#define ACPI_SYS_MODE_ACPI 0x0001#define ACPI_SYS_MODE_LEGACY 0x0002#define ACPI_SYS_MODES_MASK 0x0003/* * System info returned by AcpiGetSystemInfo() */typedef struct acpi_system_info{ UINT32 AcpiCaVersion; UINT32 Flags; UINT32 TimerResolution; UINT32 Reserved1; UINT32 Reserved2; UINT32 DebugLevel; UINT32 DebugLayer;} ACPI_SYSTEM_INFO;/* * System statistecs returned by AcpiGetStatistics() */typedef struct acpi_statistics{ UINT32 SciCount; UINT32 GpeCount; UINT32 FixedEventCount[ACPI_NUM_FIXED_EVENTS]; UINT32 MethodCount;} ACPI_STATISTICS;/* Table Event Types */#define ACPI_TABLE_EVENT_LOAD 0x0#define ACPI_TABLE_EVENT_UNLOAD 0x1#define ACPI_NUM_TABLE_EVENTS 2/* * Types specific to the OS service interfaces */typedef UINT32(ACPI_SYSTEM_XFACE *ACPI_OSD_HANDLER) ( void *Context);typedef void(ACPI_SYSTEM_XFACE *ACPI_OSD_EXEC_CALLBACK) ( void *Context);/* * Various handlers and callback procedures */typedefUINT32 (*ACPI_EVENT_HANDLER) ( void *Context);typedefvoid (*ACPI_NOTIFY_HANDLER) ( ACPI_HANDLE Device, UINT32 Value, void *Context);typedefvoid (*ACPI_OBJECT_HANDLER) ( ACPI_HANDLE Object, UINT32 Function, void *Data);typedefACPI_STATUS (*ACPI_INIT_HANDLER) ( ACPI_HANDLE Object, UINT32 Function);#define ACPI_INIT_DEVICE_INI 1typedefACPI_STATUS (*ACPI_EXCEPTION_HANDLER) ( ACPI_STATUS AmlStatus, ACPI_NAME Name, UINT16 Opcode, UINT32 AmlOffset, void *Context);/* Table Event handler (Load, LoadTable etc) and types */typedefACPI_STATUS (*ACPI_TABLE_HANDLER) ( UINT32 Event, void *Table, void *Context);#define ACPI_TABLE_LOAD 0x0#define ACPI_TABLE_UNLOAD 0x1#define ACPI_NUM_TABLE_EVENTS 2/* Address Spaces (For Operation Regions) */typedefACPI_STATUS (*ACPI_ADR_SPACE_HANDLER) ( UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 BitWidth, ACPI_INTEGER *Value, void *HandlerContext, void *RegionContext);#define ACPI_DEFAULT_HANDLER NULLtypedefACPI_STATUS (*ACPI_ADR_SPACE_SETUP) ( ACPI_HANDLE RegionHandle, UINT32 Function, void *HandlerContext, void **RegionContext);#define ACPI_REGION_ACTIVATE 0#define ACPI_REGION_DEACTIVATE 1typedefACPI_STATUS (*ACPI_WALK_CALLBACK) ( ACPI_HANDLE ObjHandle, UINT32 NestingLevel, void *Context, void **ReturnValue);/* Interrupt handler return values */#define ACPI_INTERRUPT_NOT_HANDLED 0x00#define ACPI_INTERRUPT_HANDLED 0x01/* Common string version of device HIDs and UIDs */typedef struct acpi_device_id{ char Value[ACPI_DEVICE_ID_LENGTH];} ACPI_DEVICE_ID;/* Common string version of device CIDs */typedef struct acpi_compatible_id{ char Value[ACPI_MAX_CID_LENGTH];} ACPI_COMPATIBLE_ID;typedef struct acpi_compatible_id_list{ UINT32 Count; UINT32 Size; ACPI_COMPATIBLE_ID Id[1];} ACPI_COMPATIBLE_ID_LIST;/* Structure and flags for AcpiGetObjectInfo */#define ACPI_VALID_STA 0x0001#define ACPI_VALID_ADR 0x0002#define ACPI_VALID_HID 0x0004#define ACPI_VALID_UID 0x0008#define ACPI_VALID_CID 0x0010#define ACPI_VALID_SXDS 0x0020/* Flags for _STA method */#define ACPI_STA_DEVICE_PRESENT 0x01#define ACPI_STA_DEVICE_ENABLED 0x02#define ACPI_STA_DEVICE_UI 0x04#define ACPI_STA_DEVICE_FUNCTIONING 0x08#define ACPI_STA_DEVICE_OK 0x08 /* Synonym */#define ACPI_STA_BATTERY_PRESENT 0x10#define ACPI_COMMON_OBJ_INFO \ ACPI_OBJECT_TYPE Type; /* ACPI object type */ \ ACPI_NAME Name /* ACPI object Name */typedef struct acpi_obj_info_header{ ACPI_COMMON_OBJ_INFO;} ACPI_OBJ_INFO_HEADER;/* Structure returned from Get Object Info */typedef struct acpi_device_info{ ACPI_COMMON_OBJ_INFO; UINT32 Valid; /* Indicates which fields below are valid */ UINT32 CurrentStatus; /* _STA value */ ACPI_INTEGER Address; /* _ADR value if any */ ACPI_DEVICE_ID HardwareId; /* _HID value if any */ ACPI_DEVICE_ID UniqueId; /* _UID value if any */ UINT8 HighestDstates[4]; /* _SxD values: 0xFF indicates not valid */ ACPI_COMPATIBLE_ID_LIST CompatibilityId; /* List of _CIDs if any */} ACPI_DEVICE_INFO;/* Context structs for address space handlers */typedef struct acpi_pci_id{ UINT16 Segment; UINT16 Bus; UINT16 Device; UINT16 Function;} ACPI_PCI_ID;typedef struct acpi_mem_space_context{ UINT32 Length; ACPI_PHYSICAL_ADDRESS Address; ACPI_PHYSICAL_ADDRESS MappedPhysicalAddress; UINT8 *MappedLogicalAddress; ACPI_SIZE MappedLength;} ACPI_MEM_SPACE_CONTEXT;/* * Definitions for Resource Attributes */typedef UINT16 ACPI_RS_LENGTH; /* Resource Length field is fixed at 16 bits */typedef UINT32 ACPI_RSDESC_SIZE; /* Max Resource Descriptor size is (Length+3) = (64K-1)+3 *//* * Memory Attributes */#define ACPI_READ_ONLY_MEMORY (UINT8) 0x00#define ACPI_READ_WRITE_MEMORY (UINT8) 0x01#define ACPI_NON_CACHEABLE_MEMORY (UINT8) 0x00#define ACPI_CACHABLE_MEMORY (UINT8) 0x01#define ACPI_WRITE_COMBINING_MEMORY (UINT8) 0x02#define ACPI_PREFETCHABLE_MEMORY (UINT8) 0x03/* * IO Attributes * The ISA IO ranges are: n000-n0FFh, n400-n4FFh, n800-n8FFh, nC00-nCFFh. * The non-ISA IO ranges are: n100-n3FFh, n500-n7FFh, n900-nBFFh, nCD0-nFFFh. */#define ACPI_NON_ISA_ONLY_RANGES (UINT8) 0x01#define ACPI_ISA_ONLY_RANGES (UINT8) 0x02#define ACPI_ENTIRE_RANGE (ACPI_NON_ISA_ONLY_RANGES | ACPI_ISA_ONLY_RANGES)/* Type of translation - 1=Sparse, 0=Dense */#define ACPI_SPARSE_TRANSLATION (UINT8) 0x01/* * IO Port Descriptor Decode */#define ACPI_DECODE_10 (UINT8) 0x00 /* 10-bit IO address decode */#define ACPI_DECODE_16 (UINT8) 0x01 /* 16-bit IO address decode *//* * IRQ Attributes */#define ACPI_LEVEL_SENSITIVE (UINT8) 0x00#define ACPI_EDGE_SENSITIVE (UINT8) 0x01#define ACPI_ACTIVE_HIGH (UINT8) 0x00#define ACPI_ACTIVE_LOW (UINT8) 0x01#define ACPI_EXCLUSIVE (UINT8) 0x00#define ACPI_SHARED (UINT8) 0x01/* * DMA Attributes */#define ACPI_COMPATIBILITY (UINT8) 0x00#define ACPI_TYPE_A (UINT8) 0x01
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -