GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> DUMP / dev > dump / rhel5-64
#include <list_p.h>
#include <stdlib.h>
Functions | |
LL_node * | LL_newNode (LL_node *next, unsigned int uid, void *pay) |
Create a new linked-list node. | |
void | LL_deleteNode (LL_node *handler) |
Delete a node. | |
void | LL_deleteNextNode (LL_node *handler) |
Delete the next node. | |
int | LL_newNextNode (LL_node *handler, unsigned int uid, void *pay) |
Create a new node. | |
LL_node * | LL_findPrevNode (LL_node *head, unsigned int uid) |
Find the previous node. | |
int | LL_registerNode (LL_node *head, unsigned int uid, void *pay) |
Create a node with a unique ID. | |
void * | LL_unregisterNode (LL_node *head, unsigned int uid) |
Remove the spcified node. | |
void * | LL_getPayload (LL_node *head, unsigned int uid) |
Get the payload corresponding to a give id. | |
int | LL_isPresent (LL_node *head, unsigned int uid) |
Check if an ID exists. |
void LL_deleteNextNode | ( | LL_node * | handler | ) |
Delete the next node.
This routine deletes from the linked list the node after the one pointed to.
handler | Pointer to the node on the linked list preceding the one to be deleted |
References LL_deleteNode(), and LL_node_::next.
Referenced by LL_unregisterNode().
void LL_deleteNode | ( | LL_node * | handler | ) |
Delete a node.
This routine frees the memory allocated to t node
handler | Pointer to linked-list node to free |
Referenced by LL_deleteNextNode().
Find the previous node.
This routine scans the linked list until either the last node is reached, or the one immediately preceding the specified node.
head | Pointer to the start of the list of LL handlers | |
uid | Unique id of the node being sought |
References LL_node_::next, and LL_node_::uid.
Referenced by LL_getPayload(), LL_isPresent(), LL_registerNode(), and LL_unregisterNode().
void* LL_getPayload | ( | LL_node * | head, | |
unsigned int | uid | |||
) |
Get the payload corresponding to a give id.
head | Pointer to the start of the linked list | |
uid | Unique ID |
References LL_findPrevNode(), LL_node_::next, LL_node_::pay, and LL_node_::uid.
Referenced by DUMP_process().
int LL_isPresent | ( | LL_node * | head, | |
unsigned int | uid | |||
) |
Check if an ID exists.
This routine searches for a node with the given ID.
head | Pointer to the start of the linked list | |
uid | Unique ID |
1 | If there is a node on the list with this ID |
References LL_findPrevNode(), LL_node_::next, and LL_node_::uid.
int LL_newNextNode | ( | LL_node * | handler, | |
unsigned int | uid, | |||
void * | pay | |||
) |
Create a new node.
This routine creates a new node on the linked list immediately following the one indicated
handler | Pointer to the node after which the new node is to be added | |
uid | Unique ID | |
pay | Pointer to the payload |
0 | The insertion of a new node was successful | |
-1 | The insertion of a new node failed because of a memory allocation error |
References LL_newNode(), and LL_node_::next.
Referenced by LL_registerNode().
Create a new linked-list node.
next | Pointer to use as the next node for the new node | |
uid | Unique id for this node | |
pay | Pointer to the payload structure associated with this node |
References LL_node_::next, LL_node_::pay, and LL_node_::uid.
Referenced by LL_newNextNode().
int LL_registerNode | ( | LL_node * | head, | |
unsigned int | uid, | |||
void * | pay | |||
) |
Create a node with a unique ID.
This routine creates a node with the specified UID and payload. It is an error if a node with the ID already exists.
head | Pointer to the start of the list of LL handlers | |
uid | Unique id for this node | |
pay | Pointer to the payload. |
0 | The new node was successfully created | |
1 | The ID already existed; use replace | |
-1 | Memory allocation failed |
References LL_findPrevNode(), LL_newNextNode(), LL_node_::next, and LL_node_::uid.
Referenced by DUMP_constructAstream().
void* LL_unregisterNode | ( | LL_node * | head, | |
unsigned int | uid | |||
) |
Remove the spcified node.
This routine removes the node with the specified ID from a list, and returns its payload pointer.
head | Pointer to the start of the list of LL handlers | |
uid | Unique id for the node to remove |
References LL_deleteNextNode(), LL_findPrevNode(), LL_node_::next, LL_node_::pay, and LL_node_::uid.