APCs
| Member Type | Member Name |
|---|---|
apc_func_t | func |
void | *arg1 |
void | *arg2 |
bool | enqueued |
atomic_bool | cancelled |
struct thread | *owner |
struct list_head | list |
| Name | Value |
|---|---|
APC_TYPE_SPECIAL_KERNEL | None |
APC_TYPE_KERNEL | None |
APC_TYPE_COUNT | None |
| Name | Value |
|---|---|
APC_EVENT_THREAD_MIGRATE | None |
APC_EVENT_THREAD_EXIT | None |
APC_EVENT_COUNT | None |
APC_EVENT_NONE | None |
type alias
Section titled “type alias”(*apc_func_t) : void (struct apc *apc, void *arg1, void *arg2)
static inline const char *apc_event_str(enum apc_eventevt)struct apc *apc_create(void)voidapc_init(struct apc*a,apc_func_t fn,void *arg1,void *arg2)voidapc_enqueue(struct thread*t,struct apc*a,enum apc_typetype)voidapc_enqueue_event_apc(struct thread*t,struct apc*a,enum apc_eventevt)voidapc_enqueue_on_curr(struct apc*a,enum apc_typetype)boolapc_cancel(struct apc*a)voidthread_set_recent_apc_event(struct thread*t,enum apc_eventevent)voidthread_exec_apcs(struct thread*t)voidthread_exec_event_apcs(struct thread*t)voidthread_check_and_deliver_apcs(struct thread*t)voidthread_enable_special_apcs(struct thread*t)voidthread_disable_special_apcs(struct thread*t)voidthread_enable_kernel_apcs(struct thread*t)voidthread_disable_kernel_apcs(struct thread*t)voidthread_free_event_apcs(struct thread*t)static inline boolsafe_to_exec_apcs(void)