#include <apr_buckets.h>
Public Member Functions | |
APR_RING_ENTRY (apr_bucket) link | |
Data Fields | |
const apr_bucket_type_t * | type |
apr_size_t | length |
apr_off_t | start |
void * | data |
void(* | free )(void *e) |
apr_bucket_alloc_t * | list |
apr_bucket::APR_RING_ENTRY | ( | apr_bucket | ) |
Links to the rest of the brigade
The type of bucket.
apr_size_t apr_bucket::length |
The length of the data in the bucket. This could have been implemented with a function, but this is an optimization, because the most common thing to do will be to get the length. If the length is unknown, the value of this field will be (apr_size_t)(-1).
apr_off_t apr_bucket::start |
The start of the data in the bucket relative to the private base pointer. The vast majority of bucket types allow a fixed block of data to be referenced by multiple buckets, each bucket pointing to a different segment of the data. That segment starts at base+start and ends at base+start+length. If the length == (apr_size_t)(-1), then start == -1.
void* apr_bucket::data |
type-dependent data hangs off this pointer
void(* apr_bucket::free)(void *e) |
Pointer to function used to free the bucket. This function should always be defined and it should be consistent with the memory function used to allocate the bucket. For example, if malloc() is used to allocate the bucket, this pointer should point to free().
e | Pointer to the bucket being freed |
The freelist from which this bucket was allocated