ReactOS 0.4.16-dev-1946-g52006dd
notify.h File Reference
#include <uacpi/internal/types.h>
#include <uacpi/notify.h>
Include dependency graph for notify.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

uacpi_status uacpi_initialize_notify (void)
 
void uacpi_deinitialize_notify (void)
 
uacpi_status uacpi_notify_all (uacpi_namespace_node *node, uacpi_u64 value)
 

Function Documentation

◆ uacpi_deinitialize_notify()

void uacpi_deinitialize_notify ( void  )

Definition at line 23 of file notify.c.

24{
27
29}
#define UACPI_NULL
Definition: types.h:33
static uacpi_handle notify_mutex
Definition: notify.c:12
void uacpi_kernel_free_mutex(uacpi_handle)
Definition: uacpiosl.c:146

Referenced by uacpi_state_reset().

◆ uacpi_initialize_notify()

uacpi_status uacpi_initialize_notify ( void  )

Definition at line 14 of file notify.c.

15{
19
20 return UACPI_STATUS_OK;
21}
#define uacpi_unlikely(expr)
Definition: compiler.h:58
@ UACPI_STATUS_OUT_OF_MEMORY
Definition: status.h:13
@ UACPI_STATUS_OK
Definition: status.h:11
uacpi_handle uacpi_kernel_create_mutex(void)
Definition: uacpiosl.c:139

Referenced by uacpi_initialize().

◆ uacpi_notify_all()

uacpi_status uacpi_notify_all ( uacpi_namespace_node node,
uacpi_u64  value 
)

Definition at line 69 of file notify.c.

70{
72 struct notification_ctx *ctx;
74
78 );
81
84 return ret;
85
87 g_uacpi_rt_ctx.root_object->handlers->notify_head == UACPI_NULL) {
89 goto out;
90 }
91
92 ctx = uacpi_kernel_alloc(sizeof(*ctx));
95 goto out;
96 }
97
98 ctx->node = node;
99 // In case this node goes out of scope
101
102 ctx->value = value;
104 uacpi_object_ref(ctx->node_object);
105
108 uacpi_warn("unable to schedule notification work: %s\n",
111 }
112
113out:
115 return ret;
116}
static uacpi_status uacpi_release_native_mutex(uacpi_handle mtx)
Definition: mutex.h:25
static uacpi_status uacpi_acquire_native_mutex(uacpi_handle mtx)
Definition: mutex.h:13
struct uacpi_runtime_context g_uacpi_rt_ctx
Definition: uacpi.c:17
#define uacpi_warn(...)
Definition: log.h:20
uacpi_object * uacpi_namespace_node_get_object_typed(const uacpi_namespace_node *node, uacpi_object_type_bits type_mask)
Definition: namespace.c:654
uacpi_object * uacpi_namespace_node_get_object(const uacpi_namespace_node *node)
Definition: namespace.c:646
#define uacpi_unlikely_error(expr)
Definition: status.h:49
uacpi_status
Definition: status.h:10
@ UACPI_STATUS_INVALID_ARGUMENT
Definition: status.h:18
@ UACPI_STATUS_NO_HANDLER
Definition: status.h:25
const uacpi_char * uacpi_status_to_string(uacpi_status)
Definition: uacpi.c:50
void uacpi_object_ref(uacpi_object *obj)
Definition: types.c:727
@ UACPI_OBJECT_PROCESSOR_BIT
Definition: types.h:140
@ UACPI_OBJECT_THERMAL_ZONE_BIT
Definition: types.h:141
@ UACPI_OBJECT_DEVICE_BIT
Definition: types.h:134
return ret
Definition: mutex.c:146
static void do_notify(uacpi_handle opaque)
Definition: notify.c:44
static void free_notification_ctx(struct notification_ctx *ctx)
Definition: notify.c:37
void * uacpi_kernel_alloc(uacpi_size size)
Definition: uacpiosl.c:111
uacpi_status uacpi_kernel_schedule_work(uacpi_work_type, uacpi_work_handler, uacpi_handle ctx)
Definition: uacpiosl.c:228
@ UACPI_WORK_NOTIFICATION
Definition: kernel_api.h:349
uacpi_u32 uacpi_shareable_ref(uacpi_handle)
Definition: shareable.c:31
uacpi_namespace_node * node
Definition: notify.c:32
uacpi_u64 value
Definition: notify.c:33
uacpi_object * node_object
Definition: notify.c:34
uacpi_device_notify_handler * notify_head
Definition: types.h:107
uacpi_handlers * handlers
Definition: types.h:267
Definition: dlist.c:348
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383

Referenced by async_run_gpe_handler(), and handle_notify().