-
Notifications
You must be signed in to change notification settings - Fork 0
Types
Taras Maliukh edited this page Apr 13, 2020
·
4 revisions
typedef struct s_dll {
dll_obj_t *restrict head;
dll_obj_t *restrict last;
size_t objs_count;
dll_bits_t bits;
} dll_t;
typedef struct s_dll_obj {
struct s_dll_obj *restrict next;
struct s_dll_obj *restrict prev;
void *restrict data;
size_t data_size;
dll_obj_free_fn_t free;
dll_bits_t bits;
} dll_obj_t;
typedef enum {
DLL_BIT_DFLT = 0x0,
DLL_BIT_EIGN = 0x1,
DLL_BIT_DUP = 0x2,
DLL_BIT_FREE = 0x4,
...
} dll_bits_t;
typedef int (*dll_obj_handler_fn_t)(const void *restrict);
typedef int (*dll_obj_handleridx_fn_t)(const void *restrict, size_t);
typedef void (*dll_obj_free_fn_t)(void *restrict);