ReactOS 0.4.17-dev-683-g0dafdc5
kernel_api.h
Go to the documentation of this file.
1#pragma once
2
3#include <uacpi/types.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10// Returns the PHYSICAL address of the RSDP structure via *out_rsdp_address.
12
13#define UACPI_MAP_FAILED ((void*)-1)
14
41
51
52#ifndef UACPI_FORMATTED_LOGGING
54#else
57#endif
58
63#ifndef UACPI_BAREBONES_MODE
64
69#ifdef UACPI_KERNEL_INITIALIZATION
81uacpi_status uacpi_kernel_initialize(uacpi_init_level current_init_lvl);
82void uacpi_kernel_deinitialize(void);
83#endif
84
99);
101
107);
110);
113);
114
117);
120);
123);
124
134);
136
150);
153);
156);
157
160);
163);
166);
167
174#ifdef UACPI_NATIVE_MMIO
175uacpi_u8 uacpi_kernel_mmio_read8(void*);
176uacpi_u16 uacpi_kernel_mmio_read16(void*);
177uacpi_u32 uacpi_kernel_mmio_read32(void*);
178uacpi_u64 uacpi_kernel_mmio_read64(void*);
179
180void uacpi_kernel_mmio_write8(void*, uacpi_u8);
181void uacpi_kernel_mmio_write16(void*, uacpi_u16);
182void uacpi_kernel_mmio_write32(void*, uacpi_u32);
183void uacpi_kernel_mmio_write64(void*, uacpi_u64);
184#endif
185
191
192#ifdef UACPI_NATIVE_ALLOC_ZEROED
198#endif
199
210#ifndef UACPI_SIZED_FREES
211void uacpi_kernel_free(void *mem);
212#else
213void uacpi_kernel_free(void *mem, uacpi_size size_hint);
214#endif
215
221
226
231
237
243
250
261
267
286
296
303
308
315
325 uacpi_handle *out_irq_handle
326);
327
334);
335
343
355
356typedef enum uacpi_work_type {
363
370
372
379);
380
389
390#endif // !UACPI_BAREBONES_MODE
391
392#ifdef __cplusplus
393}
394#endif
static int state
Definition: maze.c:121
unsigned long uacpi_cpu_flags
Definition: arch_helpers.h:13
unsigned long uacpi_interrupt_state
Definition: arch_helpers.h:14
#define uacpi_kernel_alloc_zeroed
Definition: stdlib.h:127
uacpi_log_level
Definition: log.h:7
#define UACPI_PRINTF_DECL(fmt_idx, args_idx)
Definition: compiler.h:96
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_u64 uacpi_io_addr
Definition: types.h:18
void * uacpi_handle
Definition: types.h:21
uacpi_u64 uacpi_phys_addr
Definition: types.h:17
uacpi_init_level
Definition: types.h:64
uacpi_interrupt_ret(* uacpi_interrupt_handler)(uacpi_handle)
Definition: types.h:544
unsigned char irq
Definition: dsp.h:13
GLuint address
Definition: glext.h:9393
GLsizeiptr size
Definition: glext.h:5919
GLintptr offset
Definition: glext.h:5920
GLenum const GLvoid * addr
Definition: glext.h:9621
GLenum GLsizei len
Definition: glext.h:6722
uacpi_status uacpi_kernel_io_map(uacpi_io_addr base, uacpi_size len, uacpi_handle *out_handle)
Definition: uacpiosl.c:165
void uacpi_kernel_free_event(uacpi_handle)
Definition: uacpiosl.c:60
uacpi_status uacpi_kernel_pci_write16(uacpi_handle device, uacpi_size offset, uacpi_u16 value)
Definition: uacpiosl.c:285
void uacpi_kernel_pci_device_close(uacpi_handle)
Definition: uacpiosl.c:251
uacpi_status uacpi_kernel_pci_read8(uacpi_handle device, uacpi_size offset, uacpi_u8 *value)
Definition: uacpiosl.c:257
uacpi_bool uacpi_kernel_wait_for_event(uacpi_handle, uacpi_u16)
Definition: uacpiosl.c:66
void * uacpi_kernel_alloc(uacpi_size size)
Definition: uacpiosl.c:111
uacpi_status uacpi_kernel_io_write8(uacpi_handle, uacpi_size offset, uacpi_u8 in_value)
Definition: uacpiosl.c:320
uacpi_status uacpi_kernel_wait_for_work_completion(void)
Definition: uacpiosl.c:235
void uacpi_kernel_restore_interrupts(uacpi_interrupt_state state)
uacpi_status uacpi_kernel_schedule_work(uacpi_work_type, uacpi_work_handler, uacpi_handle ctx)
Definition: uacpiosl.c:228
void uacpi_kernel_reset_event(uacpi_handle)
Definition: uacpiosl.c:79
void(* uacpi_work_handler)(uacpi_handle)
Definition: kernel_api.h:371
uacpi_status uacpi_kernel_uninstall_interrupt_handler(uacpi_interrupt_handler, uacpi_handle irq_handle)
Definition: uacpiosl.c:221
void uacpi_kernel_stall(uacpi_u8 usec)
Definition: uacpiosl.c:42
uacpi_handle uacpi_kernel_create_mutex(void)
Definition: uacpiosl.c:139
uacpi_status uacpi_kernel_install_interrupt_handler(uacpi_u32 irq, uacpi_interrupt_handler, uacpi_handle ctx, uacpi_handle *out_irq_handle)
Definition: uacpiosl.c:212
void uacpi_kernel_free_mutex(uacpi_handle)
Definition: uacpiosl.c:146
uacpi_status uacpi_kernel_pci_read16(uacpi_handle device, uacpi_size offset, uacpi_u16 *value)
Definition: uacpiosl.c:264
void uacpi_kernel_sleep(uacpi_u64 msec)
Definition: uacpiosl.c:47
uacpi_status uacpi_kernel_io_read32(uacpi_handle, uacpi_size offset, uacpi_u32 *out_value)
Definition: uacpiosl.c:313
uacpi_status uacpi_kernel_pci_read32(uacpi_handle device, uacpi_size offset, uacpi_u32 *value)
Definition: uacpiosl.c:271
uacpi_status uacpi_kernel_io_write32(uacpi_handle, uacpi_size offset, uacpi_u32 in_value)
Definition: uacpiosl.c:334
uacpi_handle uacpi_kernel_create_event(void)
Definition: uacpiosl.c:53
uacpi_thread_id uacpi_kernel_get_thread_id(void)
Definition: uacpiosl.c:184
void uacpi_kernel_free(void *mem)
Definition: uacpiosl.c:126
uacpi_status uacpi_kernel_io_read8(uacpi_handle, uacpi_size offset, uacpi_u8 *out_value)
Definition: uacpiosl.c:299
uacpi_interrupt_state uacpi_kernel_disable_interrupts(void)
uacpi_status uacpi_kernel_pci_device_open(uacpi_pci_address address, uacpi_handle *out_handle)
Definition: uacpiosl.c:242
uacpi_work_type
Definition: kernel_api.h:356
@ UACPI_WORK_GPE_EXECUTION
Definition: kernel_api.h:362
@ UACPI_WORK_NOTIFICATION
Definition: kernel_api.h:368
uacpi_u64 uacpi_kernel_get_nanoseconds_since_boot(void)
Definition: uacpiosl.c:35
uacpi_status uacpi_kernel_handle_firmware_request(uacpi_firmware_request *)
Definition: uacpiosl.c:177
uacpi_status uacpi_kernel_pci_write8(uacpi_handle device, uacpi_size offset, uacpi_u8 value)
Definition: uacpiosl.c:278
uacpi_handle uacpi_kernel_create_spinlock(void)
Definition: uacpiosl.c:85
void uacpi_kernel_release_mutex(uacpi_handle)
Definition: uacpiosl.c:159
void uacpi_kernel_unmap(void *addr, uacpi_size len)
Definition: uacpiosl.c:198
uacpi_status uacpi_kernel_io_write16(uacpi_handle, uacpi_size offset, uacpi_u16 in_value)
Definition: uacpiosl.c:327
uacpi_status uacpi_kernel_io_read16(uacpi_handle, uacpi_size offset, uacpi_u16 *out_value)
Definition: uacpiosl.c:306
uacpi_status uacpi_kernel_acquire_mutex(uacpi_handle, uacpi_u16)
Definition: uacpiosl.c:152
void * uacpi_kernel_map(uacpi_phys_addr addr, uacpi_size len)
Definition: uacpiosl.c:191
void uacpi_kernel_io_unmap(uacpi_handle handle)
Definition: uacpiosl.c:171
uacpi_status uacpi_kernel_pci_write32(uacpi_handle device, uacpi_size offset, uacpi_u32 value)
Definition: uacpiosl.c:292
uacpi_status uacpi_kernel_get_rsdp(uacpi_phys_addr *out_rsdp_address)
Definition: uacpiosl.c:204
void uacpi_kernel_signal_event(uacpi_handle)
Definition: uacpiosl.c:73
void uacpi_kernel_free_spinlock(uacpi_handle)
Definition: uacpiosl.c:92
void uacpi_kernel_log(uacpi_log_level, const uacpi_char *)
Definition: uacpiosl.c:18
uacpi_cpu_flags uacpi_kernel_lock_spinlock(uacpi_handle)
Definition: uacpiosl.c:98
void uacpi_kernel_unlock_spinlock(uacpi_handle, uacpi_cpu_flags)
Definition: uacpiosl.c:105
Definition: devices.h:37
Definition: mem.c:349
Definition: pdh_main.c:96
#define const
Definition: zconf.h:233