ENUMERATED_aper.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, asn_per_data_t *pd) {
14  asn_dec_rval_t rval;
15  ENUMERATED_t *st = (ENUMERATED_t *)*sptr;
16  long value;
17  void *vptr = &value;
18 
19  if(!st) {
20  st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st)));
21  if(!st) ASN__DECODE_FAILED;
22  }
23 
24  rval = NativeEnumerated_decode_aper(opt_codec_ctx, td, constraints,
25  (void **)&vptr, pd);
26  if(rval.code == RC_OK)
27  if(asn_long2INTEGER(st, value))
28  rval.code = RC_FAIL;
29  return rval;
30 }
31 
34  const asn_per_constraints_t *constraints,
35  const void *sptr, asn_per_outp_t *po) {
36  const ENUMERATED_t *st = (const ENUMERATED_t *)sptr;
37  long value;
38 
39  if(asn_INTEGER2long(st, &value))
41 
42  return NativeEnumerated_encode_aper(td, constraints, &value, po);
43 }
asn_bit_outp_s
Definition: asn_bit_data.h:56
ASN__PRIMITIVE_TYPE_s
Definition: asn_codecs_prim.h:14
asn_enc_rval_s
Definition: asn_codecs.h:41
NativeEnumerated.h
CALLOC
#define CALLOC(nmemb, size)
Definition: asn_internal.h:37
NativeEnumerated_decode_aper
per_type_decoder_f NativeEnumerated_decode_aper
Definition: NativeEnumerated.h:61
asn_bit_data_s
Definition: asn_bit_data.h:17
ENUMERATED_decode_aper
asn_dec_rval_t ENUMERATED_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)
Definition: ENUMERATED_aper.c:11
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
ENUMERATED_encode_aper
asn_enc_rval_t ENUMERATED_encode_aper(const asn_TYPE_descriptor_t *td, const asn_per_constraints_t *constraints, const void *sptr, asn_per_outp_t *po)
Definition: ENUMERATED_aper.c:33
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
asn_per_constraints_s
Definition: per_support.h:30
NativeEnumerated_encode_aper
per_type_encoder_f NativeEnumerated_encode_aper
Definition: NativeEnumerated.h:62
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