📄 amlresrc.h
字号:
typedef struct aml_resource_end_dependent{ AML_RESOURCE_SMALL_HEADER_COMMON} AML_RESOURCE_END_DEPENDENT;typedef struct aml_resource_io{ AML_RESOURCE_SMALL_HEADER_COMMON UINT8 Flags; UINT16 Minimum; UINT16 Maximum; UINT8 Alignment; UINT8 AddressLength;} AML_RESOURCE_IO;typedef struct aml_resource_fixed_io{ AML_RESOURCE_SMALL_HEADER_COMMON UINT16 Address; UINT8 AddressLength;} AML_RESOURCE_FIXED_IO;typedef struct aml_resource_vendor_small{ AML_RESOURCE_SMALL_HEADER_COMMON} AML_RESOURCE_VENDOR_SMALL;typedef struct aml_resource_end_tag{ AML_RESOURCE_SMALL_HEADER_COMMON UINT8 Checksum;} AML_RESOURCE_END_TAG;/* * LARGE descriptors */#define AML_RESOURCE_LARGE_HEADER_COMMON \ UINT8 DescriptorType;\ UINT16 ResourceLength;typedef struct aml_resource_large_header{ AML_RESOURCE_LARGE_HEADER_COMMON} AML_RESOURCE_LARGE_HEADER;typedef struct aml_resource_memory24{ AML_RESOURCE_LARGE_HEADER_COMMON UINT8 Flags; UINT16 Minimum; UINT16 Maximum; UINT16 Alignment; UINT16 AddressLength;} AML_RESOURCE_MEMORY24;typedef struct aml_resource_vendor_large{ AML_RESOURCE_LARGE_HEADER_COMMON} AML_RESOURCE_VENDOR_LARGE;typedef struct aml_resource_memory32{ AML_RESOURCE_LARGE_HEADER_COMMON UINT8 Flags; UINT32 Minimum; UINT32 Maximum; UINT32 Alignment; UINT32 AddressLength;} AML_RESOURCE_MEMORY32;typedef struct aml_resource_fixed_memory32{ AML_RESOURCE_LARGE_HEADER_COMMON UINT8 Flags; UINT32 Address; UINT32 AddressLength;} AML_RESOURCE_FIXED_MEMORY32;#define AML_RESOURCE_ADDRESS_COMMON \ UINT8 ResourceType; \ UINT8 Flags; \ UINT8 SpecificFlags;typedef struct aml_resource_address{ AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON} AML_RESOURCE_ADDRESS;typedef struct aml_resource_extended_address64{ AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON UINT8 RevisionID; UINT8 Reserved; UINT64 Granularity; UINT64 Minimum; UINT64 Maximum; UINT64 TranslationOffset; UINT64 AddressLength; UINT64 TypeSpecific;} AML_RESOURCE_EXTENDED_ADDRESS64;#define AML_RESOURCE_EXTENDED_ADDRESS_REVISION 1 /* ACPI 3.0 */typedef struct aml_resource_address64{ AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON UINT64 Granularity; UINT64 Minimum; UINT64 Maximum; UINT64 TranslationOffset; UINT64 AddressLength;} AML_RESOURCE_ADDRESS64;typedef struct aml_resource_address32{ AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON UINT32 Granularity; UINT32 Minimum; UINT32 Maximum; UINT32 TranslationOffset; UINT32 AddressLength;} AML_RESOURCE_ADDRESS32;typedef struct aml_resource_address16{ AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON UINT16 Granularity; UINT16 Minimum; UINT16 Maximum; UINT16 TranslationOffset; UINT16 AddressLength;} AML_RESOURCE_ADDRESS16;typedef struct aml_resource_extended_irq{ AML_RESOURCE_LARGE_HEADER_COMMON UINT8 Flags; UINT8 InterruptCount; UINT32 Interrupts[1]; /* ResSourceIndex, ResSource optional fields follow */} AML_RESOURCE_EXTENDED_IRQ;typedef struct aml_resource_generic_register{ AML_RESOURCE_LARGE_HEADER_COMMON UINT8 AddressSpaceId; UINT8 BitWidth; UINT8 BitOffset; UINT8 AccessSize; /* ACPI 3.0, was previously Reserved */ UINT64 Address;} AML_RESOURCE_GENERIC_REGISTER;/* restore default alignment */#pragma pack()/* Union of all resource descriptors, so we can allocate the worst case */typedef union aml_resource{ /* Descriptor headers */ UINT8 DescriptorType; AML_RESOURCE_SMALL_HEADER SmallHeader; AML_RESOURCE_LARGE_HEADER LargeHeader; /* Small resource descriptors */ AML_RESOURCE_IRQ Irq; AML_RESOURCE_DMA Dma; AML_RESOURCE_START_DEPENDENT StartDpf; AML_RESOURCE_END_DEPENDENT EndDpf; AML_RESOURCE_IO Io; AML_RESOURCE_FIXED_IO FixedIo; AML_RESOURCE_VENDOR_SMALL VendorSmall; AML_RESOURCE_END_TAG EndTag; /* Large resource descriptors */ AML_RESOURCE_MEMORY24 Memory24; AML_RESOURCE_GENERIC_REGISTER GenericReg; AML_RESOURCE_VENDOR_LARGE VendorLarge; AML_RESOURCE_MEMORY32 Memory32; AML_RESOURCE_FIXED_MEMORY32 FixedMemory32; AML_RESOURCE_ADDRESS16 Address16; AML_RESOURCE_ADDRESS32 Address32; AML_RESOURCE_ADDRESS64 Address64; AML_RESOURCE_EXTENDED_ADDRESS64 ExtAddress64; AML_RESOURCE_EXTENDED_IRQ ExtendedIrq; /* Utility overlays */ AML_RESOURCE_ADDRESS Address; UINT32 DwordItem; UINT16 WordItem; UINT8 ByteItem;} AML_RESOURCE;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -