Apache HTTPD
Classes | Macros | Typedefs | Enumerations | Functions | Variables
apr_buckets.h File Reference

APR-UTIL Buckets/Bucket Brigades. More...

#include "apu.h"
#include "apr_network_io.h"
#include "apr_file_io.h"
#include "apr_general.h"
#include "apr_mmap.h"
#include "apr_errno.h"
#include "apr_ring.h"
#include "apr.h"

Go to the source code of this file.

Classes

struct  apr_bucket_type_t
 
struct  apr_bucket
 
struct  apr_bucket_brigade
 
struct  apr_bucket_brigade::apr_bucket_list
 
struct  apr_bucket_refcount
 
struct  apr_bucket_heap
 
struct  apr_bucket_pool
 
struct  apr_bucket_file
 
union  apr_bucket_structs
 

Macros

#define APR_BUCKET_BUFF_SIZE   8000
 
#define APR_BRIGADE_CHECK_CONSISTENCY(b)
 
#define APR_BUCKET_CHECK_CONSISTENCY(e)
 
#define APR_BRIGADE_SENTINEL(b)   APR_RING_SENTINEL(&(b)->list, apr_bucket, link)
 
#define APR_BRIGADE_EMPTY(b)   APR_RING_EMPTY(&(b)->list, apr_bucket, link)
 
#define APR_BRIGADE_FIRST(b)   APR_RING_FIRST(&(b)->list)
 
#define APR_BRIGADE_LAST(b)   APR_RING_LAST(&(b)->list)
 
#define APR_BRIGADE_INSERT_HEAD(b, e)
 
#define APR_BRIGADE_INSERT_TAIL(b, e)
 
#define APR_BRIGADE_CONCAT(a, b)
 
#define APR_BRIGADE_PREPEND(a, b)
 
#define APR_BUCKET_INSERT_BEFORE(a, b)
 
#define APR_BUCKET_INSERT_AFTER(a, b)
 
#define APR_BUCKET_NEXT(e)   APR_RING_NEXT((e), link)
 
#define APR_BUCKET_PREV(e)   APR_RING_PREV((e), link)
 
#define APR_BUCKET_REMOVE(e)   APR_RING_REMOVE((e), link)
 
#define APR_BUCKET_INIT(e)   APR_RING_ELEM_INIT((e), link)
 
#define APR_BUCKET_IS_METADATA(e)   ((e)->type->is_metadata)
 
#define APR_BUCKET_IS_FLUSH(e)   ((e)->type == &apr_bucket_type_flush)
 
#define APR_BUCKET_IS_EOS(e)   ((e)->type == &apr_bucket_type_eos)
 
#define APR_BUCKET_IS_FILE(e)   ((e)->type == &apr_bucket_type_file)
 
#define APR_BUCKET_IS_PIPE(e)   ((e)->type == &apr_bucket_type_pipe)
 
#define APR_BUCKET_IS_SOCKET(e)   ((e)->type == &apr_bucket_type_socket)
 
#define APR_BUCKET_IS_HEAP(e)   ((e)->type == &apr_bucket_type_heap)
 
#define APR_BUCKET_IS_TRANSIENT(e)   ((e)->type == &apr_bucket_type_transient)
 
#define APR_BUCKET_IS_IMMORTAL(e)   ((e)->type == &apr_bucket_type_immortal)
 
#define APR_BUCKET_IS_POOL(e)   ((e)->type == &apr_bucket_type_pool)
 
#define APR_BUCKET_ALLOC_SIZE   APR_ALIGN_DEFAULT(2*sizeof(apr_bucket_structs))
 
#define apr_bucket_destroy(e)
 
#define apr_bucket_delete(e)
 
#define apr_bucket_read(e, str, len, block)   (e)->type->read(e, str, len, block)
 
#define apr_bucket_setaside(e, p)   (e)->type->setaside(e,p)
 
#define apr_bucket_split(e, point)   (e)->type->split(e, point)
 
#define apr_bucket_copy(e, c)   (e)->type->copy(e, c)
 

Typedefs

typedef struct apr_bucket_brigade apr_bucket_brigade
 
typedef struct apr_bucket apr_bucket
 
typedef struct apr_bucket_alloc_t apr_bucket_alloc_t
 
typedef struct apr_bucket_type_t apr_bucket_type_t
 
typedef apr_status_t(* apr_brigade_flush) (apr_bucket_brigade *bb, void *ctx)
 
typedef struct apr_bucket_refcount apr_bucket_refcount
 
typedef struct apr_bucket_heap apr_bucket_heap
 
typedef struct apr_bucket_pool apr_bucket_pool
 
typedef struct apr_bucket_file apr_bucket_file
 
typedef union apr_bucket_structs apr_bucket_structs
 

Enumerations

enum  apr_read_type_e { APR_BLOCK_READ , APR_NONBLOCK_READ }
 

Functions

 APU_DECLARE (apr_bucket_brigade *) apr_brigade_create(apr_pool_t *p
 
 APU_DECLARE (apr_status_t) apr_brigade_destroy(apr_bucket_brigade *b)
 
 APU_DECLARE_NONSTD (apr_status_t) apr_brigade_putstrs(apr_bucket_brigade *b
 
apr_brigade_flush void apr_brigade_flush void const char __attribute__ ((format(printf, 4, 5)))
 
 APU_DECLARE (apr_bucket *) apr_brigade_insert_file(apr_bucket_brigade *bb
 
 APU_DECLARE_NONSTD (apr_bucket_alloc_t *) apr_bucket_alloc_create(apr_pool_t *p)
 
 APU_DECLARE_NONSTD (void) apr_bucket_alloc_destroy(apr_bucket_alloc_t *list)
 
 APU_DECLARE_NONSTD (apr_size_t) apr_bucket_alloc_aligned_floor(apr_bucket_alloc_t *list
 
apr_size_t size __attribute__ ((nonnull(1)))
 
 APU_DECLARE_NONSTD (void *) apr_bucket_alloc(apr_size_t size
 

Variables

apr_bucket_alloc_tlist
 
apr_buckete
 
apr_bucket apr_bucket_brigadea
 
apr_off_t point
 
apr_off_t apr_bucket ** after_point
 
int read_all
 
int apr_off_tlength
 
charc
 
char apr_size_tlen
 
char apr_size_t apr_pool_tpool
 
apr_bucket_brigadebbIn
 
apr_bucket_brigade apr_read_type_e block
 
apr_bucket_brigade apr_read_type_e apr_off_t maxbytes
 
struct iovecvec
 
struct iovec intnvec
 
apr_brigade_flush flush
 
apr_brigade_flush void * ctx
 
apr_brigade_flush void va_list va
 
apr_brigade_flush void const charstr
 
apr_brigade_flush void const char apr_size_t nbyte
 
apr_brigade_flush void apr_brigade_flush void const charfmt
 
apr_file_tf
 
apr_file_t apr_off_t start
 
apr_file_t apr_off_t apr_off_t apr_pool_tp
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_flush
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_eos
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_file
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_heap
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_pool
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_pipe
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_immortal
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_transient
 
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_socket
 
apr_bucket ** b
 
void * data
 
const charbuf
 
apr_size_t void(* free_func )(void *data)
 
apr_socket_tthissock
 
apr_file_tthispipe
 
apr_off_t offset
 
apr_file_tfd
 
int enabled
 
apr_size_t size
 

Detailed Description

APR-UTIL Buckets/Bucket Brigades.

Definition in file apr_buckets.h.