Types:
typedef struct x1f4_dllist_type { unsigned item, node; void *trans; } x1f4_dllist_type;
See Fixed Size Data Queue Types.
The one extra feature in the struct x1f4_dllist_type
is the node
unsigned field, indicating the (in bytes expressed) size of one unrolled linked
list node. It must be large enough to accomodate at least one data item (of
which size is indicated for the libx1f4l2 routines by the item
field) and the unrolled list support apparatus (couple of pointers and an extra
couple of integral fields).
General library:
See Fixed Size Data Queue Library.
call
data structure size retriever:
int x1f4_call_dllist(unsigned *);
ever
record retriever:
int x1f4_ever_dllist(void *, void **);
fast
double ended queue constructor routine:
int x1f4_fast_dllist(void *, unsigned, struct x1f4_dllist_type *);
fini
double ended queue regular destructor routine:
int x1f4_fini_dllist(void **);
flat
double ended queue destructor routine:
int x1f4_flat_dllist(void *);
head
plain data insertion routine:
int x1f4_head_dllist(void *, void **);
high
data purge routine:
int x1f4_high_dllist(void *);
init
double ended queue regular constructor routine:
int x1f4_init_dllist(void **, unsigned, struct x1f4_dllist_type *);
lead
record retriever:
int x1f4_lead_dllist(void *, void **);
lime
data traversal routine:
int x1f4_lime_dllist(void *, void *, int (*)(void *, void *));
line
data copy routine:
int x1f4_line_dllist (void *, void *, int (*)(void *, void *, const void *), int (*)(void *, void *), void *);
mind
plain data deletion routine:
int x1f4_mind_dllist(void *);
reel
queue rotation routine:
int x1f4_reel_dllist(void *);
roll
queue rotation routine:
int x1f4_roll_dllist(void *);
size
size retriever:
int x1f4_size_dllist(void *, unsigned *);
slip
plain data deletion routine:
int x1f4_slip_dllist(void *);
swap
data swap routine:
int x1f4_swap_dllist(void *, void *);
tail
plain data insertion routine:
int x1f4_tail_dllist(void *, void **);
text
plain copy routine:
int x1f4_text_dllist (void **, void *, int (*)(void *, void *, const void *), int (*)(void *, void *), void *);