Go to the documentation of this file.
13 #define RETURN(_code) \
16 rval.consumed = consumed_myself; \
21 #define JER_ADVANCE(num_bytes) \
23 size_t num = num_bytes; \
24 buf_ptr = ((const char *)buf_ptr) + num; \
26 consumed_myself += num; \
36 void **struct_ptr,
const void *buf_ptr,
size_t size) {
46 void *st = *struct_ptr;
50 ssize_t consumed_myself = 0;
56 st = *struct_ptr =
CALLOC(1, specs->struct_size);
71 for(; ctx->phase <= 2;) {
83 ASN_DEBUG(
"JER/SET OF element [%s]",
84 (*element->name) ? element->name : element->type->xml_tag);
85 tmprval = element->type->op->jer_decoder(opt_codec_ctx,
87 element->encoding_constraints.jer_constraints,
102 ASN_DEBUG(
"JER/SET OF phase => %d", ctx->phase);
110 buf_ptr, size, &ch_type);
129 ASN_DEBUG(
"JER/SET OF: scv = %d, ph=%d t=%s",
130 scv, ctx->phase, td->name);
133 if(ctx->phase == 0)
break;
136 if(ctx->phase == 0) {
147 if(ctx->phase == 0) {
155 ASN_DEBUG(
"JER/SET OF: scv=%d, ph=%d", scv, ctx->phase);
156 if(ctx->phase == 1) {
168 ASN_DEBUG(
"Unexpected JSON key in SET OF");
193 for(i = 0; i < list->count; i++) {
196 void *memb_ptr = list->array[i];
197 if(!memb_ptr)
continue;
200 tmper = elm->type->op->jer_encoder(elm->type,
201 elm->encoding_constraints.jer_constraints,
205 if(tmper.
encoded == -1)
return tmper;
208 const char *name = elm->type->xml_tag;
209 size_t len = strlen(name);
212 if (i != list->count - 1) {
#define ASN__ENCODED_OK(rval)
#define CALLOC(nmemb, size)
asn_dec_rval_t SET_OF_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 *buf_ptr, size_t size)
#define ASN__CALLBACK(buf, size)
#define ASN__CALLBACK3(buf1, size1, buf2, size2, buf3, size3)
enum pjer_chunk_type pjer_chunk_type_e
#define JER_ADVANCE(num_bytes)
#define ASN__ENCODE_FAILED
#define ASN_SET_ADD(headptr, ptr)
#define ASN__TEXT_INDENT(nl, level)
#define _A_SET_FROM_VOID(ptr)
#define _A_CSET_FROM_VOID(ptr)
asn_enc_rval_t SET_OF_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)
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 jer_check_sym jer_check_sym_e
enum asn_dec_rval_code_e code
etsi_its_spatem_ts_coding
Author(s): Jean-Pierre Busch
, Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:29:28