codec.c File Reference

#include <string.h>
#include "charset/aliases.h"
#include "charset/codecs/codec_impl.h"

Go to the source code of this file.

Functions

parserutils_error parserutils_charset_codec_create (const char *charset, parserutils_charset_codec **codec)
 Create a charset codec.
parserutils_error parserutils_charset_codec_destroy (parserutils_charset_codec *codec)
 Destroy a charset codec.
parserutils_error parserutils_charset_codec_setopt (parserutils_charset_codec *codec, parserutils_charset_codec_opttype type, parserutils_charset_codec_optparams *params)
 Configure a charset codec.
parserutils_error parserutils_charset_codec_encode (parserutils_charset_codec *codec, const uint8_t **source, size_t *sourcelen, uint8_t **dest, size_t *destlen)
 Encode a chunk of UCS-4 data into a codec's charset.
parserutils_error parserutils_charset_codec_decode (parserutils_charset_codec *codec, const uint8_t **source, size_t *sourcelen, uint8_t **dest, size_t *destlen)
 Decode a chunk of data in a codec's charset into UCS-4.
parserutils_error parserutils_charset_codec_reset (parserutils_charset_codec *codec)
 Clear a charset codec's encoding state.

Variables

parserutils_charset_handler charset_ascii_codec_handler
parserutils_charset_handler charset_8859_codec_handler
parserutils_charset_handler charset_ext8_codec_handler
parserutils_charset_handler charset_utf8_codec_handler
parserutils_charset_handler charset_utf16_codec_handler
static
parserutils_charset_handler
handler_table []


Function Documentation

parserutils_error parserutils_charset_codec_create ( const char *  charset,
parserutils_charset_codec **  codec 
)

Create a charset codec.

Parameters:
charset Target charset
codec Pointer to location to receive codec instance
Returns:
PARSERUTILS_OK on success, PARSERUTILS_BADPARM on bad parameters, PARSERUTILS_NOMEM on memory exhaustion, PARSERUTILS_BADENCODING on unsupported charset

Definition at line 38 of file codec.c.

References parserutils_charset_codec::errormode, parserutils_charset_aliases_canon::mib_enum, parserutils_charset_codec::mibenum, parserutils_charset_aliases_canon::name, parserutils__charset_alias_canonicalise(), PARSERUTILS_BADENCODING, PARSERUTILS_BADPARM, PARSERUTILS_CHARSET_CODEC_ERROR_LOOSE, and PARSERUTILS_OK.

Referenced by filter_set_encoding(), and parserutils__filter_create().

parserutils_error parserutils_charset_codec_decode ( parserutils_charset_codec codec,
const uint8_t **  source,
size_t *  sourcelen,
uint8_t **  dest,
size_t *  destlen 
)

Decode a chunk of data in a codec's charset into UCS-4.

Parameters:
codec The codec to use
source Pointer to pointer to source data
sourcelen Pointer to length (in bytes) of source data
dest Pointer to pointer to output buffer
destlen Pointer to length (in bytes) of output buffer
Returns:
PARSERUTILS_OK on success, appropriate error otherwise.
source, sourcelen, dest and destlen will be updated appropriately on exit

Call this with a source length of 0 to flush any buffers.

Definition at line 163 of file codec.c.

References parserutils_charset_codec::decode, parserutils_charset_codec::handler, and PARSERUTILS_BADPARM.

Referenced by parserutils__filter_process_chunk().

parserutils_error parserutils_charset_codec_destroy ( parserutils_charset_codec codec  ) 

Destroy a charset codec.

Parameters:
codec The codec to destroy
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

Definition at line 86 of file codec.c.

References parserutils_charset_codec::destroy, parserutils_charset_codec::handler, PARSERUTILS_BADPARM, and PARSERUTILS_OK.

Referenced by filter_set_encoding(), parserutils__filter_create(), and parserutils__filter_destroy().

parserutils_error parserutils_charset_codec_encode ( parserutils_charset_codec codec,
const uint8_t **  source,
size_t *  sourcelen,
uint8_t **  dest,
size_t *  destlen 
)

Encode a chunk of UCS-4 data into a codec's charset.

Parameters:
codec The codec to use
source Pointer to pointer to source data
sourcelen Pointer to length (in bytes) of source data
dest Pointer to pointer to output buffer
destlen Pointer to length (in bytes) of output buffer
Returns:
PARSERUTILS_OK on success, appropriate error otherwise.
source, sourcelen, dest and destlen will be updated appropriately on exit

Definition at line 136 of file codec.c.

References parserutils_charset_codec::encode, parserutils_charset_codec::handler, and PARSERUTILS_BADPARM.

Referenced by parserutils__filter_process_chunk().

parserutils_error parserutils_charset_codec_reset ( parserutils_charset_codec codec  ) 

Clear a charset codec's encoding state.

Parameters:
codec The codec to reset
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

Definition at line 182 of file codec.c.

References parserutils_charset_codec::handler, PARSERUTILS_BADPARM, and parserutils_charset_codec::reset.

Referenced by parserutils__filter_reset().

parserutils_error parserutils_charset_codec_setopt ( parserutils_charset_codec codec,
parserutils_charset_codec_opttype  type,
parserutils_charset_codec_optparams params 
)

Configure a charset codec.

Parameters:
codec The codec to configure
type The codec option type to configure
params Option-specific parameters
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

Definition at line 107 of file codec.c.

References parserutils_charset_codec_optparams::error_mode, parserutils_charset_codec::errormode, parserutils_charset_codec_optparams::mode, PARSERUTILS_BADPARM, PARSERUTILS_CHARSET_CODEC_ERROR_MODE, and PARSERUTILS_OK.


Variable Documentation

Definition at line 587 of file codec_8859.c.

Definition at line 527 of file codec_ascii.c.

Definition at line 579 of file codec_ext8.c.

Definition at line 542 of file codec_utf16.c.

Definition at line 542 of file codec_utf8.c.


Generated on Wed Jul 29 11:59:21 2015 for Libparserutils by  doxygen 1.5.6