.TH "globus_fifo" 3 "Thu Jan 12 2017" "Version 16.9" "globus_common" \" -*- nroff -*- .ad l .nh .SH NAME globus_fifo \- 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)" Convert the fifo into a list\&. .SS "\fBglobus_fifo_t\fP* globus_fifo_copy (const \fBglobus_fifo_t\fP * fifo)" 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)" dequeue the element at the front of the queue\&. .SS "void globus_fifo_destroy (\fBglobus_fifo_t\fP * fifo)" 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)" 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)" Add data to the back of the queue\&. .SS "int globus_fifo_init (\fBglobus_fifo_t\fP * fifo)" .PP Initialize the fifo structure\&. This function initializes the fifo data structure\&. The structure must be initalized 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)" Move the queue from fifo_src pointer to fifo_dest pointer\&. .SS "void* globus_fifo_peek (\fBglobus_fifo_t\fP * fifo)" get a pointer to the element at the front of the queue\&. .SS "void* globus_fifo_remove (\fBglobus_fifo_t\fP * headp, void * datum)" remove datum from anywhere in the queue\&. .SS "int globus_fifo_size (const \fBglobus_fifo_t\fP * fifo)" This function returns a interger representing the number of elements in the queue\&. .SS "void* globus_fifo_tail_peek (\fBglobus_fifo_t\fP * fifo)" 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\&.