Go to the documentation of this file.
46 if (charset == NULL || codec == NULL)
57 if ((*handler)->handles_charset(canon->
name))
62 if ((*handler) == NULL)
66 error = (*handler)->create(canon->
name, &c);
112 if (codec == NULL || params == NULL)
138 const uint8_t **source,
size_t *sourcelen,
139 uint8_t **dest,
size_t *destlen)
141 if (codec == NULL || source == NULL || *source == NULL ||
142 sourcelen == NULL || dest == NULL || *dest == NULL ||
146 return codec->
handler.
encode(codec, source, sourcelen, dest, destlen);
165 const uint8_t **source,
size_t *sourcelen,
166 uint8_t **dest,
size_t *destlen)
168 if (codec == NULL || source == NULL || *source == NULL ||
169 sourcelen == NULL || dest == NULL || *dest == NULL ||
173 return codec->
handler.
decode(codec, source, sourcelen, dest, destlen);
parserutils_charset_handler charset_ext8_codec_handler
static parserutils_charset_handler * handler_table[]
parserutils_error parserutils_charset_codec_destroy(parserutils_charset_codec *codec)
Destroy a charset codec.
parserutils_error parserutils_charset_codec_create(const char *charset, parserutils_charset_codec **codec)
Create a charset codec.
struct parserutils_charset_codec_optparams::@0 error_mode
Parameters for error mode setting.
parserutils_error(* encode)(parserutils_charset_codec *codec, const uint8_t **source, size_t *sourcelen, uint8_t **dest, size_t *destlen)
@ PARSERUTILS_CHARSET_CODEC_ERROR_MODE
Set codec error mode.
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.
struct parserutils_charset_codec::@3 handler
Vtable for handler code.
parserutils_charset_handler charset_ascii_codec_handler
parserutils_error(* destroy)(parserutils_charset_codec *codec)
@ PARSERUTILS_BADENCODING
uint16_t mibenum
MIB enum for charset.
Core charset codec definition; implementations extend this.
parserutils_charset_handler charset_utf8_codec_handler
parserutils_error(* reset)(parserutils_charset_codec *codec)
parserutils_charset_codec_errormode errormode
error mode
parserutils_error parserutils_charset_codec_setopt(parserutils_charset_codec *codec, parserutils_charset_codec_opttype type, parserutils_charset_codec_optparams *params)
Configure a charset codec.
Charset codec option parameters.
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_charset_codec_errormode mode
The desired error handling mode.
parserutils_charset_codec_opttype
Charset codec option types.
parserutils_error parserutils_charset_codec_reset(parserutils_charset_codec *codec)
Clear a charset codec's encoding state.
Codec factory component definition.
@ PARSERUTILS_CHARSET_CODEC_ERROR_LOOSE
Replace unrepresentable characters with single alternate.
parserutils_charset_handler charset_utf16_codec_handler
parserutils_charset_handler charset_8859_codec_handler
parserutils_error(* decode)(parserutils_charset_codec *codec, const uint8_t **source, size_t *sourcelen, uint8_t **dest, size_t *destlen)
parserutils_charset_aliases_canon * parserutils__charset_alias_canonicalise(const char *alias, size_t len)
Retrieve the canonical form of an alias name.