ITS
constr_SEQUENCE.c File Reference
#include <asn_internal.h>
#include <constr_SEQUENCE.h>
#include <per_opentype.h>
Include dependency graph for constr_SEQUENCE.c:

Go to the source code of this file.

Macros

#define LEFT   ((size<(size_t)ctx->left)?size:(size_t)ctx->left)
 
#define SIZE_VIOLATION   (ctx->left >= 0 && (size_t)ctx->left <= size)
 
#define ADVANCE(num_bytes)
 
#define NEXT_PHASE(ctx)
 
#define PHASE_OUT(ctx)   do { ctx->phase = 10; } while(0)
 
#define RETURN(_code)
 
#define IN_EXTENSION_GROUP(specs, memb_idx)
 
#define XER_ADVANCE(num_bytes)
 

Functions

static int _t2e_cmp (const void *ap, const void *bp)
 
asn_dec_rval_t SEQUENCE_decode_ber (asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **struct_ptr, const void *ptr, size_t size, int tag_mode)
 
asn_enc_rval_t SEQUENCE_encode_der (asn_TYPE_descriptor_t *td, void *sptr, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
 
asn_dec_rval_t SEQUENCE_decode_xer (asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **struct_ptr, const char *opt_mname, const void *buf_ptr, size_t size)
 
asn_enc_rval_t SEQUENCE_encode_xer (asn_TYPE_descriptor_t *td, void *sptr, int ilevel, enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key)
 
int SEQUENCE_print (asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
 
void SEQUENCE_free (asn_TYPE_descriptor_t *td, void *sptr, int contents_only)
 
int SEQUENCE_constraint (asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
 
asn_dec_rval_t SEQUENCE_decode_uper (asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd)
 
static int SEQUENCE_handle_extensions (asn_TYPE_descriptor_t *td, void *sptr, asn_per_outp_t *po1, asn_per_outp_t *po2)
 
asn_enc_rval_t SEQUENCE_encode_uper (asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po)
 

Macro Definition Documentation

◆ ADVANCE

#define ADVANCE (   num_bytes)
Value:
do { \
size_t num = num_bytes; \
ptr = ((const char *)ptr) + num; \
size -= num; \
if(ctx->left >= 0) \
ctx->left -= num; \
consumed_myself += num; \
} while(0)

Definition at line 35 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_ber().

◆ IN_EXTENSION_GROUP

#define IN_EXTENSION_GROUP (   specs,
  memb_idx 
)
Value:
( ((memb_idx) > (specs)->ext_after) \
&&((memb_idx) < (specs)->ext_before))

Definition at line 68 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_ber(), SEQUENCE_decode_uper(), SEQUENCE_decode_xer(), SEQUENCE_encode_uper(), and SEQUENCE_handle_extensions().

◆ LEFT

#define LEFT   ((size<(size_t)ctx->left)?size:(size_t)ctx->left)

Definition at line 15 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_ber().

◆ NEXT_PHASE

#define NEXT_PHASE (   ctx)
Value:
do { \
ctx->phase++; \
ctx->step = 0; \
} while(0)

Definition at line 49 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_ber().

◆ PHASE_OUT

#define PHASE_OUT (   ctx)    do { ctx->phase = 10; } while(0)

Definition at line 53 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_ber().

◆ RETURN

#define RETURN (   _code)
Value:
do { \
rval.code = _code; \
rval.consumed = consumed_myself;\
return rval; \
} while(0)

Definition at line 59 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_ber(), and SEQUENCE_decode_xer().

◆ SIZE_VIOLATION

#define SIZE_VIOLATION   (ctx->left >= 0 && (size_t)ctx->left <= size)

Definition at line 28 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_ber().

◆ XER_ADVANCE

#define XER_ADVANCE (   num_bytes)
Value:
do { \
size_t num = num_bytes; \
buf_ptr = ((const char *)buf_ptr) + num;\
size -= num; \
consumed_myself += num; \
} while(0)

Definition at line 596 of file constr_SEQUENCE.c.

Referenced by SEQUENCE_decode_xer().

Function Documentation

◆ _t2e_cmp()

static int _t2e_cmp ( const void *  ap,
const void *  bp 
)
static

Definition at line 77 of file constr_SEQUENCE.c.

References BER_TAG_CLASS, BER_TAG_VALUE, asn_TYPE_tag2member_s::el_no, and asn_TYPE_tag2member_s::el_tag.

Referenced by SEQUENCE_decode_ber().

Here is the caller graph for this function:

◆ SEQUENCE_constraint()

◆ SEQUENCE_decode_ber()

◆ SEQUENCE_decode_uper()

◆ SEQUENCE_decode_xer()

◆ SEQUENCE_encode_der()

◆ SEQUENCE_encode_uper()

◆ SEQUENCE_encode_xer()

◆ SEQUENCE_free()

void SEQUENCE_free ( asn_TYPE_descriptor_t td,
void *  sptr,
int  contents_only 
)

Definition at line 951 of file constr_SEQUENCE.c.

References ASN_DEBUG(), ASN_STRUCT_FREE, ASN_STRUCT_FREE_CONTENTS_ONLY, ATF_POINTER, asn_TYPE_descriptor_s::elements, asn_TYPE_descriptor_s::elements_count, asn_TYPE_member_s::flags, FREEMEM, asn_TYPE_member_s::memb_offset, asn_TYPE_descriptor_s::name, and asn_TYPE_member_s::type.

Here is the call graph for this function:

◆ SEQUENCE_handle_extensions()

static int SEQUENCE_handle_extensions ( asn_TYPE_descriptor_t td,
void *  sptr,
asn_per_outp_t po1,
asn_per_outp_t po2 
)
static

Definition at line 1243 of file constr_SEQUENCE.c.

References ASN_DEBUG(), ATF_POINTER, asn_TYPE_descriptor_s::elements, asn_SEQUENCE_specifics_s::ext_after, asn_SEQUENCE_specifics_s::ext_before, asn_TYPE_member_s::flags, IN_EXTENSION_GROUP, asn_TYPE_member_s::memb_offset, asn_TYPE_descriptor_s::name, asn_TYPE_member_s::per_constraints, per_put_few_bits(), asn_TYPE_descriptor_s::specifics, asn_TYPE_member_s::type, and uper_open_type_put().

Referenced by SEQUENCE_encode_uper().

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

◆ SEQUENCE_print()