7#ifndef LEXBOR_ENCODING_ENCODING_H
8#define LEXBOR_ENCODING_ENCODING_H
43 if (encoding_data ==
NULL) {
49 encode->buffer_out = buffer_out;
50 encode->buffer_length = buffer_length;
51 encode->encoding_data = encoding_data;
76 encode->buffer_out = buffer_out;
77 encode->buffer_length = buffer_length;
85 encode->buffer_used = buffer_used;
91 return encode->buffer_used;
102 encode->replace_to = replace;
103 encode->replace_len = length;
112 if ((
encode->buffer_used + length) >
encode->buffer_length) {
118 encode->buffer_used += length;
147 if (encoding_data ==
NULL) {
236 if (encoding_data ==
NULL) {
242 encode->encoding_data = encoding_data;
265 if (encoding_data ==
NULL) {
361 return data->encoding;
370 lxb_char_t *buffer_out,
size_t buffer_length);
380 lxb_char_t *buffer_out,
size_t buffer_length);
391 const lxb_char_t *replace,
size_t buffer_length);
@ LXB_STATUS_SMALL_BUFFER
@ LXB_STATUS_ERROR_WRONG_ARGS
int8_t lxb_encoding_encode_iso_2022_jp_eof_single(lxb_encoding_encode_t *ctx, lxb_char_t **data, const lxb_char_t *end)
lxb_status_t lxb_encoding_encode_iso_2022_jp_eof(lxb_encoding_encode_t *ctx)
lxb_status_t(* lxb_encoding_encode_f)(lxb_encoding_encode_t *ctx, const lxb_codepoint_t **cp, const lxb_codepoint_t *end)
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_DECODE_2022_JP_ASCII
@ LXB_ENCODING_LAST_ENTRY
@ LXB_ENCODING_ISO_2022_JP
lxb_inline lxb_status_t lxb_encoding_data_call_decode(lxb_encoding_data_t *encoding_data, lxb_encoding_decode_t *ctx, const lxb_char_t **data, const lxb_char_t *end)
LXB_API size_t lxb_encoding_decode_t_sizeof(void)
LXB_API const lxb_encoding_data_t * lxb_encoding_data_by_pre_name(const lxb_char_t *name, size_t length)
LXB_API lxb_encoding_encode_f lxb_encoding_encode_function_noi(lxb_encoding_t encoding)
lxb_inline lxb_status_t lxb_encoding_decode_buf_add_to(lxb_encoding_decode_t *decode, const lxb_codepoint_t *data, size_t length)
lxb_inline lxb_status_t lxb_encoding_encode_finish(lxb_encoding_encode_t *encode)
LXB_API void lxb_encoding_encode_buf_set_noi(lxb_encoding_encode_t *encode, lxb_char_t *buffer_out, size_t buffer_length)
LXB_API lxb_status_t lxb_encoding_decode_finish_single_noi(lxb_encoding_decode_t *decode)
LXB_API int8_t lxb_encoding_encode_finish_single_noi(lxb_encoding_encode_t *encode, lxb_char_t **data, const lxb_char_t *end)
lxb_inline lxb_status_t lxb_encoding_encode_init(lxb_encoding_encode_t *encode, const lxb_encoding_data_t *encoding_data, lxb_char_t *buffer_out, size_t buffer_length)
LXB_API lxb_status_t lxb_encoding_decode_init_noi(lxb_encoding_decode_t *decode, const lxb_encoding_data_t *encoding_data, lxb_codepoint_t *buffer_out, size_t buffer_length)
LXB_API lxb_status_t lxb_encoding_encode_init_single_noi(lxb_encoding_encode_t *encode, const lxb_encoding_data_t *encoding_data)
LXB_API lxb_status_t lxb_encoding_encode_buf_add_to_noi(lxb_encoding_encode_t *encode, lxb_char_t *data, size_t length)
LXB_API void lxb_encoding_decode_buf_used_set_noi(lxb_encoding_decode_t *decode, size_t buffer_used)
lxb_inline const lxb_encoding_data_t * lxb_encoding_data_by_name(const lxb_char_t *name, size_t length)
lxb_inline const lxb_encoding_data_t * lxb_encoding_data(lxb_encoding_t encoding)
lxb_inline lxb_status_t lxb_encoding_data_call_encode(lxb_encoding_data_t *encoding_data, lxb_encoding_encode_t *ctx, const lxb_codepoint_t **cp, const lxb_codepoint_t *end)
LXB_API lxb_encoding_decode_f lxb_encoding_decode_function_noi(lxb_encoding_t encoding)
LXB_API lxb_status_t lxb_encoding_decode_init_single_noi(lxb_encoding_decode_t *decode, const lxb_encoding_data_t *encoding_data)
LXB_API lxb_codepoint_t * lxb_encoding_decode_buf_noi(lxb_encoding_decode_t *decode)
LXB_API lxb_status_t lxb_encoding_encode_init_noi(lxb_encoding_encode_t *encode, const lxb_encoding_data_t *encoding_data, lxb_char_t *buffer_out, size_t buffer_length)
lxb_inline lxb_encoding_decode_f lxb_encoding_decode_function(lxb_encoding_t encoding)
lxb_inline lxb_status_t lxb_encoding_decode_replace_set(lxb_encoding_decode_t *decode, const lxb_codepoint_t *replace, size_t length)
lxb_inline lxb_status_t lxb_encoding_decode_init(lxb_encoding_decode_t *decode, const lxb_encoding_data_t *encoding_data, lxb_codepoint_t *buffer_out, size_t buffer_length)
lxb_inline void lxb_encoding_decode_buf_set(lxb_encoding_decode_t *decode, lxb_codepoint_t *buffer_out, size_t buffer_length)
lxb_inline void lxb_encoding_decode_buf_used_set(lxb_encoding_decode_t *decode, size_t buffer_used)
LXB_API size_t lxb_encoding_encode_buf_used_noi(lxb_encoding_encode_t *encode)
LXB_API void lxb_encoding_decode_buf_set_noi(lxb_encoding_decode_t *decode, lxb_codepoint_t *buffer_out, size_t buffer_length)
lxb_inline size_t lxb_encoding_decode_buf_used(lxb_encoding_decode_t *decode)
LXB_API const lxb_encoding_data_t * lxb_encoding_data_by_name_noi(const lxb_char_t *name, size_t length)
LXB_API lxb_status_t lxb_encoding_decode_replace_set_noi(lxb_encoding_decode_t *decode, const lxb_codepoint_t *replace, size_t length)
LXB_API size_t lxb_encoding_decode_buf_used_noi(lxb_encoding_decode_t *decode)
lxb_inline void lxb_encoding_encode_buf_set(lxb_encoding_encode_t *encode, lxb_char_t *buffer_out, size_t buffer_length)
lxb_inline lxb_status_t lxb_encoding_encode_init_single(lxb_encoding_encode_t *encode, const lxb_encoding_data_t *encoding_data)
lxb_inline lxb_encoding_t lxb_encoding_data_encoding(lxb_encoding_data_t *data)
LXB_API lxb_encoding_t lxb_encoding_data_encoding_noi(lxb_encoding_data_t *data)
LXB_API lxb_char_t * lxb_encoding_encode_buf_noi(lxb_encoding_encode_t *encode)
lxb_inline lxb_char_t * lxb_encoding_encode_buf(lxb_encoding_encode_t *encode)
lxb_inline int8_t lxb_encoding_encode_finish_single(lxb_encoding_encode_t *encode, lxb_char_t **data, const lxb_char_t *end)
lxb_inline lxb_codepoint_t * lxb_encoding_decode_buf(lxb_encoding_decode_t *decode)
lxb_inline lxb_encoding_encode_f lxb_encoding_encode_function(lxb_encoding_t encoding)
LXB_API lxb_status_t lxb_encoding_data_call_encode_noi(lxb_encoding_data_t *encoding_data, lxb_encoding_encode_t *ctx, const lxb_codepoint_t **cp, const lxb_codepoint_t *end)
LXB_API size_t lxb_encoding_encode_t_sizeof(void)
lxb_inline lxb_status_t lxb_encoding_encode_replace_set(lxb_encoding_encode_t *encode, const lxb_char_t *replace, size_t length)
LXB_API lxb_status_t lxb_encoding_data_call_decode_noi(lxb_encoding_data_t *encoding_data, lxb_encoding_decode_t *ctx, const lxb_char_t **data, const lxb_char_t *end)
lxb_inline lxb_status_t lxb_encoding_decode_finish(lxb_encoding_decode_t *decode)
LXB_API lxb_status_t lxb_encoding_encode_finish_noi(lxb_encoding_encode_t *encode)
LXB_API lxb_status_t lxb_encoding_decode_finish_noi(lxb_encoding_decode_t *decode)
LXB_API lxb_status_t lxb_encoding_encode_replace_set_noi(lxb_encoding_encode_t *encode, const lxb_char_t *replace, size_t buffer_length)
lxb_inline lxb_status_t lxb_encoding_encode_buf_add_to(lxb_encoding_encode_t *encode, lxb_char_t *data, size_t length)
lxb_inline lxb_status_t lxb_encoding_decode_init_single(lxb_encoding_decode_t *decode, const lxb_encoding_data_t *encoding_data)
lxb_inline lxb_status_t lxb_encoding_decode_finish_single(lxb_encoding_decode_t *decode)
LXB_API lxb_status_t lxb_encoding_decode_buf_add_to_noi(lxb_encoding_decode_t *decode, const lxb_codepoint_t *data, size_t length)
lxb_inline size_t lxb_encoding_encode_buf_used(lxb_encoding_encode_t *encode)
lxb_inline void lxb_encoding_encode_buf_used_set(lxb_encoding_encode_t *encode, size_t buffer_used)
LXB_API const lxb_encoding_data_t * lxb_encoding_data_noi(lxb_encoding_t encoding)
LXB_API void lxb_encoding_encode_buf_used_set_noi(lxb_encoding_encode_t *encode, size_t buffer_used)
memset(ptr, 0, type->size)
unsigned const char * end
xmlCharEncodingHandlerPtr encoding
LXB_API const lxb_encoding_data_t lxb_encoding_res_map[LXB_ENCODING_LAST_ENTRY]
LXB_API const lexbor_shs_entry_t lxb_encoding_res_shs_entities[220]
const lexbor_shs_entry_t * lexbor_shs_entry_get_lower_static(const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
lxb_encoding_encode_f encode
lxb_encoding_decode_f decode
const lxb_codepoint_t * replace_to
const lxb_encoding_data_t * encoding_data
union lxb_encoding_decode_t::@302274252113053227061303304053361346350151303155 u
lxb_codepoint_t * buffer_out
lxb_encoding_ctx_2022_jp_t iso_2022_jp
unsigned int lxb_status_t