ITS
xer_decoder.h File Reference
#include <asn_application.h>
Include dependency graph for xer_decoder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef asn_dec_rval_t() xer_type_decoder_f(asn_codec_ctx_t *opt_codec_ctx, struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, const char *opt_mname, const void *buf_ptr, size_t size)
 
typedef enum pxer_chunk_type pxer_chunk_type_e
 
typedef enum xer_check_tag xer_check_tag_e
 

Enumerations

enum  pxer_chunk_type { PXER_TAG, PXER_TEXT, PXER_COMMENT }
 
enum  xer_check_tag {
  XCT_BROKEN = 0, XCT_OPENING = 1, XCT_CLOSING = 2, XCT_BOTH = 3,
  XCT__UNK__MASK = 4, XCT_UNKNOWN_OP = 5, XCT_UNKNOWN_CL = 6, XCT_UNKNOWN_BO = 7
}
 

Functions

asn_dec_rval_t xer_decode (struct asn_codec_ctx_s *opt_codec_ctx, struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, const void *buffer, size_t size)
 
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))
 
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)
 
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)
 

Typedef Documentation

◆ pxer_chunk_type_e

◆ xer_check_tag_e

◆ xer_type_decoder_f

typedef asn_dec_rval_t() xer_type_decoder_f(asn_codec_ctx_t *opt_codec_ctx, struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, const char *opt_mname, const void *buf_ptr, size_t size)

Definition at line 29 of file xer_decoder.h.

Enumeration Type Documentation

◆ pxer_chunk_type

Enumerator
PXER_TAG 
PXER_TEXT 
PXER_COMMENT 

Definition at line 65 of file xer_decoder.h.

◆ xer_check_tag

Enumerator
XCT_BROKEN 
XCT_OPENING 
XCT_CLOSING 
XCT_BOTH 
XCT__UNK__MASK 
XCT_UNKNOWN_OP 
XCT_UNKNOWN_CL 
XCT_UNKNOWN_BO 

Definition at line 76 of file xer_decoder.h.

Function Documentation

◆ xer_check_tag()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xer_decode()

asn_dec_rval_t xer_decode ( struct asn_codec_ctx_s opt_codec_ctx,
struct asn_TYPE_descriptor_s type_descriptor,
void **  struct_ptr,
const void *  buffer,
size_t  size 
)

◆ xer_decode_general()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xer_next_token()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xer_skip_unknown()

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().

Here is the caller graph for this function:

◆ xer_whitespace_span()

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().

Here is the caller graph for this function: