globus_fifo(3)

NAME
globus_fifo - FIFO Queue

 - FIFO Queue Implementation.

SYNOPSIS

  Typedefs

typedef struct globus_fifo_s * globus_fifo_t

  Functions

int globus_fifo_init (globus_fifo_t *fifo)
Initialize the fifo structure.
void globus_fifo_destroy (globus_fifo_t *fifo)
void globus_fifo_destroy_all (globus_fifo_t *fifo, void(*datum_free)(void *))
int globus_fifo_empty (const globus_fifo_t *fifo)
int globus_fifo_size (const globus_fifo_t *fifo)
int globus_fifo_enqueue (globus_fifo_t *fifo, void *datum)
globus_fifo_t * globus_fifo_copy (const globus_fifo_t *fifo)
void * globus_fifo_peek (globus_fifo_t *fifo)
void * globus_fifo_tail_peek (globus_fifo_t *fifo)
void * globus_fifo_remove (globus_fifo_t *headp, void *datum)
void * globus_fifo_dequeue (globus_fifo_t *fifo)
int globus_fifo_move (globus_fifo_t *fifo_dest, globus_fifo_t *fifo_src)
globus_list_t * globus_fifo_convert_to_list (globus_fifo_t *fifo)

Detailed Description

FIFO Queue Implementation.

Typedef Documentation

  typedef struct globus_fifo_s* globus_fifo_t
Data type used in all function calls to manipulate a Globus FIFO

Function Documentation

  globus_list_t * globus_fifo_convert_to_list (globus_fifo_t * fifo) [extern]
Convert the fifo into a list.

  globus_fifo_t * globus_fifo_copy (const globus_fifo_t * fifo) [extern]
Make a copy of the fifo. globus_fifo_destroy() must be called the returned pointer to free memory associated with it.

  void * globus_fifo_dequeue (globus_fifo_t * fifo) [extern]
dequeue the element at the front of the queue.

  void globus_fifo_destroy (globus_fifo_t * fifo) [extern]
Destroy the fifo data structure.

This function destroys the memory associate with the fifo data structure. For every call to globus_fifo_init() there must be a corresponding call to globus_fifo_destroy()

  void globus_fifo_destroy_all (globus_fifo_t * fifo, void(* datum_free )(void *))
Destroy the fifo data structure.

This function destroys the memory associate with the fifo data structure. It calls datum_free() on behalf of all remaining nodes in the queue. For every call to globus_fifo_init() there must be a corresponding call to globus_fifo_destroy()

  int globus_fifo_empty (const globus_fifo_t * fifo) [extern]
This function returns a boolean indicating whether or not the fifo is empty.

  int globus_fifo_enqueue (globus_fifo_t * fifo, void * datum) [extern]
Add data to the back of the queue.

  int globus_fifo_init (globus_fifo_t * fifo) [extern]

Initialize the fifo structure. This function initializes the fifo data structure. The structure must be initialized before it can be used with any other function.

  int globus_fifo_move (globus_fifo_t * fifo_dest, globus_fifo_t * fifo_src) [extern]
Move the queue from fifo_src pointer to fifo_dest pointer.

  void * globus_fifo_peek (globus_fifo_t * fifo) [extern]
get a pointer to the element at the front of the queue.

  void * globus_fifo_remove (globus_fifo_t * headp, void * datum) [extern]
remove datum from anywhere in the queue.

  int globus_fifo_size (const globus_fifo_t * fifo) [extern]
This function returns a integer representing the number of elements in the queue.

  void * globus_fifo_tail_peek (globus_fifo_t * fifo) [extern]
Get a pointer to the element at the back of the queue.

Author

Generated automatically by Doxygen for globus_common from the source code.