8#ifndef parserutils_charset_codec_h_
9#define parserutils_charset_codec_h_
23#define PARSERUTILS_CHARSET_CODEC_NULL (0xffffffffU)
107 const uint8_t **source,
size_t *sourcelen,
108 uint8_t **dest,
size_t *destlen);
113 const uint8_t **source,
size_t *sourcelen,
114 uint8_t **dest,
size_t *destlen);
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_charset_codec_opttype
Charset codec option types.
@ PARSERUTILS_CHARSET_CODEC_ERROR_MODE
Set codec error mode.
parserutils_error parserutils_charset_codec_destroy(parserutils_charset_codec *codec)
Destroy a charset codec.
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.
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_create(const char *charset, parserutils_charset_codec **codec)
Create a charset codec.
parserutils_charset_codec_errormode
Charset codec error mode.
@ PARSERUTILS_CHARSET_CODEC_ERROR_STRICT
Abort processing if unrepresentable character encountered.
@ PARSERUTILS_CHARSET_CODEC_ERROR_LOOSE
Replace unrepresentable characters with single alternate.
@ PARSERUTILS_CHARSET_CODEC_ERROR_TRANSLIT
Transliterate unrepresentable characters, if possible.
Core charset codec definition; implementations extend this.
Charset codec option parameters.
struct parserutils_charset_codec_optparams::@067345123165375117204121135306061273315042212215 error_mode
Parameters for error mode setting.
parserutils_charset_codec_errormode mode
The desired error handling mode.