ENUMERATED_uper.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
3  * All rights reserved.
4  * Redistribution and modifications are permitted subject to BSD license.
5  */
9 
12  const asn_TYPE_descriptor_t *td,
13  const asn_per_constraints_t *constraints, void **sptr,
14  asn_per_data_t *pd) {
15  asn_dec_rval_t rval;
16  ENUMERATED_t *st = (ENUMERATED_t *)*sptr;
17  long value;
18  void *vptr = &value;
19 
20  if(!st) {
21  st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st)));
22  if(!st) ASN__DECODE_FAILED;
23  }
24 
25  rval = NativeEnumerated_decode_uper(opt_codec_ctx, td, constraints,
26  (void **)&vptr, pd);
27  if(rval.code == RC_OK) {
28  if(asn_long2INTEGER(st, value)) {
29  rval.code = RC_FAIL;
30  }
31  }
32  return rval;
33 }
34 
37  const asn_per_constraints_t *constraints,
38  const void *sptr, asn_per_outp_t *po) {
39  const ENUMERATED_t *st = (const ENUMERATED_t *)sptr;
40  long value;
41 
42  if(asn_INTEGER2long(st, &value)) {
44  }
45 
46  return NativeEnumerated_encode_uper(td, constraints, &value, po);
47 }
asn_bit_outp_s
Definition: asn_bit_data.h:56
ASN__PRIMITIVE_TYPE_s
Definition: asn_codecs_prim.h:14
ENUMERATED_decode_uper
asn_dec_rval_t ENUMERATED_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)
Definition: ENUMERATED_uper.c:11
asn_enc_rval_s
Definition: asn_codecs.h:41
NativeEnumerated.h
CALLOC
#define CALLOC(nmemb, size)
Definition: asn_internal.h:37
NativeEnumerated_decode_uper
per_type_decoder_f NativeEnumerated_decode_uper
Definition: NativeEnumerated.h:57
asn_bit_data_s
Definition: asn_bit_data.h:17
ASN__ENCODE_FAILED
#define ASN__ENCODE_FAILED
Definition: asn_codecs.h:59
asn_TYPE_descriptor_s
Definition: constr_TYPE.h:224
ENUMERATED.h
RC_OK
@ RC_OK
Definition: asn_codecs.h:82
NativeEnumerated_encode_uper
per_type_encoder_f NativeEnumerated_encode_uper
Definition: NativeEnumerated.h:58
asn_internal.h
asn_codec_ctx_s
Definition: asn_codecs.h:23
asn_dec_rval_s
Definition: asn_codecs.h:86
ASN__DECODE_FAILED
#define ASN__DECODE_FAILED
Definition: asn_codecs.h:90
asn_long2INTEGER
int asn_long2INTEGER(INTEGER_t *i, long l)
Definition: INTEGER.c:414
ENUMERATED_encode_uper
asn_enc_rval_t ENUMERATED_encode_uper(const asn_TYPE_descriptor_t *td, const asn_per_constraints_t *constraints, const void *sptr, asn_per_outp_t *po)
Definition: ENUMERATED_uper.c:36
asn_per_constraints_s
Definition: per_support.h:30
asn_INTEGER2long
int asn_INTEGER2long(const INTEGER_t *i, long *l)
Definition: INTEGER.c:384
RC_FAIL
@ RC_FAIL
Definition: asn_codecs.h:84
asn_dec_rval_s::code
enum asn_dec_rval_code_e code
Definition: asn_codecs.h:87


etsi_its_cpm_ts_coding
Author(s): Jean-Pierre Busch , Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:22:38