7#ifndef LEXBOR_ENCODING_BASE_H
8#define LEXBOR_ENCODING_BASE_H
18#define LXB_ENCODING_VERSION_MAJOR 2
19#define LXB_ENCODING_VERSION_MINOR 0
20#define LXB_ENCODING_VERSION_PATCH 1
22#define LXB_ENCODING_VERSION_STRING \
23 LEXBOR_STRINGIZE(LXB_ENCODING_VERSION_MAJOR) "." \
24 LEXBOR_STRINGIZE(LXB_ENCODING_VERSION_MINOR) "." \
25 LEXBOR_STRINGIZE(LXB_ENCODING_VERSION_PATCH)
28#define LXB_ENCODING_REPLACEMENT_BYTES ((lxb_char_t *) "\xEF\xBF\xBD")
30#define LXB_ENCODING_REPLACEMENT_BUFFER_LEN 1
31#define LXB_ENCODING_REPLACEMENT_BUFFER \
32 (&(const lxb_codepoint_t) {LXB_ENCODING_REPLACEMENT_CODEPOINT})
#define LXB_ENCODING_DECODE_ERROR(ctx)
#define LXB_ENCODING_ENCODE_ERROR(ctx)
@ LXB_ENCODING_DECODE_MAX_CODEPOINT
@ LXB_ENCODING_DECODE_CONTINUE
lxb_status_t(* lxb_encoding_encode_f)(lxb_encoding_encode_t *ctx, const lxb_codepoint_t **cp, const lxb_codepoint_t *end)
lxb_codepoint_t(* lxb_encoding_decode_single_f)(lxb_encoding_decode_t *ctx, const lxb_char_t **data, const lxb_char_t *end)
@ LXB_ENCODING_REPLACEMENT_SIZE
@ LXB_ENCODING_MAX_CODEPOINT
@ LXB_ENCODING_REPLACEMENT_CODEPOINT
@ LXB_ENCODING_ERROR_CODEPOINT
struct lxb_encoding_data lxb_encoding_data_t
lxb_status_t(* lxb_encoding_decode_f)(lxb_encoding_decode_t *ctx, const lxb_char_t **data, const lxb_char_t *end)
lxb_encoding_single_index_t lxb_encoding_multi_index_t
@ LXB_ENCODING_ENCODE_SMALL_BUFFER
@ LXB_ENCODING_DECODE_2022_JP_TRAIL
@ LXB_ENCODING_DECODE_2022_JP_ASCII
@ LXB_ENCODING_DECODE_2022_JP_ESCAPE
@ LXB_ENCODING_DECODE_2022_JP_UNSET
@ LXB_ENCODING_DECODE_2022_JP_ROMAN
@ LXB_ENCODING_DECODE_2022_JP_LEAD
@ LXB_ENCODING_DECODE_2022_JP_KATAKANA
@ LXB_ENCODING_DECODE_2022_JP_ESCAPE_START
int8_t(* lxb_encoding_encode_single_f)(lxb_encoding_encode_t *ctx, lxb_char_t **data, const lxb_char_t *end, lxb_codepoint_t cp)
@ LXB_ENCODING_ENCODE_2022_JP_ROMAN
@ LXB_ENCODING_ENCODE_2022_JP_JIS0208
@ LXB_ENCODING_ENCODE_2022_JP_ASCII
unsigned const char * end
lxb_encoding_decode_single_f decode_single
lxb_encoding_encode_f encode
lxb_encoding_encode_single_f encode_single
lxb_encoding_decode_f decode
const lxb_codepoint_t * replace_to
lxb_codepoint_t codepoint
const lxb_encoding_data_t * encoding_data
lxb_encoding_ctx_utf_8_t utf_8
lxb_encoding_ctx_euc_jp_t euc_jp
lxb_codepoint_t * buffer_out
lxb_encoding_ctx_2022_jp_t iso_2022_jp
lxb_codepoint_t second_codepoint
lxb_encoding_ctx_gb18030_t gb18030
const lxb_encoding_data_t * encoding_data
const lxb_char_t * replace_to
lxb_codepoint_t codepoint
lxb_codepoint_t codepoint
unsigned int lxb_status_t