Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
apr_queue.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. 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 APR_QUEUE_H
18 #define APR_QUEUE_H
19 
28 #include "apu.h"
29 #include "apr_errno.h"
30 #include "apr_pools.h"
31 #include "apr_time.h"
32 
33 #if APR_HAS_THREADS
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif /* __cplusplus */
38 
48 typedef struct apr_queue_t apr_queue_t;
49 
57  unsigned int queue_capacity,
58  apr_pool_t *a);
59 
70 
81 
93 
105 
120  apr_interval_time_t timeout);
121 
136  apr_interval_time_t timeout);
137 
146 APR_DECLARE(unsigned int) apr_queue_size(apr_queue_t *queue);
147 
154 
162 
163 #ifdef __cplusplus
164 }
165 #endif
166 
169 #endif /* APR_HAS_THREADS */
170 
171 #endif /* APRQUEUE_H */
apr_status_t apr_queue_pop(apr_queue_t *queue, void **data)
apr_status_t apr_queue_term(apr_queue_t *queue)
apr_status_t apr_queue_create(apr_queue_t **queue, unsigned int queue_capacity, apr_pool_t *a)
struct apr_queue_t apr_queue_t
Definition: apr_queue.h:48
apr_int64_t apr_interval_time_t
Definition: apr_time.h:55
APR memory allocation.
apr_status_t apr_queue_trypop(apr_queue_t *queue, void **data)
apr_status_t apr_queue_timedpush(apr_queue_t *queue, void *data, apr_interval_time_t timeout)
apr_status_t apr_queue_trypush(apr_queue_t *queue, void *data)
APR Error Codes.
unsigned int apr_queue_size(apr_queue_t *queue)
apr_status_t apr_queue_timedpop(apr_queue_t *queue, void **data, apr_interval_time_t timeout)
#define APR_DECLARE(x)
Definition: macros.h:6
apr_status_t apr_queue_interrupt_all(apr_queue_t *queue)
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
APR Time Library.
apr_status_t apr_queue_push(apr_queue_t *queue, void *data)