ReactOS 0.4.17-dev-1021-g4e54653
types.h
Go to the documentation of this file.
1#pragma once
2
3#include <uacpi/status.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#if UACPI_POINTER_SIZE == 4 && defined(UACPI_PHYS_ADDR_IS_32BITS)
16#else
19#endif
20
21typedef void *uacpi_handle;
22
23typedef union uacpi_object_name {
27
31
41
42typedef enum uacpi_address_space {
56
57 // Internal type
61
62#ifndef UACPI_BAREBONES_MODE
63
64typedef enum uacpi_init_level {
65 // Reboot state, nothing is available
67
73
79
86
87typedef struct uacpi_pci_address {
93
94typedef struct uacpi_data_view {
95 union {
98
101
102 void *data;
103 const void *const_data;
104 };
107
109
110typedef enum uacpi_object_type {
127
132
133// Type bits for API requiring a bit mask, e.g. uacpi_eval_typed
154
156
159
162
167
174);
175
177
183
188
194
209);
210
213
223
230);
233
259
277);
278
288
289typedef struct uacpi_object_array {
293
303
313
323
331
339
347
348typedef struct uacpi_processor_info {
353
359);
360
365
371);
372
373typedef enum uacpi_region_op {
374 // data => uacpi_region_attach_data
376 // data => uacpi_region_detach_data
378
379 // data => uacpi_region_rw_data
382
383 // data => uacpi_region_pcc_send_data
385
386 // data => uacpi_region_gpio_rw_data
389
390 // data => uacpi_region_ipmi_rw_data
392
393 // data => uacpi_region_ffixedhw_rw_data
395
396 // data => uacpi_region_prm_rw_data
398
399 // data => uacpi_region_serial_rw_data
403
408
409typedef struct uacpi_pcc_region_info {
413
415{
418
422 union {
426 };
429
430typedef struct uacpi_region_rw_data {
433 union {
436 };
440
446
448{
456
458{
464
466
468{
473
486
494
503
509
512
515
520
523
524 union {
525 // UACPI_FIRMWARE_REQUEST_BREAKPOINT
526 struct {
527 // The context of the method currently being executed
530
531 // UACPI_FIRMWARE_REQUEST_FATAL
532 struct {
537 };
539
540#define UACPI_INTERRUPT_NOT_HANDLED 0
541#define UACPI_INTERRUPT_HANDLED 1
543
545
546#endif // !UACPI_BAREBONES_MODE
547
548#ifdef __cplusplus
549}
550#endif
UINT op
Definition: effect.c:235
size_t uacpi_size
Definition: types.h:37
uint32_t uacpi_u32
Definition: types.h:21
bool uacpi_bool
Definition: types.h:31
uint64_t uacpi_u64
Definition: types.h:22
char uacpi_char
Definition: types.h:44
uint16_t uacpi_u16
Definition: types.h:20
uint8_t uacpi_u8
Definition: types.h:19
uacpi_status
Definition: status.h:10
uacpi_status uacpi_object_assign_reference(uacpi_object *, uacpi_object *child)
Definition: types.c:1264
void uacpi_object_ref(uacpi_object *obj)
Definition: types.c:734
const uacpi_char * uacpi_address_space_to_string(uacpi_address_space space)
Definition: types.c:11
uacpi_status uacpi_object_assign_package(uacpi_object *, uacpi_object_array in)
Definition: types.c:1325
uacpi_status(* uacpi_notify_handler)(uacpi_handle context, uacpi_namespace_node *node, uacpi_u64 value)
Definition: types.h:514
uacpi_status uacpi_object_get_string(uacpi_object *, uacpi_data_view *out)
Definition: types.c:1068
uacpi_u64 uacpi_io_addr
Definition: types.h:18
uacpi_status uacpi_object_assign_buffer(uacpi_object *, uacpi_data_view in)
Definition: types.c:1142
uacpi_bool uacpi_object_is_aml_namepath(uacpi_object *)
Definition: types.c:1082
uacpi_status uacpi_object_get_integer(uacpi_object *, uacpi_u64 *out)
Definition: types.c:1023
void * uacpi_handle
Definition: types.h:21
uacpi_bool uacpi_object_is_one_of(uacpi_object *, uacpi_object_type_bits type_mask)
Definition: types.c:997
uacpi_iteration_decision
Definition: types.h:28
@ UACPI_ITERATION_DECISION_BREAK
Definition: types.h:30
@ UACPI_ITERATION_DECISION_NEXT_PEER
Definition: types.h:39
@ UACPI_ITERATION_DECISION_CONTINUE
Definition: types.h:29
uacpi_object * uacpi_object_create_package(uacpi_object_array in)
Definition: types.c:1354
uacpi_object_type_bits
Definition: types.h:134
@ UACPI_OBJECT_STRING_BIT
Definition: types.h:136
@ UACPI_OBJECT_MUTEX_BIT
Definition: types.h:143
@ UACPI_OBJECT_REFERENCE_BIT
Definition: types.h:150
@ UACPI_OBJECT_METHOD_BIT
Definition: types.h:142
@ UACPI_OBJECT_BUFFER_INDEX_BIT
Definition: types.h:151
@ UACPI_OBJECT_FIELD_UNIT_BIT
Definition: types.h:139
@ UACPI_OBJECT_PROCESSOR_BIT
Definition: types.h:146
@ UACPI_OBJECT_BUFFER_BIT
Definition: types.h:137
@ UACPI_OBJECT_POWER_RESOURCE_BIT
Definition: types.h:145
@ UACPI_OBJECT_BUFFER_FIELD_BIT
Definition: types.h:148
@ UACPI_OBJECT_INTEGER_BIT
Definition: types.h:135
@ UACPI_OBJECT_OPERATION_REGION_BIT
Definition: types.h:144
@ UACPI_OBJECT_PACKAGE_BIT
Definition: types.h:138
@ UACPI_OBJECT_EVENT_BIT
Definition: types.h:141
@ UACPI_OBJECT_THERMAL_ZONE_BIT
Definition: types.h:147
@ UACPI_OBJECT_ANY_BIT
Definition: types.h:152
@ UACPI_OBJECT_DEBUG_BIT
Definition: types.h:149
@ UACPI_OBJECT_DEVICE_BIT
Definition: types.h:140
uacpi_status uacpi_object_get_power_resource_info(uacpi_object *, uacpi_power_resource_info *out)
Definition: types.c:1314
uacpi_status uacpi_object_assign_string(uacpi_object *, uacpi_data_view in)
Definition: types.c:1137
uacpi_u64 uacpi_phys_addr
Definition: types.h:17
uacpi_access_attribute
Definition: types.h:474
@ UACPI_ACCESS_ATTRIBUTE_WORD
Definition: types.h:478
@ UACPI_ACCESS_ATTRIBUTE_PROCESS_CALL
Definition: types.h:481
@ UACPI_ACCESS_ATTRIBUTE_BLOCK_PROCESS_CALL
Definition: types.h:482
@ UACPI_ACCESS_ATTRIBUTE_BYTE
Definition: types.h:477
@ UACPI_ACCESS_ATTRIBUTE_QUICK
Definition: types.h:475
@ UACPI_ACCESS_ATTRIBUTE_SEND_RECEIVE
Definition: types.h:476
@ UACPI_ACCESS_ATTRIBUTE_RAW_BYTES
Definition: types.h:483
@ UACPI_ACCESS_ATTRIBUTE_BLOCK
Definition: types.h:479
@ UACPI_ACCESS_ATTRIBUTE_RAW_PROCESS_BYTES
Definition: types.h:484
@ UACPI_ACCESS_ATTRIBUTE_BYTES
Definition: types.h:480
uacpi_object * uacpi_object_create_cstring(const uacpi_char *)
Definition: types.c:1228
uacpi_region_ipmi_rw_data uacpi_region_ffixedhw_rw_data
Definition: types.h:465
const uacpi_char * uacpi_object_type_to_string(uacpi_object_type)
Definition: types.c:51
uacpi_status uacpi_object_get_package(uacpi_object *, uacpi_object_array *out)
Definition: types.c:1237
uacpi_object * uacpi_object_create_reference(uacpi_object *child)
Definition: types.c:1248
uacpi_status uacpi_object_assign_integer(uacpi_object *, uacpi_u64 value)
Definition: types.c:1031
uacpi_overflow_behavior
Definition: types.h:189
@ UACPI_OVERFLOW_TRUNCATE
Definition: types.h:191
@ UACPI_OVERFLOW_ALLOW
Definition: types.h:190
@ UACPI_OVERFLOW_DISALLOW
Definition: types.h:192
uacpi_init_level
Definition: types.h:64
@ UACPI_INIT_LEVEL_EARLY
Definition: types.h:66
@ UACPI_INIT_LEVEL_SUBSYSTEM_INITIALIZED
Definition: types.h:72
@ UACPI_INIT_LEVEL_NAMESPACE_INITIALIZED
Definition: types.h:84
@ UACPI_INIT_LEVEL_NAMESPACE_LOADED
Definition: types.h:78
uacpi_object_type uacpi_object_get_type(uacpi_object *)
Definition: types.c:982
uacpi_status uacpi_object_get_processor_info(uacpi_object *, uacpi_processor_info *out)
Definition: types.c:1302
uacpi_status uacpi_object_get_buffer(uacpi_object *, uacpi_data_view *out)
Definition: types.c:1075
uacpi_object_type_bits uacpi_object_get_type_bit(uacpi_object *)
Definition: types.c:987
uacpi_object * uacpi_object_create_integer(uacpi_u64)
Definition: types.c:1186
uacpi_status uacpi_object_get_dereferenced(uacpi_object *, uacpi_object **out)
Definition: types.c:1290
uacpi_status(* uacpi_region_handler)(uacpi_region_op op, uacpi_handle op_data)
Definition: types.h:511
uacpi_interrupt_ret(* uacpi_interrupt_handler)(uacpi_handle)
Definition: types.h:544
uacpi_object_type
Definition: types.h:110
@ UACPI_OBJECT_MAX_TYPE_VALUE
Definition: types.h:130
@ UACPI_OBJECT_EVENT
Definition: types.h:118
@ UACPI_OBJECT_METHOD
Definition: types.h:119
@ UACPI_OBJECT_BUFFER
Definition: types.h:114
@ UACPI_OBJECT_STRING
Definition: types.h:113
@ UACPI_OBJECT_PROCESSOR
Definition: types.h:123
@ UACPI_OBJECT_DEVICE
Definition: types.h:117
@ UACPI_OBJECT_PACKAGE
Definition: types.h:115
@ UACPI_OBJECT_POWER_RESOURCE
Definition: types.h:122
@ UACPI_OBJECT_UNINITIALIZED
Definition: types.h:111
@ UACPI_OBJECT_REFERENCE
Definition: types.h:128
@ UACPI_OBJECT_MUTEX
Definition: types.h:120
@ UACPI_OBJECT_DEBUG
Definition: types.h:126
@ UACPI_OBJECT_INTEGER
Definition: types.h:112
@ UACPI_OBJECT_BUFFER_FIELD
Definition: types.h:125
@ UACPI_OBJECT_OPERATION_REGION
Definition: types.h:121
@ UACPI_OBJECT_FIELD_UNIT
Definition: types.h:116
@ UACPI_OBJECT_THERMAL_ZONE
Definition: types.h:124
@ UACPI_OBJECT_BUFFER_INDEX
Definition: types.h:129
uacpi_region_op
Definition: types.h:373
@ UACPI_REGION_OP_FFIXEDHW_COMMAND
Definition: types.h:394
@ UACPI_REGION_OP_PCC_SEND
Definition: types.h:384
@ UACPI_REGION_OP_GPIO_READ
Definition: types.h:387
@ UACPI_REGION_OP_SERIAL_WRITE
Definition: types.h:401
@ UACPI_REGION_OP_PRM_COMMAND
Definition: types.h:397
@ UACPI_REGION_OP_DETACH
Definition: types.h:377
@ UACPI_REGION_OP_GPIO_WRITE
Definition: types.h:388
@ UACPI_REGION_OP_SERIAL_READ
Definition: types.h:400
@ UACPI_REGION_OP_WRITE
Definition: types.h:381
@ UACPI_REGION_OP_READ
Definition: types.h:380
@ UACPI_REGION_OP_IPMI_COMMAND
Definition: types.h:391
@ UACPI_REGION_OP_ATTACH
Definition: types.h:375
uacpi_u32 uacpi_interrupt_ret
Definition: types.h:542
uacpi_object * uacpi_object_create_uninitialized(void)
Definition: types.c:1147
uacpi_firmware_request_type
Definition: types.h:516
@ UACPI_FIRMWARE_REQUEST_TYPE_FATAL
Definition: types.h:518
@ UACPI_FIRMWARE_REQUEST_TYPE_BREAKPOINT
Definition: types.h:517
uacpi_status uacpi_object_create_integer_safe(uacpi_u64, uacpi_overflow_behavior, uacpi_object **out_obj)
Definition: types.c:1152
uacpi_bool uacpi_object_is(uacpi_object *, uacpi_object_type)
Definition: types.c:992
uacpi_address_space
Definition: types.h:42
@ UACPI_ADDRESS_SPACE_IPMI
Definition: types.h:50
@ UACPI_ADDRESS_SPACE_PRM
Definition: types.h:54
@ UACPI_ADDRESS_SPACE_SYSTEM_MEMORY
Definition: types.h:43
@ UACPI_ADDRESS_SPACE_GENERAL_PURPOSE_IO
Definition: types.h:51
@ UACPI_ADDRESS_SPACE_FFIXEDHW
Definition: types.h:55
@ UACPI_ADDRESS_SPACE_PCI_CONFIG
Definition: types.h:45
@ UACPI_ADDRESS_SPACE_TABLE_DATA
Definition: types.h:58
@ UACPI_ADDRESS_SPACE_EMBEDDED_CONTROLLER
Definition: types.h:46
@ UACPI_ADDRESS_SPACE_SYSTEM_CMOS
Definition: types.h:48
@ UACPI_ADDRESS_SPACE_GENERIC_SERIAL_BUS
Definition: types.h:52
@ UACPI_ADDRESS_SPACE_SYSTEM_IO
Definition: types.h:44
@ UACPI_ADDRESS_SPACE_SMBUS
Definition: types.h:47
@ UACPI_ADDRESS_SPACE_PCC
Definition: types.h:53
@ UACPI_ADDRESS_SPACE_PCI_BAR_TARGET
Definition: types.h:49
uacpi_status uacpi_object_resolve_as_aml_namepath(uacpi_object *, uacpi_namespace_node *scope, uacpi_namespace_node **out_node)
Definition: types.c:1088
uacpi_object * uacpi_object_create_buffer(uacpi_data_view)
Definition: types.c:1223
uacpi_status uacpi_object_get_string_or_buffer(uacpi_object *, uacpi_data_view *out)
Definition: types.c:1059
uacpi_object * uacpi_object_create_string(uacpi_data_view)
Definition: types.c:1218
void uacpi_object_unref(uacpi_object *obj)
Definition: types.c:762
GLuint in
Definition: glext.h:9616
static HWND child
Definition: cursoricon.c:298
Definition: http.c:7252
uacpi_char * text
Definition: types.h:99
uacpi_size length
Definition: types.h:105
const void * const_data
Definition: types.h:103
const uacpi_u8 * const_bytes
Definition: types.h:97
const uacpi_char * const_text
Definition: types.h:100
void * data
Definition: types.h:102
uacpi_u8 * bytes
Definition: types.h:96
struct uacpi_firmware_request::@809::@812 fatal
struct uacpi_firmware_request::@809::@811 breakpoint
uacpi_handle ctx
Definition: types.h:528
uacpi_u32 code
Definition: types.h:534
uacpi_u64 num_pins
Definition: types.h:416
uacpi_object ** objects
Definition: types.h:290
uacpi_size count
Definition: types.h:291
uacpi_data_view buffer
Definition: types.h:410
uacpi_u8 subspace_id
Definition: types.h:411
uacpi_u8 device
Definition: types.h:90
uacpi_u8 bus
Definition: types.h:89
uacpi_u8 function
Definition: types.h:91
uacpi_u16 segment
Definition: types.h:88
uacpi_u16 resource_order
Definition: types.h:363
uacpi_u32 block_address
Definition: types.h:350
uacpi_u8 block_length
Definition: types.h:351
void * out_region_context
Definition: types.h:427
uacpi_gpio_region_info gpio_info
Definition: types.h:425
uacpi_pcc_region_info pcc_info
Definition: types.h:424
uacpi_namespace_node * region_node
Definition: types.h:421
uacpi_generic_region_info generic_info
Definition: types.h:423
uacpi_namespace_node * region_node
Definition: types.h:507
uacpi_data_view connection
Definition: types.h:451
uacpi_u32 pin_offset
Definition: types.h:452
uacpi_data_view in_out_message
Definition: types.h:461
uacpi_data_view buffer
Definition: types.h:444
uacpi_data_view in_out_message
Definition: types.h:471
void * region_context
Definition: types.h:432
uacpi_phys_addr address
Definition: types.h:434
uacpi_u64 offset
Definition: types.h:435
void * handler_context
Definition: types.h:431
uacpi_u64 value
Definition: types.h:437
uacpi_u8 byte_width
Definition: types.h:438
uacpi_access_attribute access_attribute
Definition: types.h:493
uacpi_data_view connection
Definition: types.h:491
uacpi_data_view in_out_buffer
Definition: types.h:492
Definition: dlist.c:348
uacpi_u32 id
Definition: types.h:25
uacpi_char text[4]
Definition: types.h:24
Definition: pdh_main.c:64
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383