globus_common 18.13
Loading...
Searching...
No Matches
globus_fifo.h
Go to the documentation of this file.
1/*
2 * Copyright 1999-2006 University of Chicago
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef GLOBUS_FIFO_H
18#define GLOBUS_FIFO_H
19
27
33#include "globus_list.h"
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
43struct globus_fifo_s;
48typedef struct globus_fifo_s * globus_fifo_t;
49
57extern int
59 globus_fifo_t * fifo);
60
69extern void
71 globus_fifo_t * fifo);
72
82void
84 globus_fifo_t * fifo,
85 void (*datum_free)(void *));
86
92extern int
94 const globus_fifo_t * fifo);
95
101extern int
103 const globus_fifo_t * fifo);
104
109extern int
111 globus_fifo_t * fifo,
112 void * datum);
113
119extern globus_fifo_t *
121 const globus_fifo_t * fifo);
122
127extern void *
129 globus_fifo_t * fifo);
130
135extern void *
137 globus_fifo_t * fifo);
138
143extern void *
145 globus_fifo_t * headp,
146 void * datum);
147
152extern void *
154 globus_fifo_t * fifo);
155
160extern int
162 globus_fifo_t * fifo_dest,
163 globus_fifo_t * fifo_src);
164
169extern globus_list_t *
171 globus_fifo_t * fifo );
172
173#ifdef __cplusplus
174}
175#endif
176
177#endif /* GLOBUS_FIFO_H */
Linked List.
int globus_fifo_init(globus_fifo_t *fifo)
Initialize the fifo structure.
Definition globus_fifo.c:40
struct globus_fifo_s * globus_fifo_t
Definition globus_fifo.h:48
int globus_fifo_empty(const globus_fifo_t *fifo)
Definition globus_fifo.c:97
void * globus_fifo_tail_peek(globus_fifo_t *fifo)
Definition globus_fifo.c:202
globus_list_t * globus_fifo_convert_to_list(globus_fifo_t *fifo)
Definition globus_fifo.c:318
int globus_fifo_size(const globus_fifo_t *fifo)
Definition globus_fifo.c:108
int globus_fifo_enqueue(globus_fifo_t *fifo, void *datum)
Definition globus_fifo.c:119
globus_fifo_t * globus_fifo_copy(const globus_fifo_t *fifo)
Definition globus_fifo.c:155
void * globus_fifo_peek(globus_fifo_t *fifo)
Definition globus_fifo.c:188
void globus_fifo_destroy(globus_fifo_t *fifo)
Definition globus_fifo.c:57
void globus_fifo_destroy_all(globus_fifo_t *fifo, void(*datum_free)(void *))
Definition globus_fifo.c:76
void * globus_fifo_dequeue(globus_fifo_t *fifo)
Definition globus_fifo.c:216
int globus_fifo_move(globus_fifo_t *fifo_dest, globus_fifo_t *fifo_src)
Definition globus_fifo.c:287
void * globus_fifo_remove(globus_fifo_t *headp, void *datum)
Definition globus_fifo.c:243
struct globus_list globus_list_t
List data type.