00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef APR_QUEUE_H
00018 #define APR_QUEUE_H
00019
00020 #if APR_HAS_THREADS
00021
00029 #include "apu.h"
00030 #include "apr_errno.h"
00031 #include "apr_pools.h"
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00046 typedef struct apr_queue_t apr_queue_t;
00047
00054 APU_DECLARE(apr_status_t) apr_queue_create(apr_queue_t **queue,
00055 unsigned int queue_capacity,
00056 apr_pool_t *a);
00057
00067 APU_DECLARE(apr_status_t) apr_queue_push(apr_queue_t *queue, void *data);
00068
00078 APU_DECLARE(apr_status_t) apr_queue_pop(apr_queue_t *queue, void **data);
00079
00090 APU_DECLARE(apr_status_t) apr_queue_trypush(apr_queue_t *queue, void *data);
00091
00102 APU_DECLARE(apr_status_t) apr_queue_trypop(apr_queue_t *queue, void **data);
00103
00112 APU_DECLARE(unsigned int) apr_queue_size(apr_queue_t *queue);
00113
00119 APU_DECLARE(apr_status_t) apr_queue_interrupt_all(apr_queue_t *queue);
00120
00127 APU_DECLARE(apr_status_t) apr_queue_term(apr_queue_t *queue);
00128
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132
00135 #endif
00136
00137 #endif