Go to the documentation of this file.
26 if(!constraints) constraints = td->encoding_constraints.per_constraints;
27 ct = constraints ? &constraints->value : 0;
29 if(ct && ct->
flags & APC_EXTENSIBLE) {
39 if(ct->
flags & APC_SEMI_CONSTRAINED) {
45 st->
buf = (uint8_t *)
MALLOC(1 + size + 1);
52 if(ct && ct->
flags != APC_UNCONSTRAINED) {
54 ASN_DEBUG(
"Integer with range %d bits", ct->
range_bits);
64 if (upper >= max_range_bytes)
67 ASN_DEBUG(
"Can encode %d (%d bytes) in %d bits", ct->
range_bits,
75 ASN_DEBUG(
"Got length %d", length);
82 value += (((intmax_t)buf) << (8 * length));
86 if((specs && specs->field_unsigned)
110 if((specs && specs->field_unsigned)
122 ASN_DEBUG(
"Decoding unconstrained integer %s", td->name);
137 st->
buf = (uint8_t *)p;
174 if(!constraints) constraints = td->encoding_constraints.per_constraints;
175 ct = constraints ? &constraints->value : 0;
181 if(specs && specs->field_unsigned) {
186 if(ct->
flags & APC_SEMI_CONSTRAINED) {
198 inext ?
"ext" :
"fix");
203 if(ct->
flags & APC_SEMI_CONSTRAINED) {
204 if(value < ct->lower_bound)
207 if(value < ct->lower_bound
215 inext ?
"ext" :
"fix");
217 if(ct->
flags & APC_EXTENSIBLE) {
262 if (upper >= max_range_bytes)
266 for (j =
sizeof(int64_t) -1; j != 0; j--) {
268 val = v64 >> (j * 8);
281 for (i = 0; i <= j; i++) {
295 for(buf = st->
buf, end = st->
buf + st->
size; buf < end;) {
int asn_INTEGER2imax(const INTEGER_t *i, intmax_t *l)
asn_dec_rval_t INTEGER_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)
#define ASN__ENCODED_OK(rval)
int aper_put_align(asn_per_outp_t *po)
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)
#define per_get_few_bits(data, bits)
asn_enc_rval_t INTEGER_encode_aper(const asn_TYPE_descriptor_t *td, const asn_per_constraints_t *constraints, const void *sptr, asn_per_outp_t *po)
int asn_INTEGER2umax(const INTEGER_t *i, uintmax_t *l)
#define REALLOC(oldptr, size)
#define ASN__ENCODE_FAILED
int32_t aper_get_align(asn_per_data_t *pd)
int asn_imax2INTEGER(INTEGER_t *i, intmax_t l)
int asn_umax2INTEGER(INTEGER_t *i, uintmax_t l)
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)
#define ASN__DECODE_STARVED
#define per_get_many_bits(data, dst, align, bits)
#define ASN__DECODE_FAILED
int asn_long2INTEGER(INTEGER_t *i, long l)
enum asn_per_constraint_s::asn_per_constraint_flags flags
int asn_INTEGER2long(const INTEGER_t *i, long *l)
#define per_put_few_bits(out, bits, obits)
etsi_its_denm_coding
Author(s): Jean-Pierre Busch
, Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:23:48