Apache Portable Runtime Utility Library
Macros | Typedefs | Functions
I18N translation library

Macros

#define APR_DEFAULT_CHARSET   (const char *)0
 
#define APR_LOCALE_CHARSET   (const char *)1
 

Typedefs

typedef struct apr_xlate_t apr_xlate_t
 

Functions

apr_status_t apr_xlate_open (apr_xlate_t **convset, const char *topage, const char *frompage, apr_pool_t *pool)
 
apr_status_t apr_xlate_sb_get (apr_xlate_t *convset, int *onoff)
 
apr_status_t apr_xlate_conv_buffer (apr_xlate_t *convset, const char *inbuf, apr_size_t *inbytes_left, char *outbuf, apr_size_t *outbytes_left)
 
apr_int32_t apr_xlate_conv_byte (apr_xlate_t *convset, unsigned char inchar)
 
apr_status_t apr_xlate_close (apr_xlate_t *convset)
 

Detailed Description

Macro Definition Documentation

#define APR_DEFAULT_CHARSET   (const char *)0

This is to indicate the charset of the sourcecode at compile time names to indicate the charset of the source code at compile time. This is useful if there are literal strings in the source code which must be translated according to the charset of the source code.

#define APR_LOCALE_CHARSET   (const char *)1

To indicate charset names of the current locale

Typedef Documentation

typedef struct apr_xlate_t apr_xlate_t

Opaque translation buffer

Function Documentation

apr_status_t apr_xlate_close ( apr_xlate_t convset)

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).
apr_status_t apr_xlate_conv_buffer ( apr_xlate_t convset,
const char *  inbuf,
apr_size_t *  inbytes_left,
char *  outbuf,
apr_size_t *  outbytes_left 
)

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)

apr_int32_t apr_xlate_conv_byte ( apr_xlate_t convset,
unsigned char  inchar 
)

Convert a single-byte character from one charset to another.

Parameters
convsetThe handle allocated by apr_xlate_open, specifying the parameters of conversion
incharThe 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.
apr_status_t apr_xlate_open ( apr_xlate_t **  convset,
const char *  topage,
const char *  frompage,
apr_pool_t *  pool 
)

Set up for converting text from one charset to another.

Parameters
convsetThe handle to be filled in by this function
topageThe name of the target charset
frompageThe name of the source charset
poolThe pool to use
Remarks
Specify APR_DEFAULT_CHARSET for one of the charset names to indicate the charset of the source code at compile time. This is useful if there are literal strings in the source code which must be translated according to the charset of the source code. APR_DEFAULT_CHARSET is not useful if the source code of the caller was not encoded in the same charset as APR at compile time.
Specify APR_LOCALE_CHARSET for one of the charset names to indicate the charset of the current locale.
Return APR_EINVAL if unable to procure a convset, or APR_ENOTIMPL if charset transcoding is not available in this instance of apr-util at all (i.e., APR_HAS_XLATE is undefined).
apr_status_t apr_xlate_sb_get ( apr_xlate_t convset,
int *  onoff 
)

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).