destroy an entire bucket brigade. This includes destroying all of the buckets within the bucket brigade's bucket list.
- Parameters:
-
| b | The bucket brigade to destroy |
empty out an entire bucket brigade. This includes destroying all of the buckets within the bucket brigade's bucket list. This is similar to apr_brigade_destroy(), except that it does not deregister the brigade's pool cleanup function.
- Parameters:
-
| data | The bucket brigade to clean up |
Partition a bucket brigade at a given offset (in bytes from the start of the brigade). This is useful whenever a filter wants to use known ranges of bytes from the brigade; the ranges can even overlap.
- Parameters:
-
| b | The brigade to partition |
| point | The offset at which to partition the brigade |
| after_point | Returns a pointer to the first bucket after the partition |
- Returns:
- APR_SUCCESS on success, APR_INCOMPLETE if the contents of the brigade were shorter than point, or an error code.
Return the total length of the brigade.
- Parameters:
-
| bb | The brigade to compute the length of |
| read_all | Read unknown-length buckets to force a size |
| length | Returns the length of the brigade (up to the end, or up to a bucket read error), or -1 if the brigade has buckets of indeterminate length and read_all is 0. |
Take a bucket brigade and store the data in a flat char*
- Parameters:
-
| bb | The bucket brigade to create the char* from |
| c | The char* to write into |
| len | The maximum length of the char array. On return, it is the actual length of the char array. |
Creates a pool-allocated string representing a flat bucket brigade
- Parameters:
-
| bb | The bucket brigade to create the char array from |
| c | On return, the allocated char array |
| len | On return, the length of the char array. |
| pool | The pool to allocate the string from. |
Split a brigade to represent one LF line.
- Parameters:
-
| bbOut | The bucket brigade that will have the LF line appended to. |
| bbIn | The input bucket brigade to search for a LF-line. |
| block | The blocking mode to be used to split the line. |
| maxbytes | The maximum bytes to read. If this many bytes are seen without a LF, the brigade will contain a partial line. |
create an iovec of the elements in a bucket_brigade... return number of elements used. This is useful for writing to a file or to the network efficiently.
- Parameters:
-
| b | The bucket brigade to create the iovec from |
| vec | The iovec to create |
| nvec | The number of elements in the iovec. On return, it is the number of iovec elements actually filled out. |
This function writes a list of strings into a bucket brigade.
- Parameters:
-
| b | The bucket brigade to add to |
| flush | The flush function to use if the brigade is full |
| ctx | The structure to pass to the flush function |
| va | A list of strings to add |
- Returns:
- APR_SUCCESS or error code.
This function writes a string into a bucket brigade.
The apr_brigade_write function attempts to be efficient with the handling of heap buckets. Regardless of the amount of data stored inside a heap bucket, heap buckets are a fixed size to promote their reuse.
If an attempt is made to write a string to a brigade that already ends with a heap bucket, this function will attempt to pack the string into the remaining space in the previous heap bucket, before allocating a new heap bucket.
This function always returns APR_SUCCESS, unless a flush function is passed, in which case the return value of the flush function will be returned if used.
- Parameters:
-
| b | The bucket brigade to add to |
| flush | The flush function to use if the brigade is full |
| ctx | The structure to pass to the flush function |
| str | The string to add |
| nbyte | The number of bytes to write |
- Returns:
- APR_SUCCESS or error code
This function writes multiple strings into a bucket brigade.
- Parameters:
-
| b | The bucket brigade to add to |
| flush | The flush function to use if the brigade is full |
| ctx | The structure to pass to the flush function |
| vec | The strings to add (address plus length for each) |
| nvec | The number of entries in iovec |
- Returns:
- APR_SUCCESS or error code
This function writes a string into a bucket brigade.
- Parameters:
-
| bb | The bucket brigade to add to |
| flush | The flush function to use if the brigade is full |
| ctx | The structure to pass to the flush function |
| str | The string to add |
- Returns:
- APR_SUCCESS or error code
This function writes a character into a bucket brigade.
- Parameters:
-
| b | The bucket brigade to add to |
| flush | The flush function to use if the brigade is full |
| ctx | The structure to pass to the flush function |
| c | The character to add |
- Returns:
- APR_SUCCESS or error code
Evaluate a printf and put the resulting string at the end of the bucket brigade.
- Parameters:
-
| b | The brigade to write to |
| flush | The flush function to use if the brigade is full |
| ctx | The structure to pass to the flush function |
| fmt | The format of the string to write |
| va | The arguments to fill out the format |
- Returns:
- APR_SUCCESS or error code
Decrement the refcount of the data in the bucket. This function should only be called by type-specific bucket destruction functions.
- Parameters:
-
| data | The private data pointer from the bucket to be destroyed |
- Returns:
- TRUE or FALSE; TRUE if the reference count is now zero, indicating that the shared resource itself can be destroyed by the caller.
Enable or disable memory-mapping for a FILE bucket (default is enabled)
- Parameters:
-
| b | The bucket |
| enabled | Whether memory-mapping should be enabled |
- Returns:
- APR_SUCCESS normally, or an error code if the operation fails
Open a dbm file by file name and type of DBM
- Parameters:
-
| dbm | The newly opened database |
| type | The type of the DBM (not all may be available at run time)
db for Berkeley DB files
gdbm for GDBM files
ndbm for NDBM files
sdbm for SDBM files (always available)
default for the default DBM type
|
| name | The dbm file name to open |
| mode | The flag value
APR_DBM_READONLY open for read-only access
APR_DBM_READWRITE open for read-write access
APR_DBM_RWCREATE open for r/w, create if needed
APR_DBM_RWTRUNC open for r/w, truncate if already there
|
| perm | Permissions to apply to if created |
| cntxt | The pool to use when creating the dbm |
- Bug:
- In apr-util 0.9 and 1.x, the type arg was case insensitive. This was highly inefficient, and as of 2.x the dbm name must be provided in the correct case (lower case for all bundled providers)
Open a dbm file by file name
- Parameters:
-
| dbm | The newly opened database |
| name | The dbm file name to open |
| mode | The flag value
APR_DBM_READONLY open for read-only access
APR_DBM_READWRITE open for read-write access
APR_DBM_RWCREATE open for r/w, create if needed
APR_DBM_RWTRUNC open for r/w, truncate if already there
|
| perm | Permissions to apply to if created |
| cntxt | The pool to use when creating the dbm |
Fetch a dbm record value by key
- Parameters:
-
| dbm | The database |
| key | The key datum to find this record |
| pvalue | The value datum retrieved for this record |
Store a dbm record value by key
- Parameters:
-
| dbm | The database |
| key | The key datum to store this record by |
| value | The value datum to store in this record |
Delete a dbm record value by key
- Parameters:
-
| dbm | The database |
| key | The key datum of the record to delete |
Search for a key within the dbm
- Parameters:
-
| dbm | The database |
| key | The datum describing a key to test |
Retrieve the first record key from a dbm
- Parameters:
-
| dbm | The database |
| pkey | The key datum of the first record |
Retrieve the next record key from a dbm
- Parameters:
-
| dbm | The database |
| pkey | The key datum of the next record |
If the specified file/path were passed to apr_dbm_open(), return the actual file/path names which would be (created and) used. At most, two files may be used; used2 may be NULL if only one file is used.
- Parameters:
-
| pool | The pool for allocating used1 and used2. |
| type | The type of DBM you require info on |
- See also:
- apr_dbm_open_ex
- Parameters:
-
| pathname | The path name to generate used-names from. |
| used1 | The first pathname used by the apr_dbm implementation. |
| used2 | The second pathname used by apr_dbm. If only one file is used by the specific implementation, this will be set to NULL. |
- Returns:
- An error if the specified type is invalid.
Adds a server to a client object
- Parameters:
-
| mc | The memcache client object to use |
| ms | Server to add |
- Warning:
- Changing servers after startup may cause keys to go to different servers.
Enables a Server for use again
- Parameters:
-
| mc | The memcache client object to use |
| ms | Server to Activate |
Disable a Server
- Parameters:
-
| mc | The memcache client object to use |
| ms | Server to Disable |
Creates a new Server Object
- Parameters:
-
| p | Pool to use |
| host | hostname of the server |
| port | port of the server |
| min | minimum number of client sockets to open |
| smax | soft maximum number of client connections to open |
| max | hard maximum number of client connections |
| ttl | time to live in seconds of a client connection |
| ns | location of the new server object |
- See also:
- apr_reslist_create
Creates a new memcached client object
- Parameters:
-
| p | Pool to use |
| max_servers | maximum number of servers |
| flags | Not currently used |
| mc | location of the new memcache client object |
Gets a value from the server, allocating the value out of p
- Parameters:
-
| mc | client to use |
| p | Pool to use |
| key | null terminated string containing the key |
| baton | location of the allocated value |
| len | length of data at baton |
| flags | any flags set by the client for this key |
- Returns:
Sets a value by key on the server
- Parameters:
-
| mc | client to use |
| key | null terminated string containing the key |
| baton | data to store on the server |
| len | length of data at baton |
| timeout | time in seconds for the data to live on the server |
| flags | any flags set by the client for this key |
Adds value by key on the server
- Parameters:
-
| mc | client to use |
| key | null terminated string containing the key |
| baton | data to store on the server |
| len | length of data at baton |
| timeout | time for the data to live on the server |
| flags | any flags set by the client for this key |
- Returns:
- APR_SUCCESS if the key was added, APR_EEXIST if the key already exists on the server.
Replaces value by key on the server
- Parameters:
-
| mc | client to use |
| key | null terminated string containing the key |
| baton | data to store on the server |
| len | length of data at baton |
| timeout | time for the data to live on the server |
| flags | any flags set by the client for this key |
- Returns:
- APR_SUCCESS if the key was added, APR_EEXIST if the key did not exist on the server.
Deletes a key from a server
- Parameters:
-
| mc | client to use |
| key | null terminated string containing the key |
| timeout | time for the delete to stop other clients from adding |
Increments a value
- Parameters:
-
| mc | client to use |
| key | null terminated string containing the key |
| n | number to increment by |
| nv | new value after incrmenting |
Decrements a value
- Parameters:
-
| mc | client to use |
| key | null terminated string containing the key |
| n | number to decrement by |
| nv | new value after decrementing |
Query a server's version
- Parameters:
-
| ms | server to query |
| p | Pool to allocate answer from |
| baton | location to store server version string |
| len | length of the server version string |
Query a server for statistics
- Parameters:
-
| ms | server to query |
| p | Pool to allocate answer from |
| stats | location of the new statistics structure |
create a FIFO queue
- Parameters:
-
| queue | The new queue |
| queue_capacity | maximum size of the queue |
| a | pool to allocate queue from |
push/add an object to the queue, blocking if the queue is already full
- Parameters:
-
| queue | the queue |
| data | the data |
- Returns:
- APR_EINTR the blocking was interrupted (try again)
APR_EOF the queue has been terminated
APR_SUCCESS on a successful push
pop/get an object from the queue, blocking if the queue is already empty
- Parameters:
-
| queue | the queue |
| data | the data |
- Returns:
- APR_EINTR the blocking was interrupted (try again)
APR_EOF if the queue has been terminated
APR_SUCCESS on a successful pop
push/add an object to the queue, returning immediately if the queue is full
- Parameters:
-
| queue | the queue |
| data | the data |
- Returns:
- APR_EINTR the blocking operation was interrupted (try again)
APR_EAGAIN the queue is full
APR_EOF the queue has been terminated
APR_SUCCESS on a successful push
pop/get an object to the queue, returning immediately if the queue is empty
- Parameters:
-
| queue | the queue |
| data | the data |
- Returns:
- APR_EINTR the blocking operation was interrupted (try again)
APR_EAGAIN the queue is empty
APR_EOF the queue has been terminated
APR_SUCCESS on a successful push
interrupt all the threads blocking on this queue.
- Parameters:
-
terminate the queue, sending an interrupt to all the blocking threads
- Parameters:
-
Create a new resource list with the following parameters:
- Parameters:
-
| reslist | An address where the pointer to the new resource list will be stored. |
| min | Allowed minimum number of available resources. Zero creates new resources only when needed. |
| smax | Resources will be destroyed to meet this maximum restriction as they expire. |
| hmax | Absolute maximum limit on the number of total resources. |
| ttl | If non-zero, sets the maximum amount of time a resource may be available while exceeding the soft limit. |
| con | Constructor routine that is called to create a new resource. |
| de | Destructor routine that is called to destroy an expired resource. |
| params | Passed to constructor and deconstructor |
| pool | The pool from which to create this resource list. Also the same pool that is passed to the constructor and destructor routines. |
Destroy the given resource list and all resources controlled by this list. FIXME: Should this block until all resources become available, or maybe just destroy all the free ones, or maybe destroy them even though they might be in use by something else? Currently it will abort if there are resources that haven't been released, so there is an assumption that all resources have been released to the list before calling this function.
- Parameters:
-
| reslist | The reslist to destroy |
Retrieve a resource from the list, creating a new one if necessary. If we have met our maximum number of resources, we will block until one becomes available.
Return a resource back to the list of available resources.
Invalidate a resource in the pool - e.g. a database connection that returns a "lost connection" error and can't be restored. Use this instead of apr_reslist_release if the resource is bad.
Perform routine maintenance on the resource list. This call may instantiate new resources or expire old resources.
- Parameters:
-
| reslist | The resource list. |
Initialize a relocatable memory block to be managed by the apr_rmm API.
- Parameters:
-
| rmm | The relocatable memory block |
| lock | An apr_anylock_t of the appropriate type of lock, or NULL if no locking is required. |
| membuf | The block of relocatable memory to be managed |
| memsize | The size of relocatable memory block to be managed |
| cont | The pool to use for local storage and management |
- Parameters:
-
| membuf | and |
| memsize | must be aligned (for instance using APR_ALIGN_DEFAULT). |
Destroy a managed memory block.
- Parameters:
-
| rmm | The relocatable memory block to destroy |
Attach to a relocatable memory block already managed by the apr_rmm API.
- Parameters:
-
| rmm | The relocatable memory block |
| lock | An apr_anylock_t of the appropriate type of lock |
| membuf | The block of relocatable memory already under management |
| cont | The pool to use for local storage and management |
Detach from the managed block of memory.
- Parameters:
-
| rmm | The relocatable memory block to detach from |
Free allocation returned by apr_rmm_malloc or apr_rmm_calloc.
- Parameters:
-
| rmm | The relocatable memory block |
| entity | The memory allocation to free |
Open an sdbm database by file name
- Parameters:
-
| db | The newly opened database |
| name | The sdbm file to open |
| mode | The flag values (APR_READ and APR_BINARY flags are implicit)
APR_WRITE open for read-write access
APR_CREATE create the sdbm if it does not exist
APR_TRUNCATE empty the contents of the sdbm
APR_EXCL fail for APR_CREATE if the file exists
APR_DELONCLOSE delete the sdbm when closed
APR_SHARELOCK support locking across process/machines
|
| perms | Permissions to apply to if created |
| p | The pool to use when creating the sdbm |
Close an sdbm file previously opened by apr_sdbm_open
- Parameters:
-
Lock an sdbm database for concurency of multiple operations
- Parameters:
-
| db | The database to lock |
| type | The lock type
APR_FLOCK_SHARED
APR_FLOCK_EXCLUSIVE
|
Release an sdbm lock previously aquired by apr_sdbm_lock
- Parameters:
-
| db | The database to unlock |
Fetch an sdbm record value by key
- Parameters:
-
| db | The database |
| value | The value datum retrieved for this record |
| key | The key datum to find this record |
Store an sdbm record value by key
- Parameters:
-
| db | The database |
| key | The key datum to store this record by |
| value | The value datum to store in this record |
| opt | The method used to store the record
APR_SDBM_INSERT return an error if the record exists
APR_SDBM_REPLACE overwrite any existing record for key
|
Delete an sdbm record value by key
- Parameters:
-
| db | The database |
| key | The key datum of the record to delete |
Retrieve the first record key from a dbm
- Parameters:
-
| db | The database |
| key | The key datum of the first record |
Retrieve the next record key from an sdbm
- Parameters:
-
| db | The database |
| key | The key datum of the next record |
Returns true if the sdbm database opened for read-only access
- Parameters:
-
Create a thread pool
- Parameters:
-
| me | The pointer in which to return the newly created apr_thread_pool object, or NULL if thread pool creation fails. |
| init_threads | The number of threads to be created initially, this number will also be used as the initial value for the maximum number of idle threads. |
| max_threads | The maximum number of threads that can be created |
| pool | The pool to use |
- Returns:
- APR_SUCCESS if the thread pool was created successfully. Otherwise, the error code.
Destroy the thread pool and stop all the threads
- Returns:
- APR_SUCCESS if all threads are stopped.
Schedule a task to the bottom of the tasks of same priority.
- Parameters:
-
| me | The thread pool |
| func | The task function |
| param | The parameter for the task function |
| priority | The priority of the task. |
| owner | Owner of this task. |
- Returns:
- APR_SUCCESS if the task had been scheduled successfully
Schedule a task to be run after a delay
- Parameters:
-
| me | The thread pool |
| func | The task function |
| param | The parameter for the task function |
| time | Time in microseconds |
| owner | Owner of this task. |
- Returns:
- APR_SUCCESS if the task had been scheduled successfully
Schedule a task to the top of the tasks of same priority.
- Parameters:
-
| me | The thread pool |
| func | The task function |
| param | The parameter for the task function |
| priority | The priority of the task. |
| owner | Owner of this task. |
- Returns:
- APR_SUCCESS if the task had been scheduled successfully
Cancel tasks submitted by the owner. If there is any task from the owner that is currently running, the function will spin until the task finished.
- Parameters:
-
| me | The thread pool |
| owner | Owner of the task |
- Returns:
- APR_SUCCESS if the task has been cancelled successfully
- Note:
- The task function should not be calling cancel, otherwise the function may get stuck forever. The function assert if it detect such a case.
Get owner of the task currently been executed by the thread.
- Parameters:
-
| thd | The thread is executing a task |
| owner | Pointer to receive owner of the task. |
- Returns:
- APR_SUCCESS if the owner is retrieved successfully
Parse a given URI, fill in all supplied fields of a
apr_uri_t structure. This eliminates the necessity of extracting host, port, path, query info repeatedly in the modules.
- Parameters:
-
| p | The pool to allocate out of |
| uri | The uri to parse |
| uptr | The apr_uri_t to fill out |
- Returns:
- APR_SUCCESS for success or error code
Special case for CONNECT parsing: it comes with the hostinfo part only
- Parameters:
-
| p | The pool to allocate out of |
| hostinfo | The hostinfo string to parse |
| uptr | The apr_uri_t to fill out |
- Returns:
- APR_SUCCESS for success or error code
Parse a standard-format string into a UUID
- Parameters:
-
| uuid | The resulting UUID |
| uuid_str | The formatted UUID |
Set up for converting text from one charset to another.
- Parameters:
-
| convset | The handle to be filled in by this function |
| topage | The name of the target charset |
| frompage | The name of the source charset |
| pool | The pool to use |
Find out whether or not the specified conversion is single-byte-only.
- Parameters:
-
| convset | The handle allocated by apr_xlate_open, specifying the parameters of conversion |
| onoff | Output: whether or not the conversion is single-byte-only |
Convert a buffer of text from one codepage to another.
- Parameters:
-
| convset | The handle allocated by apr_xlate_open, specifying the parameters of conversion |
| inbuf | The address of the source buffer |
| inbytes_left | Input: the amount of input data to be translated Output: the amount of input data not yet translated |
| outbuf | The address of the destination buffer |
| outbytes_left | Input: the size of the output buffer Output: the amount of the output buffer not yet used |
To correctly terminate the output buffer for some multi-byte character set encodings, a final call must be made to this function after the complete input string has been converted, passing the inbuf and inbytes_left parameters as NULL. (Note that this mode only works from version 1.1.0 onwards)
Convert a single-byte character from one charset to another.
- Parameters:
-
| convset | The handle allocated by apr_xlate_open, specifying the parameters of conversion |
| inchar | The single-byte character to convert. |
- Warning:
- This only works when converting between single-byte character sets. -1 will be returned if the conversion can't be performed.
Close a codepage translation handle.
- Parameters:
-
| convset | The codepage translation handle to close |
Parse a File, producing a xml_doc
- Parameters:
-
| p | The pool for allocating the parse results. |
| parser | A pointer to *parser (needed so calling function can get errors), will be set to NULL on successfull completion. |
| ppdoc | A pointer to *apr_xml_doc (which has the parsed results in it) |
| xmlfd | A file to read from. |
| buffer_length | Buffer length which would be suitable |
- Returns:
- Any errors found during parsing.
Feed input into the parser
- Parameters:
-
| parser | The XML parser for parsing this data. |
| data | The data to parse. |
| len | The length of the data. |
- Returns:
- Any errors found during parsing.
Terminate the parsing and return the result
- Parameters:
-
| parser | The XML parser for parsing this data. |
| pdoc | The resulting parse information. May be NULL to simply terminate the parsing without fetching the info. |
- Returns:
- Any errors found during the final stage of parsing.
return the URI's (existing) index, or insert it and return a new index
- Parameters:
-
| uri_array | array to insert into |
| uri | The uri to insert |
- Returns:
- int The uri's index