00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef APR_QUEUE_H
00017 #define APR_QUEUE_H
00018
00019 #if APR_HAS_THREADS
00020
00028 #include "apu.h"
00029 #include "apr_errno.h"
00030 #include "apr_pools.h"
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00045 typedef struct apr_queue_t apr_queue_t;
00046
00053 APU_DECLARE(apr_status_t) apr_queue_create(apr_queue_t **queue,
00054 unsigned int queue_capacity,
00055 apr_pool_t *a);
00056
00066 APU_DECLARE(apr_status_t) apr_queue_push(apr_queue_t *queue, void *data);
00067
00077 APU_DECLARE(apr_status_t) apr_queue_pop(apr_queue_t *queue, void **data);
00078
00089 APU_DECLARE(apr_status_t) apr_queue_trypush(apr_queue_t *queue, void *data);
00090
00101 APU_DECLARE(apr_status_t) apr_queue_trypop(apr_queue_t *queue, void **data);
00102
00111 APU_DECLARE(unsigned int) apr_queue_size(apr_queue_t *queue);
00112
00118 APU_DECLARE(apr_status_t) apr_queue_interrupt_all(apr_queue_t *queue);
00119
00126 APU_DECLARE(apr_status_t) apr_queue_term(apr_queue_t *queue);
00127
00128 #ifdef __cplusplus
00129 }
00130 #endif
00131
00134 #endif
00135
00136 #endif