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