Previous: Fixed Size Data Queue Definitions, Up: Fixed Size Data Queue Interface [Index]
int x1f4_call_??list(unsigned *)
sets $1 to the number of bytes required by an ??list
object (sort of
sizeof(??list))
returns 0
int x1f4_ever_??list(void *, void **)
stores the address of the data (i.e. payload) of the $1 double ended queue last element at $2
returns 0 for success, one of the defined errors for failure
int x1f4_fast_??list(void *, unsigned, struct x1f4_??list_type *)
sets up a newly allocated ??list
object, stored at $1, according the $2
bits (see ??list
attribute bit definitions) and $3 setup values
The item
value in by the struct x1f4_??list_type
record pointed
to by the $3 argument is always used.
See Fixed Size Data Queue Types.
See Fixed Size Data Queue Definitions.
returns 0 for success, one of the defined errors for failure
int x1f4_fini_??list(void **)
destroys the double ended queue whose address is stored at $1 - dismantles it all and frees the double ended queue object
returns 0 for success, one of the defined errors for failure
int x1f4_flat_??list(void *)
dismantles the $1 double ended queue without freeing the memory for the double ended queue object
returns 0 for success, one of the defined errors for failure
int x1f4_head_??list(void *, void **)
inserts a new element before the previously first in the $1 double ended queue, to be found at the address stored at $2 after function call
returns 0 for success, one of the defined errors for failure
int x1f4_high_??list(void *)
empties the $1 double ended queue (removes all nodes / content)
returns 0 for success, one of the defined errors for failure
int x1f4_init_??list(void **, unsigned, struct x1f4_??list_type *)
creates a ??list
object, according the $2 bits (see ??list
attribute bit definitions) and $3 setup values and stores the address of the
newly created double ended queue at $1
The item
value in by the struct x1f4_??list_type
record pointed
to by the $3 argument is always used.
See Fixed Size Data Queue Types.
See Fixed Size Data Queue Definitions.
returns 0 for success, one of the defined errors for failure
int x1f4_lead_??list(void *, void **)
stores the address of the data (i.e. payload) of the $1 double ended queue first element at $2
returns 0 for success, one of the defined errors for failure
int x1f4_lime_??list(void *, void *, int (*)(void *, void *))
calls $3 for each element in the $1 double ended queue, with $2 and the data for the element as arguments, in this order, until $3 returns non zero
returns 0 if $3 was never called (i.e. double ended queue is empty) or if $3 never returned non zero, the non zero return of $3 otherwise
int x1f4_line_??list (void *, void *, int (*)(void *, void *, const void *), int (*)(void *, void *), void *)
copies the content of the $2 double ended queue in the $1 double ended queue if $1 is empty. $3 is used to copy element data and is passed $5, the data for the copy element and the data for the element being copied as arguments, in this order. If returned value is not zero the queue copying is aborted. $4 is called to free the copied elements if something went wrong (either no memory was available for queue infrastructure or $3 returned non zero) and the copying had to be aborted. It is passed $5 and the data for the element to be freed as arguments, in this order.
$5 is otherwise not used.
if queue copying failed efforts are made to return the $1 queue to its previous state.
returns 0 for success, one of the defined errors for failure
int x1f4_mind_??list(void *)
deletes the first element stored with the $1 double ended queue
returns 0 for success (deletion success that is), X1f4_??LIST_DECK_ERROR
for empty queue, one of the defined errors for failure
int x1f4_reel_??list(void *)
shifts (rotates/circulates) the $1 double ended queue (as if it was a circular list) so that the first element becomes the last (and the second becomes the first)
returns 0 for success, one of the defined errors for failure
int x1f4_roll_??list(void *)
shifts (rotates/circulates) the $1 double ended queue (as if it was a circular list) so that the last element becomes the first (and the first becomes the second)
returns 0 for success, one of the defined errors for failure
int x1f4_size_??list(void *, unsigned *)
stores the size (element count) of the $1 double ended queue at address $2
returns 0
int x1f4_slip_??list(void *)
deletes the last element stored with the $1 double ended queue
returns 0 for success (deletion success that is), X1f4_??LIST_DECK_ERROR
for empty queue, one of the defined errors for failure
int x1f4_swap_??list(void *, void *)
swaps data and settings for the $1 and $2 double ended queues
returns 0 for success
int x1f4_tail_??list(void *, void **)
inserts a new element after the previously last in the $1 double ended queue, to be found at the address stored at $2 after function call
returns 0 for success, one of the defined errors for failure
int x1f4_text_??list (void **, void *, int (*)(void *, void *, const void *), int (*)(void *, void *), void *)
creates a copy of the $2 double ended queue and stores the address of the newly created double ended queue at $1.
$3 is used to copy element data and is passed $5, the data for the copy element and the data for the element being copied as arguments, in this order. If returned value is not zero the queue copying is aborted. $4 is called to free the copied elements if something went wrong (either no memory was available for queue infrastructure or $3 returned non zero) and the copying had to be aborted. It is passed $5 and the data for the element to be freed as arguments, in this order.
$5 is otherwise not used.
returns 0 for success, one of the defined errors for failure
Previous: Fixed Size Data Queue Definitions, Up: Fixed Size Data Queue Interface [Index]