Go to the documentation of this file.
11 #define RETURN(_code) \
13 asn_dec_rval_t tmprval; \
14 tmprval.code = _code; \
15 tmprval.consumed = consumed_myself; \
21 uint8_t *buffer = NULL;
41 assert((
size_t)erval > 0);
60 memset(&tmp, 0,
sizeof(tmp));
79 if(!st || !td || !struct_ptr) {
86 *struct_ptr = (
void *)0;
103 return ANY_to_type_aper(st, td, struct_ptr) == 0 && *struct_ptr != 0 ? 0 : -1;
114 size_t consumed_myself = 0;
129 ASN_DEBUG(
"APER Decoding ANY type");
142 if(raw_len == 0 && st->buf)
break;
144 ASN_DEBUG(
"Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len,
145 repeat ?
"repeat" :
"once", td->
name);
147 len_bits = len_bytes * 8;
149 p =
REALLOC(st->buf, st->size + len_bytes + 1);
151 st->buf = (uint8_t *)p;
155 consumed_myself += len_bits;
156 st->size += len_bytes;
158 st->buf[st->size] = 0;
189 assert(!(may_save & 0x07) || !size);
#define ASN_STRUCT_FREE(asn_DEF, ptr)
#define ASN__ENCODED_OK(rval)
ssize_t aper_put_length(asn_per_outp_t *po, ssize_t lb, ssize_t ub, size_t n, int *opt_need_eom)
#define CALLOC(nmemb, size)
ANY_t * ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr)
#define REALLOC(oldptr, size)
int ANY_to_type_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr)
#define ASN__ENCODE_FAILED
asn_enc_rval_t ANY_encode_aper(const asn_TYPE_descriptor_t *td, const asn_per_constraints_t *constraints, const void *sptr, asn_per_outp_t *po)
int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr)
asn_dec_rval_t ANY_decode_aper(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 aper_get_length(asn_per_data_t *pd, ssize_t lb, ssize_t ub, int effective_bound_bits, int *repeat)
#define per_put_many_bits(out, src, nbits)
int ANY_to_type_aper_checked(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr)
#define per_get_many_bits(data, dst, align, bits)
const struct asn_per_constraints_s * per_constraints
asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs
asn_encoding_constraints_t encoding_constraints
ssize_t aper_encode_to_new_buffer(const struct asn_TYPE_descriptor_s *td, const asn_per_constraints_t *constraints, const void *sptr, void **buffer_r)
asn_dec_rval_t aper_decode(const struct asn_codec_ctx_s *opt_codec_ctx, const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, const void *buffer, size_t size, int skip_bits, int unused_bits)
enum asn_dec_rval_code_e code
etsi_its_vam_ts_coding
Author(s): Jean-Pierre Busch
, Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:30:55