XenevaOS
Loading...
Searching...
No Matches
Functions | Variables
codec.c File Reference
#include <string.h>
#include "charset/aliases.h"
#include "charset/codecs/codec_impl.h"
Include dependency graph for codec.c:

Functions

parserutils_error parserutils_charset_codec_create (const char *charset, parserutils_charset_codec **codec)
 
parserutils_error parserutils_charset_codec_destroy (parserutils_charset_codec *codec)
 
parserutils_error parserutils_charset_codec_setopt (parserutils_charset_codec *codec, parserutils_charset_codec_opttype type, parserutils_charset_codec_optparams *params)
 
parserutils_error parserutils_charset_codec_encode (parserutils_charset_codec *codec, const uint8_t **source, size_t *sourcelen, uint8_t **dest, size_t *destlen)
 
parserutils_error parserutils_charset_codec_decode (parserutils_charset_codec *codec, const uint8_t **source, size_t *sourcelen, uint8_t **dest, size_t *destlen)
 
parserutils_error parserutils_charset_codec_reset (parserutils_charset_codec *codec)
 

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
 

Function Documentation

◆ parserutils_charset_codec_create()

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

Create a charset codec

Parameters
charsetTarget charset
codecPointer 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

◆ parserutils_charset_codec_decode()

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
codecThe codec to use
sourcePointer to pointer to source data
sourcelenPointer to length (in bytes) of source data
destPointer to pointer to output buffer
destlenPointer 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.

◆ parserutils_charset_codec_destroy()

parserutils_error parserutils_charset_codec_destroy ( parserutils_charset_codec *  codec)

Destroy a charset codec

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

◆ parserutils_charset_codec_encode()

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
codecThe codec to use
sourcePointer to pointer to source data
sourcelenPointer to length (in bytes) of source data
destPointer to pointer to output buffer
destlenPointer 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

◆ parserutils_charset_codec_reset()

parserutils_error parserutils_charset_codec_reset ( parserutils_charset_codec *  codec)

Clear a charset codec's encoding state

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

◆ parserutils_charset_codec_setopt()

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
codecThe codec to configure
typeThe codec option type to configure
paramsOption-specific parameters
Returns
PARSERUTILS_OK on success, appropriate error otherwise

Variable Documentation

◆ charset_8859_codec_handler

parserutils_charset_handler charset_8859_codec_handler
extern

◆ charset_ascii_codec_handler

parserutils_charset_handler charset_ascii_codec_handler
extern

◆ charset_ext8_codec_handler

parserutils_charset_handler charset_ext8_codec_handler
extern

◆ charset_utf16_codec_handler

parserutils_charset_handler charset_utf16_codec_handler
extern

◆ charset_utf8_codec_handler

parserutils_charset_handler charset_utf8_codec_handler
extern