ITS
|
Go to the source code of this file.
Classes | |
struct | xer__cb_arg |
Macros | |
#define | CSLASH 0x2f /* '/' */ |
#define | LANGLE 0x3c /* '<' */ |
#define | RANGLE 0x3e /* '>' */ |
#define | ADVANCE(num_bytes) |
#define | RETURN(_code) |
#define | XER_GOT_BODY(chunk_buf, chunk_size, size) |
#define | XER_GOT_EMPTY() |
Functions | |
asn_dec_rval_t | xer_decode (asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **struct_ptr, const void *buffer, size_t size) |
static int | xer__token_cb (pxml_chunk_type_e type, const void *_chunk_data, size_t _chunk_size, void *key) |
ssize_t | xer_next_token (int *stateContext, const void *buffer, size_t size, pxer_chunk_type_e *ch_type) |
xer_check_tag_e | xer_check_tag (const void *buf_ptr, int size, const char *need_tag) |
asn_dec_rval_t | xer_decode_general (asn_codec_ctx_t *opt_codec_ctx, asn_struct_ctx_t *ctx, void *struct_key, const char *xml_tag, const void *buf_ptr, size_t size, int(*opt_unexpected_tag_decoder)(void *struct_key, const void *chunk_buf, size_t chunk_size), ssize_t(*body_receiver)(void *struct_key, const void *chunk_buf, size_t chunk_size, int have_more)) |
size_t | xer_whitespace_span (const void *chunk_buf, size_t chunk_size) |
int | xer_skip_unknown (xer_check_tag_e tcv, ber_tlv_len_t *depth) |
#define ADVANCE | ( | num_bytes | ) |
Definition at line 166 of file xer_decoder.c.
Referenced by xer_decode_general().
#define CSLASH 0x2f /* '/' */ |
Definition at line 100 of file xer_decoder.c.
Referenced by xer_check_tag().
#define LANGLE 0x3c /* '<' */ |
Definition at line 101 of file xer_decoder.c.
Referenced by xer_check_tag().
#define RANGLE 0x3e /* '>' */ |
Definition at line 102 of file xer_decoder.c.
Referenced by xer_check_tag().
#define RETURN | ( | _code | ) |
Definition at line 174 of file xer_decoder.c.
Referenced by xer_decode_general().
#define XER_GOT_BODY | ( | chunk_buf, | |
chunk_size, | |||
size | |||
) |
Definition at line 182 of file xer_decoder.c.
Referenced by xer_decode_general().
#define XER_GOT_EMPTY | ( | ) |
Definition at line 192 of file xer_decoder.c.
Referenced by xer_decode_general().
|
static |
Definition at line 50 of file xer_decoder.c.
References xer__cb_arg::callback_not_invoked, xer__cb_arg::chunk_buf, xer__cb_arg::chunk_size, and xer__cb_arg::chunk_type.
Referenced by xer_next_token().
xer_check_tag_e xer_check_tag | ( | const void * | buf_ptr, |
int | size, | ||
const char * | need_tag | ||
) |
Definition at line 105 of file xer_decoder.c.
References ASN_DEBUG(), CSLASH, LANGLE, RANGLE, XCT__UNK__MASK, XCT_BOTH, XCT_BROKEN, XCT_CLOSING, and XCT_OPENING.
Referenced by xer_decode_general().
asn_dec_rval_t xer_decode | ( | asn_codec_ctx_t * | opt_codec_ctx, |
asn_TYPE_descriptor_t * | td, | ||
void ** | struct_ptr, | ||
const void * | buffer, | ||
size_t | size | ||
) |
Definition at line 14 of file xer_decoder.c.
References _ASN_DEFAULT_STACK_MAX, asn_codec_ctx_s::max_stack_size, and asn_TYPE_descriptor_s::xer_decoder.
asn_dec_rval_t xer_decode_general | ( | asn_codec_ctx_t * | opt_codec_ctx, |
asn_struct_ctx_t * | ctx, | ||
void * | struct_key, | ||
const char * | xml_tag, | ||
const void * | buf_ptr, | ||
size_t | size, | ||
int(*)(void *struct_key, const void *chunk_buf, size_t chunk_size) | opt_unexpected_tag_decoder, | ||
ssize_t(*)(void *struct_key, const void *chunk_buf, size_t chunk_size, int have_more) | body_receiver | ||
) |
Definition at line 201 of file xer_decoder.c.
References ADVANCE, ASN_DEBUG(), asn_struct_ctx_s::context, asn_struct_ctx_s::phase, PXER_COMMENT, PXER_TAG, PXER_TEXT, RC_FAIL, RC_OK, RC_WMORE, RETURN, XCT_BOTH, XCT_CLOSING, XCT_OPENING, XCT_UNKNOWN_BO, xer_check_tag(), XER_GOT_BODY, XER_GOT_EMPTY, and xer_next_token().
Referenced by OCTET_STRING__decode_xer(), and xer_decode_primitive().
ssize_t xer_next_token | ( | int * | stateContext, |
const void * | buffer, | ||
size_t | size, | ||
pxer_chunk_type_e * | ch_type | ||
) |
Definition at line 63 of file xer_decoder.c.
References xer__cb_arg::callback_not_invoked, xer__cb_arg::chunk_buf, xer__cb_arg::chunk_size, xer__cb_arg::chunk_type, PXER_COMMENT, PXER_TAG, PXER_TEXT, PXML_COMMENT, PXML_COMMENT_END, pxml_parse(), PXML_TAG, PXML_TAG_END, PXML_TEXT, and xer__token_cb().
Referenced by CHOICE_decode_xer(), SEQUENCE_decode_xer(), SET_OF_decode_xer(), and xer_decode_general().
int xer_skip_unknown | ( | xer_check_tag_e | tcv, |
ber_tlv_len_t * | depth | ||
) |
Definition at line 346 of file xer_decoder.c.
References XCT_BOTH, XCT_CLOSING, XCT_OPENING, XCT_UNKNOWN_BO, XCT_UNKNOWN_CL, and XCT_UNKNOWN_OP.
Referenced by CHOICE_decode_xer(), and SEQUENCE_decode_xer().
size_t xer_whitespace_span | ( | const void * | chunk_buf, |
size_t | chunk_size | ||
) |
Definition at line 320 of file xer_decoder.c.
References xer__cb_arg::chunk_buf, and xer__cb_arg::chunk_size.
Referenced by xer_decode__primitive_body().