GME  13
Functions | Variables
Base64 Encoding
APR Utility Functions
Collaboration diagram for Base64 Encoding:

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

Given the length of an un-encoded string, get the length of the encoded string.

Parameters:
lenthe length of an unencoded string.
Returns:
the length of the string after it is encoded, including the trailing \0

Encode a text string using base64encoding.

Parameters:
coded_dstThe destination string for the encoded string.
plain_srcThe original string in plain text
len_plain_srcThe length of the plain text string
Returns:
the length of the encoded string

Encode an EBCDIC string using base64encoding.

Parameters:
coded_dstThe destination string for the encoded string.
plain_srcThe original string in plain text
len_plain_srcThe 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_srcThe encoded string
Returns:
the maximum required buffer length for the plain text string

Decode a string to plain text

Parameters:
plain_dstThe destination string for the plain text
coded_srcThe encoded string
Returns:
the length of the plain text string

Decode an EBCDIC string to plain text

Parameters:
plain_dstThe destination string for the plain text
coded_srcThe 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:
dataThe 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:
bThe brigade to partition
pointThe offset at which to partition the brigade
after_pointReturns 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:
bbThe brigade to compute the length of
read_allRead unknown-length buckets to force a size
lengthReturns 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:
bbThe bucket brigade to create the char* from
cThe char* to write into
lenThe 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:
bbThe bucket brigade to create the char array from
cOn return, the allocated char array
lenOn return, the length of the char array.
poolThe pool to allocate the string from.

Split a brigade to represent one LF line.

Parameters:
bbOutThe bucket brigade that will have the LF line appended to.
bbInThe input bucket brigade to search for a LF-line.
blockThe blocking mode to be used to split the line.
maxbytesThe 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:
bThe bucket brigade to create the iovec from
vecThe iovec to create
nvecThe 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:
bThe bucket brigade to add to
flushThe flush function to use if the brigade is full
ctxThe structure to pass to the flush function
vaA 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:
bThe bucket brigade to add to
flushThe flush function to use if the brigade is full
ctxThe structure to pass to the flush function
strThe string to add
nbyteThe number of bytes to write
Returns:
APR_SUCCESS or error code

This function writes multiple strings into a bucket brigade.

Parameters:
bThe bucket brigade to add to
flushThe flush function to use if the brigade is full
ctxThe structure to pass to the flush function
vecThe strings to add (address plus length for each)
nvecThe number of entries in iovec
Returns:
APR_SUCCESS or error code

This function writes a string into a bucket brigade.

Parameters:
bbThe bucket brigade to add to
flushThe flush function to use if the brigade is full
ctxThe structure to pass to the flush function
strThe string to add
Returns:
APR_SUCCESS or error code

This function writes a character into a bucket brigade.

Parameters:
bThe bucket brigade to add to
flushThe flush function to use if the brigade is full
ctxThe structure to pass to the flush function
cThe 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:
bThe brigade to write to
flushThe flush function to use if the brigade is full
ctxThe structure to pass to the flush function
fmtThe format of the string to write
vaThe 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:
dataThe 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:
bThe bucket
enabledWhether 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:
dbmThe newly opened database
nameThe dbm file name to open
modeThe 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
 
permPermissions to apply to if created
cntxtThe 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:
dbmThe database
keyThe key datum to find this record
pvalueThe value datum retrieved for this record

Store a dbm record value by key

Parameters:
dbmThe database
keyThe key datum to store this record by
valueThe value datum to store in this record

Delete a dbm record value by key

Parameters:
dbmThe database
keyThe 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:
dbmThe database
keyThe datum describing a key to test

Retrieve the first record key from a dbm

Parameters:
dbmThe database
pkeyThe key datum of the first record

Retrieve the next record key from a dbm

Parameters:
dbmThe database
pkeyThe 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:
poolThe pool for allocating used1 and used2.
typeThe type of DBM you require info on
See also:
apr_dbm_open_ex
Parameters:
pathnameThe path name to generate used-names from.
used1The first pathname used by the apr_dbm implementation.
used2The 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.

MD4 block update operation. Continue an MD4 message-digest operation, processing another message block, and updating the context.

Parameters:
contextThe MD4 content to update.
inputnext message block to update
inputLenThe length of the next message block

MD4 finalization. Ends an MD4 message-digest operation, writing the message digest and zeroing the context

Parameters:
digestThe final MD4 digest
contextThe MD4 content we are finalizing.

MD4 digest computation

Parameters:
digestThe MD4 digest
inputmessage block to use
inputLenThe 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:
contextThe MD5 content to set the translation for.
xlateThe 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:
contextThe MD5 content to update.
inputnext message block to update
inputLenThe length of the next message block

MD5 finalization. Ends an MD5 message-digest operation, writing the message digest and zeroing the context

Parameters:
digestThe final MD5 digest
contextThe MD5 content we are finalizing.

MD5 in one step

Parameters:
digestThe final MD5 digest
inputThe message block to use
inputLenThe length of the message block

Encode a password using an MD5 algorithm

Parameters:
passwordThe password to encode
saltThe salt string to use for the encoding
resultThe string to store the encoded password in
nbytesThe size of the result buffer

Encode a password using the bcrypt algorithm

Parameters:
passwordThe password to encode
countThe cost of the encoding, possible values are 4 to 31
saltPointer to binary data to be used as salt for the encoding
salt_lenThe size of the salt data (must be >= 16)
outThe string to store the encoded password in
out_lenThe size of the result buffer (must be >= 61)

Validate hashes created by APR-supported algorithms: md5, bcrypt, 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:
passwdThe password to validate
hashThe password to validate against

Enables a Server for use again

Parameters:
mcThe memcache client object to use
msServer to Activate

Disable a Server

Parameters:
mcThe memcache client object to use
msServer to Disable

Creates a new Server Object

Parameters:
pPool to use
hosthostname of the server
portport of the server
minminimum number of client sockets to open
smaxsoft maximum number of client connections to open
maxhard maximum number of client connections
ttltime to live in microseconds of a client connection
nslocation 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:
pPool to use
max_serversmaximum number of servers
flagsNot currently used
mclocation of the new memcache client object

Gets a value from the server, allocating the value out of p

Parameters:
mcclient to use
pPool to use
keynull terminated string containing the key
batonlocation of the allocated value
lenlength of data at baton
flagsany flags set by the client for this key
Returns:

Gets multiple values from the server, allocating the values out of p

Parameters:
mcclient to use
temp_poolPool used for temporary allocations. May be cleared inside this call.
data_poolPool used to allocate data for the returned values.
valueshash of apr_memcache_value_t keyed by strings, contains the result of the multiget call.
Returns:

Sets a value by key on the server

Parameters:
mcclient to use
keynull terminated string containing the key
batondata to store on the server
data_sizelength of data at baton
timeouttime in seconds for the data to live on the server
flagsany flags set by the client for this key

Adds value by key on the server

Parameters:
mcclient to use
keynull terminated string containing the key
batondata to store on the server
data_sizelength of data at baton
timeouttime for the data to live on the server
flagsany 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:
mcclient to use
keynull terminated string containing the key
batondata to store on the server
data_sizelength of data at baton
timeouttime for the data to live on the server
flagsany 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:
mcclient to use
keynull terminated string containing the key
timeouttime for the delete to stop other clients from adding

Increments a value

Parameters:
mcclient to use
keynull terminated string containing the key
nnumber to increment by
nvnew value after incrementing

Decrements a value

Parameters:
mcclient to use
keynull terminated string containing the key
nnumber to decrement by
new_valuenew value after decrementing

Query a server's version

Parameters:
msserver to query
pPool to allocate answer from
batonlocation to store server version string
lenlength of the server version string

Query a server for statistics

Parameters:
msserver to query
pPool to allocate answer from
statslocation of the new statistics structure

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:
reslistThe 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:
reslistThe resource list.

Destroy a managed memory block.

Parameters:
rmmThe relocatable memory block to destroy

Attach to a relocatable memory block already managed by the apr_rmm API.

Parameters:
rmmThe relocatable memory block
lockAn apr_anylock_t of the appropriate type of lock
membufThe block of relocatable memory already under management
contThe pool to use for local storage and management

Detach from the managed block of memory.

Parameters:
rmmThe relocatable memory block to detach from

Free allocation returned by apr_rmm_malloc or apr_rmm_calloc.

Parameters:
rmmThe relocatable memory block
entityThe memory allocation to free

Close an sdbm file previously opened by apr_sdbm_open

Parameters:
dbThe database to close

Lock an sdbm database for concurency of multiple operations

Parameters:
dbThe database to lock
typeThe 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:
dbThe database to unlock

Fetch an sdbm record value by key

Parameters:
dbThe database
valueThe value datum retrieved for this record
keyThe key datum to find this record

Store an sdbm record value by key

Parameters:
dbThe database
keyThe key datum to store this record by
valueThe value datum to store in this record
optThe 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:
dbThe database
keyThe 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:
dbThe database
keyThe 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:
dbThe database
keyThe key datum of the next record

Returns true if the sdbm database opened for read-only access

Parameters:
dbThe database to test

Special case for CONNECT parsing: it comes with the hostinfo part only

Parameters:
pThe pool to allocate out of
hostinfoThe hostinfo string to parse
uptrThe 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:
convsetThe handle allocated by apr_xlate_open, specifying the parameters of conversion
onoffOutput: 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:
convsetThe handle allocated by apr_xlate_open, specifying the parameters of conversion
inbufThe address of the source buffer
inbytes_leftInput: the amount of input data to be translated Output: the amount of input data not yet translated
outbufThe address of the destination buffer
outbytes_leftInput: 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)

Close a codepage translation handle.

Parameters:
convsetThe 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:
parserThe XML parser for parsing this data.
dataThe data to parse.
lenThe 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:
parserThe XML parser for parsing this data.
pdocThe 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_arrayarray to insert into
uriThe uri to insert
Returns:
int The uri's index

Variable Documentation

const char * coded_src

Definition at line 97 of file apr_base64.h.

const unsigned char int len_plain_src

Definition at line 69 of file apr_base64.h.

const unsigned char * plain_src

Definition at line 69 of file apr_base64.h.