⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actypes.h

📁 acpi tools for linux include acpiexec and acpixtract
💻 H
📖 第 1 页 / 共 4 页
字号:
#ifndef NULL#define NULL                            (void *) 0#endif/* * Mescellaneous types */typedef UINT32                          ACPI_STATUS;    /* All ACPI Exceptions */typedef UINT32                          ACPI_NAME;      /* 4-byte ACPI name */typedef char *                          ACPI_STRING;    /* Null terminated ASCII string */typedef void *                          ACPI_HANDLE;    /* Actually a ptr to a NS Node */typedef struct uint64_struct{    UINT32                          Lo;    UINT32                          Hi;} UINT64_STRUCT;typedef union uint64_overlay{    UINT64                          Full;    UINT64_STRUCT                   Part;} UINT64_OVERLAY;typedef struct uint32_struct{    UINT32                          Lo;    UINT32                          Hi;} UINT32_STRUCT;/* Synchronization objects */#define ACPI_MUTEX                      void *#define ACPI_SEMAPHORE                  void */* * Acpi integer width. In ACPI version 1, integers are 32 bits.  In ACPI * version 2, integers are 64 bits. Note that this pertains to the ACPI integer * type only, not other integers used in the implementation of the ACPI CA * subsystem. */typedef UINT64                          ACPI_INTEGER;#define ACPI_INTEGER_MAX                ACPI_UINT64_MAX#define ACPI_INTEGER_BIT_SIZE           64#define ACPI_MAX_DECIMAL_DIGITS         20  /* 2^64 = 18,446,744,073,709,551,616 */#if ACPI_MACHINE_WIDTH == 64#define ACPI_USE_NATIVE_DIVIDE          /* Use compiler native 64-bit divide */#endif#define ACPI_MAX64_DECIMAL_DIGITS       20#define ACPI_MAX32_DECIMAL_DIGITS       10#define ACPI_MAX16_DECIMAL_DIGITS        5#define ACPI_MAX8_DECIMAL_DIGITS         3/* * Constants with special meanings */#define ACPI_ROOT_OBJECT                ACPI_ADD_PTR (ACPI_HANDLE, NULL, ACPI_MAX_PTR)/* * Initialization sequence */#define ACPI_FULL_INITIALIZATION        0x00#define ACPI_NO_ADDRESS_SPACE_INIT      0x01#define ACPI_NO_HARDWARE_INIT           0x02#define ACPI_NO_EVENT_INIT              0x04#define ACPI_NO_HANDLER_INIT            0x08#define ACPI_NO_ACPI_ENABLE             0x10#define ACPI_NO_DEVICE_INIT             0x20#define ACPI_NO_OBJECT_INIT             0x40/* * Initialization state */#define ACPI_SUBSYSTEM_INITIALIZE       0x01#define ACPI_INITIALIZED_OK             0x02/* * Power state values */#define ACPI_STATE_UNKNOWN              (UINT8) 0xFF#define ACPI_STATE_S0                   (UINT8) 0#define ACPI_STATE_S1                   (UINT8) 1#define ACPI_STATE_S2                   (UINT8) 2#define ACPI_STATE_S3                   (UINT8) 3#define ACPI_STATE_S4                   (UINT8) 4#define ACPI_STATE_S5                   (UINT8) 5#define ACPI_S_STATES_MAX               ACPI_STATE_S5#define ACPI_S_STATE_COUNT              6#define ACPI_STATE_D0                   (UINT8) 0#define ACPI_STATE_D1                   (UINT8) 1#define ACPI_STATE_D2                   (UINT8) 2#define ACPI_STATE_D3                   (UINT8) 3#define ACPI_D_STATES_MAX               ACPI_STATE_D3#define ACPI_D_STATE_COUNT              4#define ACPI_STATE_C0                   (UINT8) 0#define ACPI_STATE_C1                   (UINT8) 1#define ACPI_STATE_C2                   (UINT8) 2#define ACPI_STATE_C3                   (UINT8) 3#define ACPI_C_STATES_MAX               ACPI_STATE_C3#define ACPI_C_STATE_COUNT              4/* * Sleep type invalid value */#define ACPI_SLEEP_TYPE_MAX             0x7#define ACPI_SLEEP_TYPE_INVALID         0xFF/* * Standard notify values */#define ACPI_NOTIFY_BUS_CHECK           (UINT8) 0#define ACPI_NOTIFY_DEVICE_CHECK        (UINT8) 1#define ACPI_NOTIFY_DEVICE_WAKE         (UINT8) 2#define ACPI_NOTIFY_EJECT_REQUEST       (UINT8) 3#define ACPI_NOTIFY_DEVICE_CHECK_LIGHT  (UINT8) 4#define ACPI_NOTIFY_FREQUENCY_MISMATCH  (UINT8) 5#define ACPI_NOTIFY_BUS_MODE_MISMATCH   (UINT8) 6#define ACPI_NOTIFY_POWER_FAULT         (UINT8) 7/* * Types associated with ACPI names and objects.  The first group of * values (up to ACPI_TYPE_EXTERNAL_MAX) correspond to the definition * of the ACPI ObjectType() operator (See the ACPI Spec).  Therefore, * only add to the first group if the spec changes. * * NOTE: Types must be kept in sync with the global AcpiNsProperties * and AcpiNsTypeNames arrays. */typedef UINT32                          ACPI_OBJECT_TYPE;#define ACPI_TYPE_ANY                   0x00#define ACPI_TYPE_INTEGER               0x01  /* Byte/Word/Dword/Zero/One/Ones */#define ACPI_TYPE_STRING                0x02#define ACPI_TYPE_BUFFER                0x03#define ACPI_TYPE_PACKAGE               0x04  /* ByteConst, multiple DataTerm/Constant/SuperName */#define ACPI_TYPE_FIELD_UNIT            0x05#define ACPI_TYPE_DEVICE                0x06  /* Name, multiple Node */#define ACPI_TYPE_EVENT                 0x07#define ACPI_TYPE_METHOD                0x08  /* Name, ByteConst, multiple Code */#define ACPI_TYPE_MUTEX                 0x09#define ACPI_TYPE_REGION                0x0A#define ACPI_TYPE_POWER                 0x0B  /* Name,ByteConst,WordConst,multi Node */#define ACPI_TYPE_PROCESSOR             0x0C  /* Name,ByteConst,DWordConst,ByteConst,multi NmO */#define ACPI_TYPE_THERMAL               0x0D  /* Name, multiple Node */#define ACPI_TYPE_BUFFER_FIELD          0x0E#define ACPI_TYPE_DDB_HANDLE            0x0F#define ACPI_TYPE_DEBUG_OBJECT          0x10#define ACPI_TYPE_EXTERNAL_MAX          0x10/* * These are object types that do not map directly to the ACPI * ObjectType() operator. They are used for various internal purposes only. * If new predefined ACPI_TYPEs are added (via the ACPI specification), these * internal types must move upwards. (There is code that depends on these * values being contiguous with the external types above.) */#define ACPI_TYPE_LOCAL_REGION_FIELD    0x11#define ACPI_TYPE_LOCAL_BANK_FIELD      0x12#define ACPI_TYPE_LOCAL_INDEX_FIELD     0x13#define ACPI_TYPE_LOCAL_REFERENCE       0x14  /* Arg#, Local#, Name, Debug, RefOf, Index */#define ACPI_TYPE_LOCAL_ALIAS           0x15#define ACPI_TYPE_LOCAL_METHOD_ALIAS    0x16#define ACPI_TYPE_LOCAL_NOTIFY          0x17#define ACPI_TYPE_LOCAL_ADDRESS_HANDLER 0x18#define ACPI_TYPE_LOCAL_RESOURCE        0x19#define ACPI_TYPE_LOCAL_RESOURCE_FIELD  0x1A#define ACPI_TYPE_LOCAL_SCOPE           0x1B  /* 1 Name, multiple ObjectList Nodes */#define ACPI_TYPE_NS_NODE_MAX           0x1B  /* Last typecode used within a NS Node *//* * These are special object types that never appear in * a Namespace node, only in an ACPI_OPERAND_OBJECT */#define ACPI_TYPE_LOCAL_EXTRA           0x1C#define ACPI_TYPE_LOCAL_DATA            0x1D#define ACPI_TYPE_LOCAL_MAX             0x1D/* All types above here are invalid */#define ACPI_TYPE_INVALID               0x1E#define ACPI_TYPE_NOT_FOUND             0xFF#define ACPI_NUM_NS_TYPES               (ACPI_TYPE_INVALID + 1)/* * All I/O */#define ACPI_READ                       0#define ACPI_WRITE                      1#define ACPI_IO_MASK                    1/* * Event Types: Fixed & General Purpose */typedef UINT32                          ACPI_EVENT_TYPE;/* * Fixed events */#define ACPI_EVENT_PMTIMER              0#define ACPI_EVENT_GLOBAL               1#define ACPI_EVENT_POWER_BUTTON         2#define ACPI_EVENT_SLEEP_BUTTON         3#define ACPI_EVENT_RTC                  4#define ACPI_EVENT_MAX                  4#define ACPI_NUM_FIXED_EVENTS           ACPI_EVENT_MAX + 1/* * Event Status - Per event * ------------- * The encoding of ACPI_EVENT_STATUS is illustrated below. * Note that a set bit (1) indicates the property is TRUE * (e.g. if bit 0 is set then the event is enabled). * +-------------+-+-+-+ * |   Bits 31:3 |2|1|0| * +-------------+-+-+-+ *          |     | | | *          |     | | +- Enabled? *          |     | +--- Enabled for wake? *          |     +----- Set? *          +----------- <Reserved> */typedef UINT32                          ACPI_EVENT_STATUS;#define ACPI_EVENT_FLAG_DISABLED        (ACPI_EVENT_STATUS) 0x00#define ACPI_EVENT_FLAG_ENABLED         (ACPI_EVENT_STATUS) 0x01#define ACPI_EVENT_FLAG_WAKE_ENABLED    (ACPI_EVENT_STATUS) 0x02#define ACPI_EVENT_FLAG_SET             (ACPI_EVENT_STATUS) 0x04/* * General Purpose Events (GPE) */#define ACPI_GPE_INVALID                0xFF#define ACPI_GPE_MAX                    0xFF#define ACPI_NUM_GPE                    256#define ACPI_GPE_ENABLE                 0#define ACPI_GPE_DISABLE                1/* * GPE info flags - Per GPE * +-+-+-+---+---+-+ * |7|6|5|4:3|2:1|0| * +-+-+-+---+---+-+ *  | | |  |   |  | *  | | |  |   |  +--- Interrupt type: Edge or Level Triggered *  | | |  |   +--- Type: Wake-only, Runtime-only, or wake/runtime *  | | |  +--- Type of dispatch -- to method, handler, or none *  | | +--- Enabled for runtime? *  | +--- Enabled for wake? *  +--- Unused */#define ACPI_GPE_XRUPT_TYPE_MASK        (UINT8) 0x01#define ACPI_GPE_LEVEL_TRIGGERED        (UINT8) 0x01#define ACPI_GPE_EDGE_TRIGGERED         (UINT8) 0x00#define ACPI_GPE_TYPE_MASK              (UINT8) 0x06#define ACPI_GPE_TYPE_WAKE_RUN          (UINT8) 0x06#define ACPI_GPE_TYPE_WAKE              (UINT8) 0x02#define ACPI_GPE_TYPE_RUNTIME           (UINT8) 0x04    /* Default */#define ACPI_GPE_DISPATCH_MASK          (UINT8) 0x18#define ACPI_GPE_DISPATCH_HANDLER       (UINT8) 0x08#define ACPI_GPE_DISPATCH_METHOD        (UINT8) 0x10#define ACPI_GPE_DISPATCH_NOT_USED      (UINT8) 0x00    /* Default */#define ACPI_GPE_RUN_ENABLE_MASK        (UINT8) 0x20#define ACPI_GPE_RUN_ENABLED            (UINT8) 0x20#define ACPI_GPE_RUN_DISABLED           (UINT8) 0x00    /* Default */#define ACPI_GPE_WAKE_ENABLE_MASK       (UINT8) 0x40#define ACPI_GPE_WAKE_ENABLED           (UINT8) 0x40#define ACPI_GPE_WAKE_DISABLED          (UINT8) 0x00    /* Default */#define ACPI_GPE_ENABLE_MASK            (UINT8) 0x60    /* Both run/wake *//* * Flags for GPE and Lock interfaces */#define ACPI_EVENT_WAKE_ENABLE          0x2             /* AcpiGpeEnable */#define ACPI_EVENT_WAKE_DISABLE         0x2             /* AcpiGpeDisable */#define ACPI_NOT_ISR                    0x1#define ACPI_ISR                        0x0/* Notify types */#define ACPI_SYSTEM_NOTIFY              0x1#define ACPI_DEVICE_NOTIFY              0x2#define ACPI_ALL_NOTIFY                 0x3#define ACPI_MAX_NOTIFY_HANDLER_TYPE    0x3#define ACPI_MAX_SYS_NOTIFY             0x7f/* Address Space (Operation Region) Types */typedef UINT8                           ACPI_ADR_SPACE_TYPE;#define ACPI_ADR_SPACE_SYSTEM_MEMORY    (ACPI_ADR_SPACE_TYPE) 0#define ACPI_ADR_SPACE_SYSTEM_IO        (ACPI_ADR_SPACE_TYPE) 1#define ACPI_ADR_SPACE_PCI_CONFIG       (ACPI_ADR_SPACE_TYPE) 2#define ACPI_ADR_SPACE_EC               (ACPI_ADR_SPACE_TYPE) 3#define ACPI_ADR_SPACE_SMBUS            (ACPI_ADR_SPACE_TYPE) 4#define ACPI_ADR_SPACE_CMOS             (ACPI_ADR_SPACE_TYPE) 5#define ACPI_ADR_SPACE_PCI_BAR_TARGET   (ACPI_ADR_SPACE_TYPE) 6#define ACPI_ADR_SPACE_DATA_TABLE       (ACPI_ADR_SPACE_TYPE) 7#define ACPI_ADR_SPACE_FIXED_HARDWARE   (ACPI_ADR_SPACE_TYPE) 127/* * BitRegister IDs * These are bitfields defined within the full ACPI registers */#define ACPI_BITREG_TIMER_STATUS                0x00#define ACPI_BITREG_BUS_MASTER_STATUS           0x01#define ACPI_BITREG_GLOBAL_LOCK_STATUS          0x02#define ACPI_BITREG_POWER_BUTTON_STATUS         0x03#define ACPI_BITREG_SLEEP_BUTTON_STATUS         0x04#define ACPI_BITREG_RT_CLOCK_STATUS             0x05#define ACPI_BITREG_WAKE_STATUS                 0x06#define ACPI_BITREG_PCIEXP_WAKE_STATUS          0x07#define ACPI_BITREG_TIMER_ENABLE                0x08#define ACPI_BITREG_GLOBAL_LOCK_ENABLE          0x09#define ACPI_BITREG_POWER_BUTTON_ENABLE         0x0A#define ACPI_BITREG_SLEEP_BUTTON_ENABLE         0x0B#define ACPI_BITREG_RT_CLOCK_ENABLE             0x0C#define ACPI_BITREG_WAKE_ENABLE                 0x0D#define ACPI_BITREG_PCIEXP_WAKE_DISABLE         0x0E#define ACPI_BITREG_SCI_ENABLE                  0x0F#define ACPI_BITREG_BUS_MASTER_RLD              0x10#define ACPI_BITREG_GLOBAL_LOCK_RELEASE         0x11#define ACPI_BITREG_SLEEP_TYPE_A                0x12#define ACPI_BITREG_SLEEP_TYPE_B                0x13#define ACPI_BITREG_SLEEP_ENABLE                0x14#define ACPI_BITREG_ARB_DISABLE                 0x15#define ACPI_BITREG_MAX                         0x15#define ACPI_NUM_BITREG                         ACPI_BITREG_MAX + 1/* * External ACPI object definition */typedef union acpi_object{    ACPI_OBJECT_TYPE                Type;   /* See definition of AcpiNsType for values */    struct    {        ACPI_OBJECT_TYPE                Type;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -