#ifndef _DPC_H #define _DPC_H #include #include #include typedef void * dpcarg_t; typedef void (*dpcfn_t)(context_t *, dpcarg_t); typedef struct _dpc_t { list_node_t list_node; bool enqueued; dpcfn_t fn; dpcarg_t arg; } dpc_t; void dpc_prepare(dpc_t *dpc, dpcfn_t fn); void dpc_enqueue(dpc_t *dpc, dpcarg_t arg); void dpc_dequeue(dpc_t *dpc); void dpc_init(); #endif