Files
2026-10-07 10:23:18 +03:00

24 lines
414 B
C

#ifndef _DPC_H
#define _DPC_H
#include <arch/context.h>
#include <stdbool.h>
#include <list.h>
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