GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > XLX / V10-0-2

Constituent: parser     Tag: linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

stack.c File Reference

Stack manipulation functions. More...

#include "XLX_p.h"
#include "stdlib.h"
#include "string.h"
#include "stdio.h"

Include dependency graph for stack.c:


Functions

int XLX_initStack (XLX_stack *stack, unsigned int limit)
 Initialise a stack.
void XLX_endStack (XLX_stack *stack)
 Free the memory allocated to a stack.
void XLX_destroyStack (XLX_stack *stack, XLX_pDelete dFn)
 Free the memory allocated to a stack and its elements.
int XLX_push (XLX_stack *stack, void *ptr)
 Put a new item on the top of a stack.
void * XLX_pop (XLX_stack *stack)
 Remove and return the top item on a stack.
void * XLX_peek (XLX_stack *stack, unsigned int depth)
 Look at an item on a stack without removing it.
void XLX_dump (XLX_stack *stack)
 Print out the stack information.

Detailed Description

Stack manipulation functions.

Author:
James Swain & Owen Saxton
Id
stack.c,v 1.9 2007/05/10 20:04:11 saxton Exp

Function Documentation

void XLX_destroyStack XLX_stack stack,
XLX_pDelete  dFn
 

Free the memory allocated to a stack and its elements.

Parameters:
stack Stack to end
dFn Function to call to delete objects on the stack

void XLX_dump XLX_stack stack  ) 
 

Print out the stack information.

Parameters:
stack Stack to dump

void XLX_endStack XLX_stack stack  ) 
 

Free the memory allocated to a stack.

Parameters:
stack Stack to free

int XLX_initStack XLX_stack stack,
unsigned int  limit
 

Initialise a stack.

This routine allocates memory to hold the stack contents and sets the limit and used values.

Parameters:
stack Stack to initialise
limit Size of the stack
Return values:
0 If the stack was successfully initialised
-1 If there was an error allocating memory for the stack

void* XLX_peek XLX_stack stack,
unsigned int  depth
 

Look at an item on a stack without removing it.

Parameters:
stack Stack to peek at
depth Depth from the top of the stack of item to peek at
Returns:
Item on the top of the stack

void* XLX_pop XLX_stack stack  ) 
 

Remove and return the top item on a stack.

Parameters:
stack Stack to pop item off
Returns:
Item popped off the top of the stack

int XLX_push XLX_stack stack,
void *  ptr
 

Put a new item on the top of a stack.

If the stack is already full, its size is doubled.

Parameters:
stack Stack to push item onto
ptr Pointer to push onto stack
Return values:
0 If the item is added successfully
-1 If the stack needs to be extended to accomodate the new item and the memory allocation failed


Generated on Sun Jun 14 02:44:46 2009 by  doxygen 1.4.4