GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> DUMP / dev > dump / rhel5-64


Interface   Data Structures   File List   Data Fields   Globals  

list.h File Reference

Publis definitions for the linked list routines. More...


Typedefs

typedef struct LL_node_ LL_node
 Forward declaration of the LL_node structure.

Functions

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.


Detailed Description

Publis definitions for the linked list routines.

Author:
James Swain & Owen Saxton
Id
list.h,v 1.3 2008/11/21 17:42:17 saxton Exp

Function Documentation

void* LL_getPayload ( LL_node head,
unsigned int  uid 
)

Get the payload corresponding to a give id.

Parameters:
head Pointer to the start of the linked list
uid Unique ID
Returns:
Pointer to payload associated with the specified ID or NULL if the ID doesn't exist.

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.

Parameters:
head Pointer to the start of the linked list
uid Unique ID
Return values:
1 If there is a node on the list with this ID
Returns:
0 If no node has this ID

References LL_findPrevNode(), LL_node_::next, and LL_node_::uid.

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.

Parameters:
head Pointer to the start of the list of LL handlers
uid Unique id for this node
pay Pointer to the payload.
Return values:
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.

Parameters:
head Pointer to the start of the list of LL handlers
uid Unique id for the node to remove
Returns:
Pointer to the payload of the unregistered node, or NULL if the node does not exist

References LL_deleteNextNode(), LL_findPrevNode(), LL_node_::next, LL_node_::pay, and LL_node_::uid.


Generated on Mon Mar 28 12:08:20 2011 by  doxygen 1.5.8