Go to the documentation of this file.
28 if(!constraints) constraints = td->encoding_constraints.per_constraints;
29 ct = constraints ? &constraints->value : 0;
31 if(ct && ct->
flags & APC_EXTENSIBLE) {
41 if(ct->
flags & APC_SEMI_CONSTRAINED) {
47 st->
buf = (uint8_t *)
MALLOC(1 + size + 1);
54 if(ct && ct->
flags != APC_UNCONSTRAINED) {
56 ASN_DEBUG(
"Integer with range %d bits", ct->
range_bits);
58 if((
size_t)ct->
range_bits > 8 *
sizeof(uintmax_t))
61 if(specs && specs->field_unsigned) {
90 ASN_DEBUG(
"Decoding unconstrained integer %s", td->name);
105 st->
buf = (uint8_t *)p;
146 if(!constraints) constraints = td->encoding_constraints.per_constraints;
147 ct = constraints ? &constraints->value : 0;
153 if(specs && specs->field_unsigned) {
157 if(ct->
flags & APC_SEMI_CONSTRAINED) {
168 inext ?
"ext" :
"fix");
173 if(ct->
flags & APC_SEMI_CONSTRAINED) {
184 inext ?
"ext" :
"fix");
186 if(ct->
flags & APC_EXTENSIBLE) {
199 if(specs && specs->field_unsigned) {
213 ASN_DEBUG(
"Encoding integer %"ASN_PRIuMAX" with range %d bits",
226 for(buf = st->
buf, end = st->
buf + st->
size; buf < end;) {
int asn_INTEGER2imax(const INTEGER_t *i, intmax_t *l)
asn_enc_rval_t INTEGER_encode_uper(const asn_TYPE_descriptor_t *td, const asn_per_constraints_t *constraints, const void *sptr, asn_per_outp_t *po)
#define ASN__ENCODED_OK(rval)
int per_imax_range_rebase(intmax_t v, intmax_t lb, intmax_t ub, uintmax_t *output)
ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length, int *opt_need_eom)
int uper_get_constrained_whole_number(asn_per_data_t *pd, uintmax_t *v, int nbits)
#define CALLOC(nmemb, size)
#define per_get_few_bits(data, bits)
int asn_INTEGER2umax(const INTEGER_t *i, uintmax_t *l)
#define REALLOC(oldptr, size)
int per_imax_range_unrebase(uintmax_t inp, intmax_t lb, intmax_t ub, intmax_t *outp)
#define ASN__ENCODE_FAILED
int asn_imax2INTEGER(INTEGER_t *i, intmax_t l)
int asn_umax2INTEGER(INTEGER_t *i, uintmax_t l)
#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 uper_put_constrained_whole_number_u(asn_per_outp_t *po, uintmax_t v, int nbits)
ssize_t uper_get_length(asn_per_data_t *pd, int effective_bound_bits, size_t lower_bound, int *repeat)
enum asn_per_constraint_s::asn_per_constraint_flags flags
int asn_INTEGER2long(const INTEGER_t *i, long *l)
asn_dec_rval_t INTEGER_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)
#define per_put_few_bits(out, bits, obits)
etsi_its_cpm_ts_coding
Author(s): Jean-Pierre Busch
, Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:22:38