Loading...
Searching...
No Matches
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

## APR_DEFAULT_CHARSET

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

## APR_LOCALE_CHARSET

#define APR_LOCALE_CHARSET (const char *)1

To indicate charset names of the current locale

## Typedef Documentation

## apr_xlate_t

typedef struct apr_xlate_t apr_xlate_t

Opaque translation buffer

## Function Documentation

## apr_xlate_close()

apr_status_t apr_xlate_close | ( | apr_xlate_t * | convset | ) |

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

## apr_xlate_conv_buffer()

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

  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)

## apr_xlate_conv_byte()

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

  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.

## apr_xlate_open()

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

  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

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_xlate_sb_get()

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

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