Go to the documentation of this file.
18 asn_anonymous_set_ *list;
36 if(constraints) ct = &constraints->
size;
41 if(ct && ct->flags & APC_EXTENSIBLE) {
47 if(ct && ct->effective_bits >= 0) {
50 ASN_DEBUG(
"Preparing to fetch %ld+%"ASN_PRIdMAX" elements from %s",
51 (
long)nelems, ct->lower_bound, td->
name);
53 nelems += ct->lower_bound;
55 if (nelems > ct->upper_bound && !(ct->flags & APC_EXTENSIBLE)) {
66 ASN_DEBUG(
"Got to decode %" ASN_PRI_SSIZE " elements (eff %d)",
67 nelems, (
int)(ct ? ct->effective_bits : -1));
71 for(i = 0; i < nelems; i++) {
73 ASN_DEBUG(
"SET OF %s decoding", elm->type->name);
74 rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type,
75 elm->encoding_constraints.per_constraints,
77 ASN_DEBUG(
"%s SET OF %s decoded %d, %p",
78 td->
name, elm->type->name, rv.
code, ptr);
81 if(rv.
consumed == 0 && nelems > 200) {
87 ASN_DEBUG(
"Failed to add element into %s",
92 ASN_DEBUG(
"Failed decoding %s of %s (SET OF)",
93 elm->type->name, td->
name);
102 ASN_DEBUG(
"Decoded %s as SET OF", td->
name);
113 const asn_anonymous_set_ *list;
126 ASN_DEBUG(
"Encoding %s as SEQUENCE OF (%d)", td->
name, list->count);
128 if(constraints) ct = &constraints->
size;
138 ct->
flags & APC_EXTENSIBLE ?
"ext" :
"fix");
139 if(ct->
flags & APC_EXTENSIBLE) {
142 if(not_in_root) ct = 0;
154 }
else if(list->count == 0) {
171 for(encoded_edx = 0; (ssize_t)encoded_edx < list->count;) {
177 may_encode = list->count;
184 for(edx = encoded_edx; edx < encoded_edx + may_encode; edx++) {
185 const struct _el_buffer *el = &encoded_els[edx];
195 encoded_edx += may_encode;
200 if((ssize_t)encoded_edx == list->count) {
#define ASN_STRUCT_FREE(asn_DEF, ptr)
asn_enc_rval_t SET_OF_encode_uper(const asn_TYPE_descriptor_t *td, const asn_per_constraints_t *constraints, const void *sptr, asn_per_outp_t *po)
struct _el_buffer * SET_OF__encode_sorted(const asn_TYPE_member_t *elm, const asn_anonymous_set_ *list, enum SET_OF__encode_method method)
#define ASN__ENCODED_OK(rval)
ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length, int *opt_need_eom)
#define CALLOC(nmemb, size)
#define per_get_few_bits(data, bits)
#define ASN__ENCODE_FAILED
#define ASN_SET_ADD(headptr, ptr)
#define _A_SET_FROM_VOID(ptr)
int asn_put_many_bits(asn_bit_outp_t *, const uint8_t *src, int put_nbits)
static int CC_NOTUSED ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx)
#define _A_CSET_FROM_VOID(ptr)
#define ASN__DECODE_STARVED
const struct asn_per_constraints_s * per_constraints
asn_per_constraint_t size
struct asn_TYPE_member_s * elements
#define ASN__DECODE_FAILED
asn_dec_rval_t SET_OF_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd)
ssize_t uper_get_length(asn_per_data_t *pd, int effective_bound_bits, size_t lower_bound, int *repeat)
asn_encoding_constraints_t encoding_constraints
void SET_OF__encode_sorted_free(struct _el_buffer *el_buf, size_t count)
enum asn_per_constraint_s::asn_per_constraint_flags flags
#define per_put_few_bits(out, bits, obits)
enum asn_dec_rval_code_e code
etsi_its_denm_coding
Author(s): Jean-Pierre Busch
, Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:23:47