#include "BBC/inline.h"
#include "BBC/LL_pubdefs.h"
Defines | |
| #define | LL__EXT_PROTO INLINE_USR_EXT_PROTO |
| #define | LL__LCL_PROTO INLINE_USR_LCL_PROTO |
| #define | LL__EXT_FNC INLINE_USR_EXT_FNC |
| #define | LL__LCL_FNC INLINE_USR_LCL_FNC |
Functions | |
| LL__EXT_PROTO void | LL__destroy (struct _LL_list *list) |
| Destroys the data structures associate with a linked list. More... | |
| LL__EXT_PROTO void | LL__init (struct _LL_list *list) |
| Initializes the list head of a doubly linked list to an empty list. More... | |
| LL__EXT_PROTO struct _LL_node * | LL__insert (struct _LL_list *list, struct _LL_node *node) |
| Adds a node to the tail of a previously initialized linked list. More... | |
| LL__EXT_PROTO struct _LL_node * | LL__jam (struct _LL_list *list, struct _LL_node *node) |
| Adds a node to the head of a previously initialized linked list. More... | |
| LL__EXT_PROTO struct _LL_node * | LL__remove (struct _LL_list *list) |
| Removes the node from the tail of a previously initialized linked list. An empty list returns NULL as its node. More... | |
| LL__EXT_PROTO struct _LL_node * | LL__unlink (struct _LL_node *node) |
| Removes the specified node from the linked list. More... | |
See also the non-inlined versions of these routines which offer possible savings in code space and increased modularity at the expense of some performance. The LLI routines provide the same functionality with the added feature of being interlocked, and, therefore, thread safe.
|
|
External Function declaration |
|
|
External Prototype spec |
|
|
Internal Function declaration |
|
|
Internal Prototype spec |
|
|
Destroys the data structures associate with a linked list.
|
|
|
Initializes the list head of a doubly linked list to an empty list.
|
|
||||||||||||
|
Adds a node to the tail of a previously initialized linked list.
|
|
||||||||||||
|
Adds a node to the head of a previously initialized linked list.
|
|
|
Removes the node from the tail of a previously initialized linked list. An empty list returns NULL as its node.
Removes the node at the head of the list. If the list is empty, NULL is returned. |
|
|
Removes the specified node from the linked list.
Removes the specified node from a previously initialized linked list. This is a dangerous operation unless the stability of the que is guaranteed. |
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001