ReactOS 0.4.17-dev-684-ga6524ef
uacpi.h
Go to the documentation of this file.
1#pragma once
2
3#include <uacpi/types.h>
4#include <uacpi/status.h>
5#include <uacpi/kernel_api.h>
6#include <uacpi/namespace.h>
7
8#define UACPI_MAJOR 6
9#define UACPI_MINOR 0
10#define UACPI_PATCH 1
11
12#ifdef UACPI_REDUCED_HARDWARE
13#define UACPI_MAKE_STUB_FOR_REDUCED_HARDWARE(fn, ret) \
14 UACPI_NO_UNUSED_PARAMETER_WARNINGS_BEGIN \
15 static inline fn { return ret; } \
16 UACPI_NO_UNUSED_PARAMETER_WARNINGS_END
17
18#define UACPI_STUB_IF_REDUCED_HARDWARE(fn) \
19 UACPI_MAKE_STUB_FOR_REDUCED_HARDWARE(fn,)
20#define UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE(fn) \
21 UACPI_MAKE_STUB_FOR_REDUCED_HARDWARE(fn, UACPI_STATUS_COMPILED_OUT)
22#define UACPI_ALWAYS_OK_FOR_REDUCED_HARDWARE(fn) \
23 UACPI_MAKE_STUB_FOR_REDUCED_HARDWARE(fn, UACPI_STATUS_OK)
24#else
25
26#define UACPI_STUB_IF_REDUCED_HARDWARE(fn) fn;
27#define UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE(fn) fn;
28#define UACPI_ALWAYS_OK_FOR_REDUCED_HARDWARE(fn) fn;
29#endif
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
62);
63
70
75#define UACPI_FLAG_BAD_CSUM_FATAL (1ull << 0)
76
81#define UACPI_FLAG_BAD_TBL_SIGNATURE_FATAL (1ull << 1)
82
86#define UACPI_FLAG_BAD_XSDT (1ull << 2)
87
93#define UACPI_FLAG_NO_ACPI_MODE (1ull << 3)
94
100#define UACPI_FLAG_NO_OSI (1ull << 4)
101
107#define UACPI_FLAG_PROACTIVE_TBL_CSUM (1ull << 5)
108
117
118#ifndef UACPI_BAREBONES_MODE
119
127
133
139
140// Returns the current subsystem initialization level
142
152);
155);
156
163);
166);
167
176);
180);
181
187 const uacpi_object_array *args, uacpi_u64 *out_value
188);
191);
192
202);
205);
206
215);
218);
219
228);
231);
232
241);
244);
245
252
259)
262)
263
264
273
274#endif // !UACPI_BAREBONES_MODE
275
285void uacpi_state_reset(void);
286
287#ifdef __cplusplus
288}
289#endif
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_object_type_bits
Definition: types.h:134
uacpi_init_level
Definition: types.h:64
return ret
Definition: mutex.c:147
uacpi_status uacpi_acquire_global_lock(uacpi_u16 timeout, uacpi_u32 *out_seq)
Definition: mutex.c:150
r parent
Definition: btrfs.c:3010
GLbitfield flags
Definition: glext.h:7161
wchar_t const *const size_t const buffer_size
Definition: stat.cpp:95
Definition: match.c:390
Definition: dhcpd.h:248
uacpi_status uacpi_enter_acpi_mode(void)
Definition: uacpi.c:292
uacpi_status uacpi_leave_acpi_mode(void)
Definition: uacpi.c:297
uacpi_status uacpi_is_platform_reduced_hardware(uacpi_bool *out_value)
Definition: uacpi.c:19
uacpi_status uacpi_eval_simple_string(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_object **ret)
Definition: uacpi.c:952
uacpi_status uacpi_eval_simple(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_object **ret)
Definition: uacpi.c:787
uacpi_status uacpi_namespace_load(void)
Definition: uacpi.c:437
uacpi_status uacpi_eval_string_or_buffer(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_object **ret)
Definition: uacpi.c:919
void uacpi_state_reset(void)
Definition: uacpi.c:133
uacpi_status uacpi_release_global_lock(uacpi_u32 seq)
Definition: mutex.c:179
uacpi_bool uacpi_table_subsystem_available(void)
#define UACPI_ALWAYS_ERROR_FOR_REDUCED_HARDWARE(fn)
Definition: uacpi.h:27
uacpi_status uacpi_eval_string(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_object **ret)
Definition: uacpi.c:942
uacpi_init_level uacpi_get_current_init_level(void)
Definition: uacpi.c:310
uacpi_u32 * out_seq
Definition: uacpi.h:271
uacpi_status uacpi_eval_simple_buffer(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_object **ret)
Definition: uacpi.c:971
#define UACPI_ALWAYS_OK_FOR_REDUCED_HARDWARE(fn)
Definition: uacpi.h:28
uacpi_status uacpi_eval_integer(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_u64 *out_value)
Definition: uacpi.c:892
uacpi_status uacpi_namespace_initialize(void)
Definition: uacpi.c:620
uacpi_status uacpi_get_aml_bitness(uacpi_u8 *out_bitness)
Definition: uacpi.c:999
uacpi_status uacpi_eval(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_object **ret)
Definition: uacpi.c:709
uacpi_status uacpi_initialize(uacpi_u64 flags)
Definition: uacpi.c:315
uacpi_status uacpi_execute(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args)
Definition: uacpi.c:794
uacpi_status uacpi_eval_simple_string_or_buffer(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_object **ret)
Definition: uacpi.c:931
uacpi_status uacpi_eval_simple_integer(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_u64 *out_value)
Definition: uacpi.c:912
uacpi_status uacpi_execute_simple(uacpi_namespace_node *parent, const uacpi_char *path)
Definition: uacpi.c:802
uacpi_status uacpi_eval_buffer(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_object **ret)
Definition: uacpi.c:961
uacpi_status uacpi_eval_simple_typed(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_object_type_bits ret_mask, uacpi_object **ret)
Definition: uacpi.c:884
uacpi_status uacpi_eval_package(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_object **ret)
Definition: uacpi.c:980
uacpi_status uacpi_eval_typed(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_object_type_bits ret_mask, uacpi_object **ret)
Definition: uacpi.c:854
uacpi_status uacpi_setup_early_table_access(void *temporary_buffer, uacpi_size buffer_size)
Definition: tables.c:216
uacpi_status uacpi_eval_simple_package(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_object **ret)
Definition: uacpi.c:990