APCs
include/thread/apc.h View source View on GitHubStructs
Section titled “Structs”apc_context
Section titled “apc_context” struct apc (7 fields) source
apc_state
Section titled “apc_state” enum apc_state : uint8_t (3 variants) source
Type Aliases
Section titled “Type Aliases”apc_destroy_t
Section titled “apc_destroy_t”Functions
Section titled “Functions”apc_create
Section titled “apc_create”apc_init
Section titled “apc_init”void apc_init(
struct apc *cc_nonnull_ptr,
apc_func_t cc_nonnull_ptr,
void *arg1,
apc_destroy_t destroy
) source apc_getref
Section titled “apc_getref”apc_putref
Section titled “apc_putref”void apc_putref(struct apc *cc_nonnull_ptr) source apc_destroy_free
Section titled “apc_destroy_free”apc_event_signal
Section titled “apc_event_signal”void apc_event_signal(struct apc_event_desc *desc) source apc_enqueue
Section titled “apc_enqueue”The caller must hold a reference to both t and a.
apc_cancel
Section titled “apc_cancel”The caller must hold a reference to both t and a.
apc_check_and_deliver
Section titled “apc_check_and_deliver”apc_enable_special
Section titled “apc_enable_special”void apc_enable_special(void) source apc_disable_special
Section titled “apc_disable_special”void apc_disable_special(void) source apc_enable_kernel
Section titled “apc_enable_kernel”void apc_enable_kernel(void) source apc_disable_kernel
Section titled “apc_disable_kernel”void apc_disable_kernel(void) source apc_rundown_thread
Section titled “apc_rundown_thread”apc_enqueue_on_curr
Section titled “apc_enqueue_on_curr”apc_queue_init
Section titled “apc_queue_init”apc_kernel_guard_exit
Section titled “apc_kernel_guard_exit”void apc_kernel_guard_exit(int *unused) source apc_kernel_guard_enter
Section titled “apc_kernel_guard_enter”int apc_kernel_guard_enter(void) source apc_special_guard_exit
Section titled “apc_special_guard_exit”void apc_special_guard_exit(int *unused) source apc_special_guard_enter
Section titled “apc_special_guard_enter”int apc_special_guard_enter(void) source Macros
Section titled “Macros”apc_kernel_guard
Section titled “apc_kernel_guard”#define apc_kernel_guard() source Expansion
#define apc_kernel_guard() \
cc_cleanup(apc_kernel_guard_exit) int PP_CONCAT( \
apc_kernel_guard_, __COUNTER__) = apc_kernel_guard_enter() apc_guard
Section titled “apc_guard”#define apc_guard() source Expansion
#define apc_guard() apc_kernel_guard() apc_special_guard
Section titled “apc_special_guard”#define apc_special_guard() source Expansion
#define apc_special_guard() \
cc_cleanup(apc_special_guard_exit) int PP_CONCAT( \
apc_special_guard_, __COUNTER__) = apc_special_guard_enter()