Return-Path: Delivered-To: apmail-apr-commits-archive@www.apache.org Received: (qmail 80234 invoked from network); 15 Jun 2009 00:03:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 15 Jun 2009 00:03:31 -0000 Received: (qmail 31884 invoked by uid 500); 15 Jun 2009 00:03:42 -0000 Delivered-To: apmail-apr-commits-archive@apr.apache.org Received: (qmail 31803 invoked by uid 500); 15 Jun 2009 00:03:42 -0000 Mailing-List: contact commits-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: dev@apr.apache.org List-Id: Delivered-To: mailing list commits@apr.apache.org Received: (qmail 31604 invoked by uid 99); 15 Jun 2009 00:03:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Jun 2009 00:03:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Jun 2009 00:03:34 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3E12E2388A1C; Mon, 15 Jun 2009 00:02:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r784636 [32/47] - in /apr/site/trunk/docs/docs: apr-util/trunk/ apr/trunk/ Date: Mon, 15 Jun 2009 00:01:47 -0000 To: commits@apr.apache.org From: bojan@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090615000205.3E12E2388A1C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___base64.html URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___base64.html?rev=784636&view=auto ============================================================================== --- apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___base64.html (added) +++ apr/site/trunk/docs/docs/apr/trunk/group___a_p_r___util___base64.html Mon Jun 15 00:01:38 2009 @@ -0,0 +1,1558 @@ + + +Apache Portable Runtime: Base64 Encoding + + + + + +
+

Base64 Encoding
+ +[APR Utility Functions] +

+ + + + + + + + + + + +

Functions

 APU_DECLARE (int) apr_base64_encode_len(int len)

Variables

+const char * plain_src
+const char int len_plain_src
+const char * coded_src
+

Function Documentation

+ +
+
+ + + + + + + + + +
APU_DECLARE (apr_status_t   ) 
+
+
+ +

+Given the length of an un-encrypted string, get the length of the encrypted string.

Parameters:
+ + +
len the length of an unencrypted string.
+
+
Returns:
the length of the string after it is encrypted
+Encode a text string using base64encoding.
Parameters:
+ + + + +
coded_dst The destination string for the encoded string.
plain_src The original string in plain text
len_plain_src The length of the plain text string
+
+
Returns:
the length of the encoded string
+Encode an EBCDIC string using base64encoding.
Parameters:
+ + + + +
coded_dst The destination string for the encoded string.
plain_src The original string in plain text
len_plain_src The length of the plain text string
+
+
Returns:
the length of the encoded string
+Determine the maximum buffer length required to decode the plain text string given the encoded string.
Parameters:
+ + +
coded_src The encoded string
+
+
Returns:
the maximum required buffer length for the plain text string
+Decode a string to plain text
Parameters:
+ + + +
plain_dst The destination string for the plain text
coded_src The encoded string
+
+
Returns:
the length of the plain text string
+Decode an EBCDIC string to plain text
Parameters:
+ + + +
plain_dst The destination string for the plain text
coded_src The encoded string
+
+
Returns:
the length of the plain text string
+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
+
+
Remarks:
Generally, you should use apr_brigade_destroy(). This function can be useful in situations where you have a single brigade that you wish to reuse many times by destroying all of the buckets in the brigade and putting new buckets into it later.
+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.
+
Remarks:
if APR_INCOMPLETE is returned, after_point will be set to the brigade sentinel.
+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
+apr_dbd_get_driver: get the driver struct for a name

+

Parameters:
+ + + + +
pool - (process) pool to register cleanup
name - driver name
driver - pointer to driver struct.
+
+
Returns:
APR_SUCCESS for success

+APR_ENOTIMPL for no driver (when DSO not enabled)

+APR_EDSOOPEN if DSO driver file can't be opened

+APR_ESYMNOTFOUND if the driver file doesn't contain a driver

+apr_dbd_open_ex: open a connection to a backend

+

Parameters:
+ + + + + + +
pool - working pool
params - arguments to driver (implementation-dependent)
handle - pointer to handle to return
driver - driver struct.
error - descriptive error.
+
+
Returns:
APR_SUCCESS for success

+APR_EGENERAL if driver exists but connection failed

+
Remarks:
PostgreSQL: the params is passed directly to the PQconnectdb() function (check PostgreSQL documentation for more details on the syntax).

+SQLite2: the params is split on a colon, with the first part used as the filename and second part converted to an integer and used as file mode.

+SQLite3: the params is passed directly to the sqlite3_open() function as a filename to be opened (check SQLite3 documentation for more details).

+Oracle: the params can have "user", "pass", "dbname" and "server" keys, each followed by an equal sign and a value. Such key/value pairs can be delimited by space, CR, LF, tab, semicolon, vertical bar or comma.

+MySQL: the params can have "host", "port", "user", "pass", "dbname", "sock", "flags" "fldsz", "group" and "reconnect" keys, each followed by an equal sign and a value. Such key/value pairs can be delimited by space, CR, LF, tab, semicolon, vertical bar or comma. For now, "flags" can only recognise CLIENT_FOUND_ROWS (check MySQL manual for details). The value associated with "fldsz" determines maximum amount of memory (in bytes) for each of the fields in the result set of prepared statements. By default, this value is 1 MB. The value associated with "group" determines which group from configuration file to use (see MYSQL_READ_DEFAULT_GROUP option of mysql_options() in MySQL manual). Reconnect is set to 1 by default (i.e. true).

+FreeTDS: the params can have "username", "password", "appname", "dbname", "host", "charset", "lang" and "server" keys, each followed by an equal sign and a value.

+apr_dbd_open: open a connection to a backend

+

Parameters:
+ + + + + +
pool - working pool
params - arguments to driver (implementation-dependent)
handle - pointer to handle to return
driver - driver struct.
+
+
Returns:
APR_SUCCESS for success

+APR_EGENERAL if driver exists but connection failed

+
See also:
apr_dbd_open_ex
+apr_dbd_close: close a connection to a backend

+

Parameters:
+ + + +
handle - handle to close
driver - driver struct.
+
+
Returns:
APR_SUCCESS for success or error status
+check_conn: check status of a database connection

+

Parameters:
+ + + + +
driver - the driver
pool - working pool
handle - the connection to check
+
+
Returns:
APR_SUCCESS or error
+apr_dbd_set_dbname: select database name. May be a no-op if not supported.

+

Parameters:
+ + + + + +
driver - the driver
pool - working pool
handle - the connection
name - the database to select
+
+
Returns:
0 for success or error code
+apr_dbd_transaction_start: start a transaction. May be a no-op.

+

Parameters:
+ + + + + +
driver - the driver
pool - a pool to use for error messages (if any).
handle - the db connection
trans - ptr to a transaction. May be null on entry
+
+
Returns:
0 for success or error code
+
Remarks:
Note that transaction modes, set by calling apr_dbd_transaction_mode_set(), will affect all query/select calls within a transaction. By default, any error in query/select during a transaction will cause the transaction to inherit the error code and any further query/select calls will fail immediately. Put transaction in "ignore errors" mode to avoid that. Use "rollback" mode to do explicit rollback.
+apr_dbd_transaction_end: end a transaction (commit on success, rollback on error). May be a no-op.

+

Parameters:
+ + + + +
driver - the driver
handle - the db connection
trans - the transaction.
+
+
Returns:
0 for success or error code
+apr_dbd_transaction_mode_get: get the mode of transaction

+

Parameters:
+ + + +
driver - the driver
trans - the transaction
+
+
Returns:
mode of transaction
+apr_dbd_transaction_mode_set: set the mode of transaction

+

Parameters:
+ + + + +
driver - the driver
trans - the transaction
mode - new mode of the transaction
+
+
Returns:
the mode of transaction in force after the call
+apr_dbd_query: execute an SQL query that doesn't return a result set

+

Parameters:
+ + + + + +
driver - the driver
handle - the connection
nrows - number of rows affected.
statement - the SQL statement to execute
+
+
Returns:
0 for success or error code
+apr_dbd_select: execute an SQL query that returns a result set

+

Parameters:
+ + + + + + + +
driver - the driver
pool - pool to allocate the result set
handle - the connection
res - pointer to result set pointer. May point to NULL on entry
statement - the SQL statement to execute
random - 1 to support random access to results (seek any row); 0 to support only looping through results in order (async access - faster)
+
+
Returns:
0 for success or error code
+apr_dbd_num_cols: get the number of columns in a results set

+

Parameters:
+ + + +
driver - the driver
res - result set.
+
+
Returns:
number of columns
+apr_dbd_num_tuples: get the number of rows in a results set of a synchronous select

+

Parameters:
+ + + +
driver - the driver
res - result set.
+
+
Returns:
number of rows, or -1 if the results are asynchronous
+apr_dbd_get_row: get a row from a result set

+

Parameters:
+ + + + + + +
driver - the driver
pool - pool to allocate the row
res - result set pointer
row - pointer to row pointer. May point to NULL on entry
rownum - row number (counting from 1), or -1 for "next row". Ignored if random access is not supported.
+
+
Returns:
0 for success, -1 for rownum out of range or data finished
+apr_dbd_prepare: prepare a statement

+

Parameters:
+ + + + + + + +
driver - the driver
pool - pool to alloc the result from
handle - the connection
query - the SQL query
label - A label for the prepared statement. use NULL for temporary prepared statements (eg within a Request in httpd)
statement - statement to prepare. May point to null on entry.
+
+
Returns:
0 for success or error code
+
Remarks:
To specify parameters of the prepared query, use %s, %d etc. (see below for full list) in place of database specific parameter syntax (e.g. for PostgreSQL, this would be $1, $2, for SQLite3 this would be ? etc.). For instance: "SELECT name FROM customers WHERE name=%s" would be a query that this function understands.

+Here is the full list of format specifiers that this function understands and what they map to in SQL: %hhd (TINY INT), %hhu (UNSIGNED TINY INT), %hd (SHORT), %hu (UNSIGNED SHORT), %d (INT), %u (UNSIGNED INT), %ld (LONG), %lu (UNSIGNED LONG), %lld (LONG LONG), %llu (UNSIGNED LONG LONG), %f (FLOAT, REAL), %lf (DOUBLE PRECISION), %s (VARCHAR), %pDt (TEXT), %pDi (TIME), %pDd (DATE), %pDa (DATETIME), %pDs (TIMESTAMP), %pDz (TIMESTAMP WITH TIME ZONE), %pDb (BLOB), %pDc (CLOB) and %pDn (NULL). Not all databases have support for all these types, so the underlying driver will attempt the "best match" where possible. A % followed by any letter not in the above list will be interpreted as VARCHAR (i.e. %s).

+apr_dbd_pquery: query using a prepared statement + args

+

Parameters:
+ + + + + + + + +
driver - the driver
pool - working pool
handle - the connection
nrows - number of rows affected.
statement - the prepared statement to execute
nargs - ignored (for backward compatibility only)
args - args to prepared statement
+
+
Returns:
0 for success or error code
+apr_dbd_pselect: select using a prepared statement + args

+

Parameters:
+ + + + + + + + + +
driver - the driver
pool - working pool
handle - the connection
res - pointer to query results. May point to NULL on entry
statement - the prepared statement to execute
random - Whether to support random-access to results
nargs - ignored (for backward compatibility only)
args - args to prepared statement
+
+
Returns:
0 for success or error code
+apr_dbd_pbquery: query using a prepared statement + binary args

+

Parameters:
+ + + + + + + +
driver - the driver
pool - working pool
handle - the connection
nrows - number of rows affected.
statement - the prepared statement to execute
args - binary args to prepared statement
+
+
Returns:
0 for success or error code
+apr_dbd_pbselect: select using a prepared statement + binary args

+

Parameters:
+ + + + + + + + +
driver - the driver
pool - working pool
handle - the connection
res - pointer to query results. May point to NULL on entry
statement - the prepared statement to execute
random - Whether to support random-access to results
args - binary args to prepared statement
+
+
Returns:
0 for success or error code
+apr_dbd_datum_get: get a binary entry from a row

+

Parameters:
+ + + + + + +
driver - the driver
row - row pointer
col - entry number
type - type of data to get
data - pointer to data, allocated by the caller
+
+
Returns:
APR_SUCCESS on success, APR_ENOENT if data is NULL or APR_EGENERAL
+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
+
+
Remarks:
The dbm name may not be a true file name, as many dbm packages append suffixes for seperate data and index files.
+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
+
+
Remarks:
It is not an error to delete a non-existent record.
+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.
+
Remarks:
The dbm file(s) don't need to exist. This function only manipulates the pathnames.
+MDr4 translation setup. Provides the APR translation handle to be used for translating the content before calculating the digest.
Parameters:
+ + + +
context The MD4 content to set the translation for.
xlate The translation handle to use for this MD4 context
+
+MD4 block update operation. Continue an MD4 message-digest operation, processing another message block, and updating the context.
Parameters:
+ + + + +
context The MD4 content to update.
input next message block to update
inputLen The length of the next message block
+
+MD4 finalization. Ends an MD4 message-digest operation, writing the message digest and zeroing the context
Parameters:
+ + + +
digest The final MD4 digest
context The MD4 content we are finalizing.
+
+MD4 digest computation
Parameters:
+ + + + +
digest The MD4 digest
input message block to use
inputLen The length of the message block
+
+MD5 translation setup. Provides the APR translation handle to be used for translating the content before calculating the digest.
Parameters:
+ + + +
context The MD5 content to set the translation for.
xlate The translation handle to use for this MD5 context
+
+MD5 block update operation. Continue an MD5 message-digest operation, processing another message block, and updating the context.
Parameters:
+ + + + +
context The MD5 content to update.
input next message block to update
inputLen The length of the next message block
+
+MD5 finalization. Ends an MD5 message-digest operation, writing the message digest and zeroing the context
Parameters:
+ + + +
digest The final MD5 digest
context The MD5 content we are finalizing.
+
+MD5 in one step
Parameters:
+ + + + +
digest The final MD5 digest
input The message block to use
inputLen The length of the message block
+
+Encode a password using an MD5 algorithm
Parameters:
+ + + + + +
password The password to encode
salt The salt to use for the encoding
result The string to store the encoded password in
nbytes The size of the result buffer
+
+Validate hashes created by APR-supported algorithms: md5 and sha1. hashes created by crypt are supported only on platforms that provide crypt(3), so don't rely on that function unless you know that your application will be run only on platforms that support it. On platforms that don't support crypt(3), this falls back to a clear text string comparison.
Parameters:
+ + + +
passwd The password to validate
hash The password to validate against
+
+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
+
Remarks:
min, smax, and max are only used when APR_HAS_THREADS
+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
+
+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:
+ + +
queue the queue
+
+terminate the queue, sending an interrupt to all the blocking threads

+

Parameters:
+ + +
queue the queue
+
+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.
+
+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
+
+Close an sdbm file previously opened by apr_sdbm_open
Parameters:
+ + +
db The database to close
+
+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
+ 
+
+
Remarks:
Calls to apr_sdbm_lock may be nested. All apr_sdbm functions perform implicit locking. Since an APR_FLOCK_SHARED lock cannot be portably promoted to an APR_FLOCK_EXCLUSIVE lock, apr_sdbm_store and apr_sdbm_delete calls will fail if an APR_FLOCK_SHARED lock is held. The apr_sdbm_lock call requires the database to be opened with the APR_SHARELOCK mode value.
+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
+
+
Remarks:
It is not an error to delete a non-existent record.
+Retrieve the first record key from a dbm
Parameters:
+ + + +
db The database
key The key datum of the first record
+
+
Remarks:
The keys returned are not ordered. To traverse the list of keys for an sdbm opened with APR_SHARELOCK, the caller must use apr_sdbm_lock prior to retrieving the first record, and hold the lock until after the last call to apr_sdbm_nextkey.
+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:
+ + +
db The database to test
+
+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
+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
+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
+
+
Remarks:
Return APR_ENOTIMPL if charset transcoding is not available in this instance of apr-util (i.e., APR_HAS_XLATE is undefined).
+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
+
+
Remarks:
Returns APR_ENOTIMPL if charset transcoding is not available in this instance of apr-util (i.e., APR_HAS_XLATE is undefined). Returns APR_INCOMPLETE if the input buffer ends in an incomplete multi-byte character.
+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
+
+
Remarks:
Return APR_ENOTIMPL if charset transcoding is not available in this instance of apr-util (i.e., APR_HAS_XLATE is undefined).
+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.
+
Remarks:
Use apr_xml_parser_geterror() to get more error information.
+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.
+
Remarks:
Use apr_xml_parser_geterror() to get more error information.
+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
+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
+
+
Remarks:
The dbm name may not be a true file name, as many dbm packages append suffixes for seperate data and index files.
+
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
+
+
Remarks:
The dbm name may not be a true file name, as many dbm packages append suffixes for seperate data and index files.
+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
+
+
Remarks:
It is not an error to delete a non-existent record.
+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.
+
Remarks:
The dbm file(s) don't need to exist. This function only manipulates the pathnames.
+Adds a server to a client object
Parameters:
+ + + +
mc The memcache client object to use
ms Server to add
+
+
Remarks:
Adding servers is not thread safe, and should be done once at startup.
+
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
+
Remarks:
min, smax, and max are only used when APR_HAS_THREADS
+Creates a new memcached client object
Parameters:
+ + + + [... 455 lines stripped ...]
p Pool to use
max_servers maximum number of servers
flags Not currently used