00001 /* 00002 * This file is part of LibParserUtils. 00003 * Licensed under the MIT License, 00004 * http://www.opensource.org/licenses/mit-license.php 00005 * Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org> 00006 */ 00007 00008 #ifndef parserutils_charset_codecs_codecimpl_h_ 00009 #define parserutils_charset_codecs_codecimpl_h_ 00010 00011 #include <stdbool.h> 00012 #include <inttypes.h> 00013 00014 #include <parserutils/charset/codec.h> 00015 00019 struct parserutils_charset_codec { 00020 uint16_t mibenum; 00022 parserutils_charset_codec_errormode errormode; 00024 struct { 00025 parserutils_error (*destroy)(parserutils_charset_codec *codec); 00026 parserutils_error (*encode)(parserutils_charset_codec *codec, 00027 const uint8_t **source, size_t *sourcelen, 00028 uint8_t **dest, size_t *destlen); 00029 parserutils_error (*decode)(parserutils_charset_codec *codec, 00030 const uint8_t **source, size_t *sourcelen, 00031 uint8_t **dest, size_t *destlen); 00032 parserutils_error (*reset)(parserutils_charset_codec *codec); 00033 } handler; 00034 }; 00035 00039 typedef struct parserutils_charset_handler { 00040 bool (*handles_charset)(const char *charset); 00041 parserutils_error (*create)(const char *charset, 00042 parserutils_charset_codec **codec); 00043 } parserutils_charset_handler; 00044 00045 #endif
1.5.6