Go to the documentation of this file.
14 #define RETURN(_code) \
17 rval.consumed = consumed_myself; \
24 #define IN_EXTENSION_GROUP(specs, memb_idx) \
25 ((specs)->first_extension >= 0 \
26 && (unsigned)(specs)->first_extension <= (memb_idx))
29 #define JER_ADVANCE(num_bytes) \
31 size_t num = (num_bytes); \
32 ptr = ((const char *)ptr) + num; \
34 consumed_myself += num; \
44 void **struct_ptr,
const void *ptr,
size_t size) {
55 void *st = *struct_ptr;
59 ssize_t consumed_myself = 0;
83 for(edx = ctx->step; ctx->phase <= 3;) {
95 void *memb_ptr_dontuse;
101 memb_ptr2 = (
void **)((
char *)st + elm->
memb_offset);
104 memb_ptr2 = &memb_ptr_dontuse;
122 ASN_DEBUG(
"JER/SEQUENCE phase => %d, step => %d",
123 ctx->phase, ctx->step);
151 ASN_DEBUG(
"JER/SEQUENCE: scv = %d, ph=%d [%s]",
152 scv, ctx->phase, td->
name);
156 if(ctx->phase == 3) {
176 if(ctx->phase == 0)
break;
189 ASN_DEBUG(
"Premature end of JER SEQUENCE");
197 if(ctx->phase == 0) {
206 ASN_DEBUG(
"JER/SEQUENCE: scv=%d, ph=%d, edx=%" ASN_PRI_SIZE "",
207 scv, ctx->phase, edx);
208 if(ctx->phase != 1) {
217 if(edx < td->elements_count) {
222 size_t edx_end = edx + elements[edx].optional + 1;
227 for(n = edx; n < edx_end; n++) {
264 ASN_DEBUG(
"Out of defined members: %" ASN_PRI_SIZE "/%u",
270 edx + (edx < td->elements_count
271 ? elements[edx].optional : 0))) {
272 ASN_DEBUG(
"Got anticipated extension at %" ASN_PRI_SIZE "",
285 ASN_DEBUG(
"Unexpected JSON key in SEQUENCE [%c%c%c%c%c%c]",
286 size>0?((
const char *)ptr)[0]:
'.',
287 size>1?((
const char *)ptr)[1]:
'.',
288 size>2?((
const char *)ptr)[2]:
'.',
289 size>3?((
const char *)ptr)[3]:
'.',
290 size>4?((
const char *)ptr)[4]:
'.',
291 size>5?((
const char *)ptr)[5]:
'.');
307 void *tmp_def_val = 0;
319 const void *memb_ptr;
320 const char *mname = elm->
name;
321 unsigned int mlen = strlen(mname);
325 *(
const void *
const *)((
const char *)sptr + elm->
memb_offset);
327 assert(tmp_def_val == 0);
332 memb_ptr = tmp_def_val;
333 tmp_def_val_td = elm->
type;
343 memb_ptr = (
const void *)((
const char *)sptr + elm->
memb_offset);
346 if (bAddComma == 1) {
362 ilevel + 1, flags, cb, app_key);
367 if(tmper.
encoded == -1)
return tmper;
#define ASN_STRUCT_FREE(asn_DEF, ptr)
asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, const asn_jer_constraints_t *constraints, const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key)
#define ASN__ENCODED_OK(rval)
#define CALLOC(nmemb, size)
jer_type_encoder_f * jer_encoder
#define ASN__CALLBACK(buf, size)
#define ASN__CALLBACK3(buf1, size1, buf2, size2, buf3, size3)
enum pjer_chunk_type pjer_chunk_type_e
#define ASN__ENCODE_FAILED
#define IN_EXTENSION_GROUP(specs, memb_idx)
asn_TYPE_descriptor_t * type
#define ASN__TEXT_INDENT(nl, level)
size_t jer_whitespace_span(const void *chunk_buf, size_t chunk_size)
asn_TYPE_operation_t * op
#define JER_ADVANCE(num_bytes)
const struct asn_jer_constraints_s * jer_constraints
jer_type_decoder_f * jer_decoder
int jer_skip_unknown(jer_check_sym_e scv, ber_tlv_len_t *depth)
int() asn_app_consume_bytes_f(const void *buffer, size_t size, void *application_specific_key)
struct asn_TYPE_member_s * elements
ssize_t jer_next_token(int *stateContext, const void *buffer, size_t size, pjer_chunk_type_e *_ch_type)
enum asn_TYPE_flags_e flags
asn_dec_rval_t OPEN_TYPE_jer_get(const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *parent_type, void *parent_structure, const asn_TYPE_member_t *element, const void *ptr, size_t size)
asn_dec_rval_t SEQUENCE_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, const asn_jer_constraints_t *constraints, void **struct_ptr, const void *ptr, size_t size)
#define ADVANCE(num_bytes)
enum jer_check_sym jer_check_sym_e
asn_encoding_constraints_t encoding_constraints
enum asn_dec_rval_code_e code
int(* default_value_set)(void **sptr)
etsi_its_denm_coding
Author(s): Jean-Pierre Busch
, Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:23:47