ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
app_callbacks.c
Go to the documentation of this file.
1
5
7#include <libplatform/app_callbacks.h>
8#include <stddef.h>
9#include <stdatomic.h>
10
11static _Atomic(const app_callbacks_t *) g_app_callbacks = NULL;
12
13void app_callbacks_register(const app_callbacks_t *callbacks) {
14 atomic_store_explicit(&g_app_callbacks, callbacks, memory_order_release);
15 const platform_app_callbacks_t platform_callbacks = {
16 .write_sync_state = callbacks ? callbacks->write_sync_state : NULL,
17 .write_memory_report = callbacks ? callbacks->write_memory_report : NULL,
18 .write_backtrace = callbacks ? callbacks->write_backtrace : NULL,
19 .debug_context = callbacks ? callbacks->debug_context : NULL,
20 };
21 platform_app_callbacks_register(callbacks ? &platform_callbacks : NULL);
22}
23
25 return atomic_load_explicit(&g_app_callbacks, memory_order_acquire);
26}
const app_callbacks_t * app_callbacks_get(void)
Application-level callbacks for library code.
void app_callbacks_register(const app_callbacks_t *callbacks)
Callbacks and operations used by app callbacks. Register application callbacks.
app_debug_write_fn write_memory_report
app_debug_write_fn write_backtrace
app_debug_write_fn write_sync_state