Skip to content
Taras Maliukh edited this page Apr 13, 2020 · 4 revisions

dll_t

typedef struct s_dll {
	dll_obj_t *restrict	head;
	dll_obj_t *restrict	last;
	size_t	objs_count;
	dll_bits_t	bits;
} dll_t;

dll_obj_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;

dll_bits_t

typedef enum {
	DLL_BIT_DFLT = 0x0,
	DLL_BIT_EIGN = 0x1,
	DLL_BIT_DUP = 0x2,
	DLL_BIT_FREE = 0x4,
	...
} dll_bits_t;

dll_obj_handler_fn_t

typedef int (*dll_obj_handler_fn_t)(const void *restrict);

dll_obj_handleridx_fn_t

typedef int (*dll_obj_handleridx_fn_t)(const void *restrict, size_t);

dll_obj_free_fn_t

typedef void (*dll_obj_free_fn_t)(void *restrict);
Clone this wiki locally