include/acpi/actypes.h
Source file repositories/reference/linux-study-clean/include/acpi/actypes.h
File Facts
- System
- Linux kernel
- Corpus path
include/acpi/actypes.h- Extension
.h- Size
- 43386 bytes
- Lines
- 1335
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct acpi_object_liststruct acpi_bufferstruct acpi_predefined_namesstruct acpi_system_infostruct acpi_statisticsstruct acpi_connection_infostruct acpi_pcc_infostruct acpi_ffh_infostruct acpi_pnp_device_idstruct acpi_pnp_device_id_liststruct acpi_device_infostruct acpi_pci_idstruct acpi_mem_mappingstruct acpi_mem_space_contextstruct acpi_data_table_mappingstruct acpi_memory_list
Annotated Snippet
struct acpi_object_list {
u32 count;
union acpi_object *pointer;
};
/*
* Miscellaneous common Data Structures used by the interfaces
*/
#define ACPI_NO_BUFFER 0
#ifdef ACPI_NO_MEM_ALLOCATIONS
#define ACPI_ALLOCATE_BUFFER (acpi_size) (0)
#define ACPI_ALLOCATE_LOCAL_BUFFER (acpi_size) (0)
#else /* ACPI_NO_MEM_ALLOCATIONS */
#define ACPI_ALLOCATE_BUFFER (acpi_size) (-1) /* Let ACPICA allocate buffer */
#define ACPI_ALLOCATE_LOCAL_BUFFER (acpi_size) (-2) /* For internal use only (enables tracking) */
#endif /* ACPI_NO_MEM_ALLOCATIONS */
struct acpi_buffer {
acpi_size length; /* Length in bytes of the buffer */
void *pointer; /* pointer to buffer */
};
/*
* name_type for acpi_get_name
*/
#define ACPI_FULL_PATHNAME 0
#define ACPI_SINGLE_NAME 1
#define ACPI_FULL_PATHNAME_NO_TRAILING 2
#define ACPI_NAME_TYPE_MAX 2
/*
* Predefined Namespace items
*/
struct acpi_predefined_names {
const char *name;
u8 type;
char *val;
};
/*
* Structure and flags for acpi_get_system_info
*/
#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 acpi_get_system_info()
*/
struct acpi_system_info {
u32 acpi_ca_version;
u32 flags;
u32 timer_resolution;
u32 reserved1;
u32 reserved2;
u32 debug_level;
u32 debug_layer;
};
/*
* System statistics returned by acpi_get_statistics()
*/
struct acpi_statistics {
u32 sci_count;
u32 gpe_count;
u32 fixed_event_count[ACPI_NUM_FIXED_EVENTS];
u32 method_count;
};
/*
* Types specific to the OS service interfaces
*/
typedef u32
(ACPI_SYSTEM_XFACE * acpi_osd_handler) (void *context);
typedef void
(ACPI_SYSTEM_XFACE * acpi_osd_exec_callback) (void *context);
/*
* Various handlers and callback procedures
*/
typedef
u32 (*acpi_sci_handler) (void *context);
Annotation
- Detected declarations: `struct acpi_object_list`, `struct acpi_buffer`, `struct acpi_predefined_names`, `struct acpi_system_info`, `struct acpi_statistics`, `struct acpi_connection_info`, `struct acpi_pcc_info`, `struct acpi_ffh_info`, `struct acpi_pnp_device_id`, `struct acpi_pnp_device_id_list`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: integration implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.