11#ifndef UACPI_BAREBONES_MODE
79 if (did_notify_root) {
173 if (
handler->callback == target_handler)
271 prev_handler =
handlers->notify_head;
274 if (prev_handler == containing) {
280 while (prev_handler) {
281 if (prev_handler->
next == containing) {
286 prev_handler = prev_handler->
next;
static uacpi_status uacpi_release_native_mutex(uacpi_handle mtx)
static void uacpi_free_native_mutex(uacpi_handle mtx)
static uacpi_status uacpi_acquire_native_mutex(uacpi_handle mtx)
static uacpi_handle uacpi_create_native_mutex(void)
UINT(* handler)(MSIPACKAGE *)
#define UACPI_ENSURE_INIT_LEVEL_AT_LEAST(lvl)
struct uacpi_runtime_context g_uacpi_rt_ctx
void uacpi_namespace_node_unref(uacpi_namespace_node *node)
uacpi_status uacpi_namespace_write_unlock(void)
uacpi_object * uacpi_namespace_node_get_object_typed(const uacpi_namespace_node *node, uacpi_object_type_bits type_mask)
uacpi_object * uacpi_namespace_node_get_object(const uacpi_namespace_node *node)
uacpi_status uacpi_namespace_node_release_object(uacpi_object *obj)
uacpi_status uacpi_namespace_write_lock(void)
uacpi_status uacpi_namespace_node_acquire_object_typed(const uacpi_namespace_node *node, uacpi_object_type_bits, uacpi_object **out_obj)
#define uacpi_kernel_alloc_zeroed
#define uacpi_free(mem, _)
uacpi_namespace_node * uacpi_namespace_root(void)
#define uacpi_likely_success(expr)
#define uacpi_unlikely_error(expr)
@ UACPI_STATUS_INVALID_ARGUMENT
@ UACPI_STATUS_OUT_OF_MEMORY
@ UACPI_STATUS_ALREADY_EXISTS
@ UACPI_STATUS_NO_HANDLER
void uacpi_object_ref(uacpi_object *obj)
uacpi_status(* uacpi_notify_handler)(uacpi_handle context, uacpi_namespace_node *node, uacpi_u64 value)
@ UACPI_OBJECT_PROCESSOR_BIT
@ UACPI_OBJECT_THERMAL_ZONE_BIT
@ UACPI_OBJECT_DEVICE_BIT
@ UACPI_INIT_LEVEL_SUBSYSTEM_INITIALIZED
void uacpi_object_unref(uacpi_object *obj)
static void do_notify(uacpi_handle opaque)
static uacpi_device_notify_handler * handler_container(uacpi_handlers *handlers, uacpi_notify_handler target_handler)
uacpi_status uacpi_uninstall_notify_handler(uacpi_namespace_node *node, uacpi_notify_handler handler)
static void free_notification_ctx(struct notification_ctx *ctx)
void uacpi_deinitialize_notify(void)
uacpi_status uacpi_install_notify_handler(uacpi_namespace_node *node, uacpi_notify_handler handler, uacpi_handle handler_context)
uacpi_status uacpi_initialize_notify(void)
static uacpi_device_notify_handler * load_handler(uacpi_device_notify_handler **handler)
static uacpi_handle notify_mutex
uacpi_status uacpi_notify_all(uacpi_namespace_node *node, uacpi_u64 value)
static xmlCharEncodingHandlerPtr * handlers
void * uacpi_kernel_alloc(uacpi_size size)
uacpi_status uacpi_kernel_wait_for_work_completion(void)
void uacpi_kernel_schedule_work(uacpi_work_type, uacpi_handle work_item, uacpi_work_handler handler, uacpi_handle ctx)
@ UACPI_WORK_NOTIFICATION
uacpi_handle uacpi_kernel_create_work_item(void)
void uacpi_kernel_free_work_item(uacpi_handle)
static uacpi_u32 uacpi_shareable_ref(uacpi_handle handle)
uacpi_namespace_node * node
uacpi_object * node_object
struct uacpi_device_notify_handler * next
uacpi_notify_handler callback
uacpi_handle user_context
uacpi_device_notify_handler * notify_head
uacpi_handlers * handlers
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out