.TH "globus_fifo" 3 "Version 18.14" "globus_common" \" -*- nroff -*-
.ad l
.nh
.SH NAME
globus_fifo \- FIFO Queue
.PP
 \- FIFO Queue Implementation\&.  

.SH SYNOPSIS
.br
.PP
.SS "Typedefs"

.in +1c
.ti -1c
.RI "typedef struct globus_fifo_s * \fBglobus_fifo_t\fP"
.br
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "int \fBglobus_fifo_init\fP (\fBglobus_fifo_t\fP *fifo)"
.br
.RI "Initialize the fifo structure\&. "
.ti -1c
.RI "void \fBglobus_fifo_destroy\fP (\fBglobus_fifo_t\fP *fifo)"
.br
.ti -1c
.RI "void \fBglobus_fifo_destroy_all\fP (\fBglobus_fifo_t\fP *fifo, void(*datum_free)(void *))"
.br
.ti -1c
.RI "int \fBglobus_fifo_empty\fP (const \fBglobus_fifo_t\fP *fifo)"
.br
.ti -1c
.RI "int \fBglobus_fifo_size\fP (const \fBglobus_fifo_t\fP *fifo)"
.br
.ti -1c
.RI "int \fBglobus_fifo_enqueue\fP (\fBglobus_fifo_t\fP *fifo, void *datum)"
.br
.ti -1c
.RI "\fBglobus_fifo_t\fP * \fBglobus_fifo_copy\fP (const \fBglobus_fifo_t\fP *fifo)"
.br
.ti -1c
.RI "void * \fBglobus_fifo_peek\fP (\fBglobus_fifo_t\fP *fifo)"
.br
.ti -1c
.RI "void * \fBglobus_fifo_tail_peek\fP (\fBglobus_fifo_t\fP *fifo)"
.br
.ti -1c
.RI "void * \fBglobus_fifo_remove\fP (\fBglobus_fifo_t\fP *headp, void *datum)"
.br
.ti -1c
.RI "void * \fBglobus_fifo_dequeue\fP (\fBglobus_fifo_t\fP *fifo)"
.br
.ti -1c
.RI "int \fBglobus_fifo_move\fP (\fBglobus_fifo_t\fP *fifo_dest, \fBglobus_fifo_t\fP *fifo_src)"
.br
.ti -1c
.RI "\fBglobus_list_t\fP * \fBglobus_fifo_convert_to_list\fP (\fBglobus_fifo_t\fP *fifo)"
.br
.in -1c
.SH "Detailed Description"
.PP 
FIFO Queue Implementation\&. 


.SH "Typedef Documentation"
.PP 
.SS "typedef struct globus_fifo_s* \fBglobus_fifo_t\fP"
Data type used in all function calls to manipulate a Globus FIFO 
.SH "Function Documentation"
.PP 
.SS "\fBglobus_list_t\fP * globus_fifo_convert_to_list (\fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
Convert the fifo into a list\&. 
.SS "\fBglobus_fifo_t\fP * globus_fifo_copy (const \fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
Make a copy of the fifo\&. \fBglobus_fifo_destroy()\fP must be called the returned pointer to free memory associated with it\&. 
.SS "void * globus_fifo_dequeue (\fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
dequeue the element at the front of the queue\&. 
.SS "void globus_fifo_destroy (\fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
Destroy the fifo data structure\&.
.PP
This function destroys the memory associate with the fifo data structure\&. For every call to \fBglobus_fifo_init()\fP there must be a corresponding call to \fBglobus_fifo_destroy()\fP 
.SS "void globus_fifo_destroy_all (\fBglobus_fifo_t\fP * fifo, void(*)(void *) datum_free)"
Destroy the fifo data structure\&.
.PP
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 \fBglobus_fifo_init()\fP there must be a corresponding call to \fBglobus_fifo_destroy()\fP 
.SS "int globus_fifo_empty (const \fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
This function returns a boolean indicating whether or not the fifo is empty\&. 
.SS "int globus_fifo_enqueue (\fBglobus_fifo_t\fP * fifo, void * datum)\fC [extern]\fP"
Add data to the back of the queue\&. 
.SS "int globus_fifo_init (\fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"

.PP
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\&. 
.SS "int globus_fifo_move (\fBglobus_fifo_t\fP * fifo_dest, \fBglobus_fifo_t\fP * fifo_src)\fC [extern]\fP"
Move the queue from fifo_src pointer to fifo_dest pointer\&. 
.SS "void * globus_fifo_peek (\fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
get a pointer to the element at the front of the queue\&. 
.SS "void * globus_fifo_remove (\fBglobus_fifo_t\fP * headp, void * datum)\fC [extern]\fP"
remove datum from anywhere in the queue\&. 
.SS "int globus_fifo_size (const \fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
This function returns a integer representing the number of elements in the queue\&. 
.SS "void * globus_fifo_tail_peek (\fBglobus_fifo_t\fP * fifo)\fC [extern]\fP"
Get a pointer to the element at the back of the queue\&. 
.SH "Author"
.PP 
Generated automatically by Doxygen for globus_common from the source code\&.