Changed ASN sources. Added SIB1 packing/unpacking to RRC

This commit is contained in:
ismagom 2014-10-21 18:55:52 +02:00
parent d033204137
commit 9382c7dd3b
1249 changed files with 143880 additions and 1359 deletions

View File

@ -198,11 +198,15 @@ int main(int argc, char **argv) {
exit(-1);
} else if (n > 0) {
printf("\n\nDecoded SIB1 Message Len %d: ",n);
vec_fprint_hex(stdout, data, n);
bit_unpack_vector(data, data_unpacked, n);
bcch_dlsch_sib1_unpack(data_unpacked, n);
printf("\n");fflush(stdout);
sib1_decoded = true;
void *dlsch_msg = bcch_dlsch_unpack(data_unpacked, n);
if (dlsch_msg) {
printf("\n");fflush(stdout);
sib1_decoded = true;
cell_access_info_t cell_info;
bcch_dlsch_sib1_get_cell_access_info(dlsch_msg, &cell_info);
printf("Cell ID: 0x%x\n", cell_info.cell_id);
}
}
} else {
/* Run FFT for all subframe data */

View File

@ -258,7 +258,7 @@ int cell_search(void *uhd, int force_N_id_2, lte_cell_t *cell)
cell->nof_ports = nof_tx_ports;
bit_unpack_vector(bch_payload, bch_payload_unpacked, BCH_PAYLOAD_LEN);
bcch_bch_mib_unpack(bch_payload_unpacked, BCH_PAYLOAD_LEN, cell, NULL);
bcch_bch_unpack(bch_payload_unpacked, BCH_PAYLOAD_LEN, cell, NULL);
/* set sampling frequency */
int srate = lte_sampling_freq_hz(cell->nof_prb);

View File

@ -340,7 +340,7 @@ int main(int argc, char **argv) {
CPNORM);
}
bcch_bch_mib_pack(&cell, sfn, bch_payload_packed, BCH_PAYLOAD_LEN/8);
bcch_bch_pack(&cell, sfn, bch_payload_packed, BCH_PAYLOAD_LEN/8);
bit_pack_vector(bch_payload_packed, bch_payload, BCH_PAYLOAD_LEN);
if (sf_idx == 0) {
pbch_encode(&pbch, bch_payload, sf_symbols);

View File

@ -54,6 +54,7 @@ LIBLTE_API void *vec_realloc(void *ptr, uint32_t old_size, uint32_t new_size);
LIBLTE_API void vec_fprint_c(FILE *stream, cf_t *x, uint32_t len);
LIBLTE_API void vec_fprint_f(FILE *stream, float *x, uint32_t len);
LIBLTE_API void vec_fprint_b(FILE *stream, uint8_t *x, uint32_t len);
LIBLTE_API void vec_fprint_byte(FILE *stream, uint8_t *x, uint32_t len);
LIBLTE_API void vec_fprint_i(FILE *stream, int *x, uint32_t len);
LIBLTE_API void vec_fprint_hex(FILE *stream, uint8_t *x, uint32_t len);

View File

@ -236,6 +236,15 @@ void vec_fprint_b(FILE *stream, uint8_t *x, uint32_t len) {
fprintf(stream, "];\n");
}
void vec_fprint_byte(FILE *stream, uint8_t *x, uint32_t len) {
int i;
fprintf(stream, "[");
for (i=0;i<len;i++) {
fprintf(stream, "%02x ", x[i]);
}
fprintf(stream, "];\n");
}
void vec_fprint_i(FILE *stream, int *x, uint32_t len) {
int i;
fprintf(stream, "[");
@ -246,15 +255,16 @@ void vec_fprint_i(FILE *stream, int *x, uint32_t len) {
}
void vec_fprint_hex(FILE *stream, uint8_t *x, uint32_t len) {
uint32_t i, nbytes, byte;
uint32_t i, nbytes;
uint8_t byte;
nbytes = len/8;
fprintf(stream, "[", len);
for (i=0;i<nbytes;i++) {
byte = bit_unpack(&x, 8);
byte = (uint8_t) bit_unpack(&x, 8);
fprintf(stream, "%02x ", byte);
}
if (len%8) {
byte = bit_unpack(&x, len%8);
byte = (uint8_t) bit_unpack(&x, len%8);
fprintf(stream, "%02x ", byte);
}
fprintf(stream, "];\n");

View File

@ -0,0 +1,434 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AC-BarringConfig.h"
static int
ac_BarringFactor_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
ac_BarringFactor_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
ac_BarringFactor_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
ac_BarringFactor_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
ac_BarringFactor_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
ac_BarringFactor_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
ac_BarringFactor_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
ac_BarringFactor_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
ac_BarringFactor_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
ac_BarringFactor_2_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ac_BarringFactor_2_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static int
ac_BarringTime_19_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
ac_BarringTime_19_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
ac_BarringTime_19_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
ac_BarringTime_19_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
ac_BarringTime_19_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
ac_BarringTime_19_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
ac_BarringTime_19_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
ac_BarringTime_19_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
ac_BarringTime_19_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
ac_BarringTime_19_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ac_BarringTime_19_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static int
memb_ac_BarringForSpecialAC_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 5)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_type_ac_BarringFactor_constr_2 = {
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ac_BarringTime_constr_19 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_BarringForSpecialAC_constr_28 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 5, 5 } /* (SIZE(5..5)) */,
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_ac_BarringFactor_value2enum_2[] = {
{ 0, 3, "p00" },
{ 1, 3, "p05" },
{ 2, 3, "p10" },
{ 3, 3, "p15" },
{ 4, 3, "p20" },
{ 5, 3, "p25" },
{ 6, 3, "p30" },
{ 7, 3, "p40" },
{ 8, 3, "p50" },
{ 9, 3, "p60" },
{ 10, 3, "p70" },
{ 11, 3, "p75" },
{ 12, 3, "p80" },
{ 13, 3, "p85" },
{ 14, 3, "p90" },
{ 15, 3, "p95" }
};
static unsigned int asn_MAP_ac_BarringFactor_enum2value_2[] = {
0, /* p00(0) */
1, /* p05(1) */
2, /* p10(2) */
3, /* p15(3) */
4, /* p20(4) */
5, /* p25(5) */
6, /* p30(6) */
7, /* p40(7) */
8, /* p50(8) */
9, /* p60(9) */
10, /* p70(10) */
11, /* p75(11) */
12, /* p80(12) */
13, /* p85(13) */
14, /* p90(14) */
15 /* p95(15) */
};
static asn_INTEGER_specifics_t asn_SPC_ac_BarringFactor_specs_2 = {
asn_MAP_ac_BarringFactor_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_ac_BarringFactor_enum2value_2, /* N => "tag"; sorted by N */
16, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_ac_BarringFactor_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ac_BarringFactor_2 = {
"ac-BarringFactor",
"ac-BarringFactor",
ac_BarringFactor_2_free,
ac_BarringFactor_2_print,
ac_BarringFactor_2_constraint,
ac_BarringFactor_2_decode_ber,
ac_BarringFactor_2_encode_der,
ac_BarringFactor_2_decode_xer,
ac_BarringFactor_2_encode_xer,
ac_BarringFactor_2_decode_uper,
ac_BarringFactor_2_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ac_BarringFactor_tags_2,
sizeof(asn_DEF_ac_BarringFactor_tags_2)
/sizeof(asn_DEF_ac_BarringFactor_tags_2[0]) - 1, /* 1 */
asn_DEF_ac_BarringFactor_tags_2, /* Same as above */
sizeof(asn_DEF_ac_BarringFactor_tags_2)
/sizeof(asn_DEF_ac_BarringFactor_tags_2[0]), /* 2 */
&asn_PER_type_ac_BarringFactor_constr_2,
0, 0, /* Defined elsewhere */
&asn_SPC_ac_BarringFactor_specs_2 /* Additional specs */
};
static asn_INTEGER_enum_map_t asn_MAP_ac_BarringTime_value2enum_19[] = {
{ 0, 2, "s4" },
{ 1, 2, "s8" },
{ 2, 3, "s16" },
{ 3, 3, "s32" },
{ 4, 3, "s64" },
{ 5, 4, "s128" },
{ 6, 4, "s256" },
{ 7, 4, "s512" }
};
static unsigned int asn_MAP_ac_BarringTime_enum2value_19[] = {
5, /* s128(5) */
2, /* s16(2) */
6, /* s256(6) */
3, /* s32(3) */
0, /* s4(0) */
7, /* s512(7) */
4, /* s64(4) */
1 /* s8(1) */
};
static asn_INTEGER_specifics_t asn_SPC_ac_BarringTime_specs_19 = {
asn_MAP_ac_BarringTime_value2enum_19, /* "tag" => N; sorted by tag */
asn_MAP_ac_BarringTime_enum2value_19, /* N => "tag"; sorted by N */
8, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_ac_BarringTime_tags_19[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ac_BarringTime_19 = {
"ac-BarringTime",
"ac-BarringTime",
ac_BarringTime_19_free,
ac_BarringTime_19_print,
ac_BarringTime_19_constraint,
ac_BarringTime_19_decode_ber,
ac_BarringTime_19_encode_der,
ac_BarringTime_19_decode_xer,
ac_BarringTime_19_encode_xer,
ac_BarringTime_19_decode_uper,
ac_BarringTime_19_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ac_BarringTime_tags_19,
sizeof(asn_DEF_ac_BarringTime_tags_19)
/sizeof(asn_DEF_ac_BarringTime_tags_19[0]) - 1, /* 1 */
asn_DEF_ac_BarringTime_tags_19, /* Same as above */
sizeof(asn_DEF_ac_BarringTime_tags_19)
/sizeof(asn_DEF_ac_BarringTime_tags_19[0]), /* 2 */
&asn_PER_type_ac_BarringTime_constr_19,
0, 0, /* Defined elsewhere */
&asn_SPC_ac_BarringTime_specs_19 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AC_BarringConfig_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig, ac_BarringFactor),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ac_BarringFactor_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ac-BarringFactor"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig, ac_BarringTime),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ac_BarringTime_19,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ac-BarringTime"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig, ac_BarringForSpecialAC),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_ac_BarringForSpecialAC_constraint_1,
&asn_PER_memb_ac_BarringForSpecialAC_constr_28,
0,
"ac-BarringForSpecialAC"
},
};
static ber_tlv_tag_t asn_DEF_AC_BarringConfig_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AC_BarringConfig_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ac-BarringFactor at 1489 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ac-BarringTime at 1491 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ac-BarringForSpecialAC at 1492 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AC_BarringConfig_specs_1 = {
sizeof(struct AC_BarringConfig),
offsetof(struct AC_BarringConfig, _asn_ctx),
asn_MAP_AC_BarringConfig_tag2el_1,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AC_BarringConfig = {
"AC-BarringConfig",
"AC-BarringConfig",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AC_BarringConfig_tags_1,
sizeof(asn_DEF_AC_BarringConfig_tags_1)
/sizeof(asn_DEF_AC_BarringConfig_tags_1[0]), /* 1 */
asn_DEF_AC_BarringConfig_tags_1, /* Same as above */
sizeof(asn_DEF_AC_BarringConfig_tags_1)
/sizeof(asn_DEF_AC_BarringConfig_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AC_BarringConfig_1,
3, /* Elements count */
&asn_SPC_AC_BarringConfig_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,73 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AC_BarringConfig_H_
#define _AC_BarringConfig_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#include <BIT_STRING.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AC_BarringConfig__ac_BarringFactor {
AC_BarringConfig__ac_BarringFactor_p00 = 0,
AC_BarringConfig__ac_BarringFactor_p05 = 1,
AC_BarringConfig__ac_BarringFactor_p10 = 2,
AC_BarringConfig__ac_BarringFactor_p15 = 3,
AC_BarringConfig__ac_BarringFactor_p20 = 4,
AC_BarringConfig__ac_BarringFactor_p25 = 5,
AC_BarringConfig__ac_BarringFactor_p30 = 6,
AC_BarringConfig__ac_BarringFactor_p40 = 7,
AC_BarringConfig__ac_BarringFactor_p50 = 8,
AC_BarringConfig__ac_BarringFactor_p60 = 9,
AC_BarringConfig__ac_BarringFactor_p70 = 10,
AC_BarringConfig__ac_BarringFactor_p75 = 11,
AC_BarringConfig__ac_BarringFactor_p80 = 12,
AC_BarringConfig__ac_BarringFactor_p85 = 13,
AC_BarringConfig__ac_BarringFactor_p90 = 14,
AC_BarringConfig__ac_BarringFactor_p95 = 15
} e_AC_BarringConfig__ac_BarringFactor;
typedef enum AC_BarringConfig__ac_BarringTime {
AC_BarringConfig__ac_BarringTime_s4 = 0,
AC_BarringConfig__ac_BarringTime_s8 = 1,
AC_BarringConfig__ac_BarringTime_s16 = 2,
AC_BarringConfig__ac_BarringTime_s32 = 3,
AC_BarringConfig__ac_BarringTime_s64 = 4,
AC_BarringConfig__ac_BarringTime_s128 = 5,
AC_BarringConfig__ac_BarringTime_s256 = 6,
AC_BarringConfig__ac_BarringTime_s512 = 7
} e_AC_BarringConfig__ac_BarringTime;
/* AC-BarringConfig */
typedef struct AC_BarringConfig {
long ac_BarringFactor;
long ac_BarringTime;
BIT_STRING_t ac_BarringForSpecialAC;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AC_BarringConfig_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_ac_BarringFactor_2; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_ac_BarringTime_19; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_AC_BarringConfig;
#ifdef __cplusplus
}
#endif
#endif /* _AC_BarringConfig_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,450 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AC-BarringConfig1XRTT-r9.h"
static int
memb_ac_Barring0to9_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 63)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_Barring10_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_Barring11_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_Barring12_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_Barring13_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_Barring14_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_Barring15_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_BarringMsg_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_BarringReg_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_ac_BarringEmg_r9_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_memb_ac_Barring0to9_r9_constr_2 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_Barring10_r9_constr_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_Barring11_r9_constr_4 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_Barring12_r9_constr_5 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_Barring13_r9_constr_6 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_Barring14_r9_constr_7 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_Barring15_r9_constr_8 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_BarringMsg_r9_constr_9 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_BarringReg_r9_constr_10 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ac_BarringEmg_r9_constr_11 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AC_BarringConfig1XRTT_r9_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_Barring0to9_r9),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_Barring0to9_r9_constraint_1,
&asn_PER_memb_ac_Barring0to9_r9_constr_2,
0,
"ac-Barring0to9-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_Barring10_r9),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_Barring10_r9_constraint_1,
&asn_PER_memb_ac_Barring10_r9_constr_3,
0,
"ac-Barring10-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_Barring11_r9),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_Barring11_r9_constraint_1,
&asn_PER_memb_ac_Barring11_r9_constr_4,
0,
"ac-Barring11-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_Barring12_r9),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_Barring12_r9_constraint_1,
&asn_PER_memb_ac_Barring12_r9_constr_5,
0,
"ac-Barring12-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_Barring13_r9),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_Barring13_r9_constraint_1,
&asn_PER_memb_ac_Barring13_r9_constr_6,
0,
"ac-Barring13-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_Barring14_r9),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_Barring14_r9_constraint_1,
&asn_PER_memb_ac_Barring14_r9_constr_7,
0,
"ac-Barring14-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_Barring15_r9),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_Barring15_r9_constraint_1,
&asn_PER_memb_ac_Barring15_r9_constr_8,
0,
"ac-Barring15-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_BarringMsg_r9),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_BarringMsg_r9_constraint_1,
&asn_PER_memb_ac_BarringMsg_r9_constr_9,
0,
"ac-BarringMsg-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_BarringReg_r9),
(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_BarringReg_r9_constraint_1,
&asn_PER_memb_ac_BarringReg_r9_constr_10,
0,
"ac-BarringReg-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AC_BarringConfig1XRTT_r9, ac_BarringEmg_r9),
(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_ac_BarringEmg_r9_constraint_1,
&asn_PER_memb_ac_BarringEmg_r9_constr_11,
0,
"ac-BarringEmg-r9"
},
};
static ber_tlv_tag_t asn_DEF_AC_BarringConfig1XRTT_r9_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AC_BarringConfig1XRTT_r9_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ac-Barring0to9-r9 at 1736 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ac-Barring10-r9 at 1737 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ac-Barring11-r9 at 1738 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ac-Barring12-r9 at 1739 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ac-Barring13-r9 at 1740 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ac-Barring14-r9 at 1741 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ac-Barring15-r9 at 1742 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ac-BarringMsg-r9 at 1743 */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* ac-BarringReg-r9 at 1744 */
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* ac-BarringEmg-r9 at 1745 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AC_BarringConfig1XRTT_r9_specs_1 = {
sizeof(struct AC_BarringConfig1XRTT_r9),
offsetof(struct AC_BarringConfig1XRTT_r9, _asn_ctx),
asn_MAP_AC_BarringConfig1XRTT_r9_tag2el_1,
10, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AC_BarringConfig1XRTT_r9 = {
"AC-BarringConfig1XRTT-r9",
"AC-BarringConfig1XRTT-r9",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AC_BarringConfig1XRTT_r9_tags_1,
sizeof(asn_DEF_AC_BarringConfig1XRTT_r9_tags_1)
/sizeof(asn_DEF_AC_BarringConfig1XRTT_r9_tags_1[0]), /* 1 */
asn_DEF_AC_BarringConfig1XRTT_r9_tags_1, /* Same as above */
sizeof(asn_DEF_AC_BarringConfig1XRTT_r9_tags_1)
/sizeof(asn_DEF_AC_BarringConfig1XRTT_r9_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AC_BarringConfig1XRTT_r9_1,
10, /* Elements count */
&asn_SPC_AC_BarringConfig1XRTT_r9_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AC_BarringConfig1XRTT_r9_H_
#define _AC_BarringConfig1XRTT_r9_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* AC-BarringConfig1XRTT-r9 */
typedef struct AC_BarringConfig1XRTT_r9 {
long ac_Barring0to9_r9;
long ac_Barring10_r9;
long ac_Barring11_r9;
long ac_Barring12_r9;
long ac_Barring13_r9;
long ac_Barring14_r9;
long ac_Barring15_r9;
long ac_BarringMsg_r9;
long ac_BarringReg_r9;
long ac_BarringEmg_r9;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AC_BarringConfig1XRTT_r9_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AC_BarringConfig1XRTT_r9;
#ifdef __cplusplus
}
#endif
#endif /* _AC_BarringConfig1XRTT_r9_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,146 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "ARFCN-ValueCDMA2000.h"
int
ARFCN_ValueCDMA2000_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 2047)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
ARFCN_ValueCDMA2000_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ARFCN_ValueCDMA2000_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueCDMA2000_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ARFCN_ValueCDMA2000_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueCDMA2000_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ARFCN_ValueCDMA2000_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueCDMA2000_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
ARFCN_ValueCDMA2000_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ARFCN_ValueCDMA2000_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_ARFCN_ValueCDMA2000_constr_1 = {
{ APC_CONSTRAINED, 11, 11, 0, 2047 } /* (0..2047) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static ber_tlv_tag_t asn_DEF_ARFCN_ValueCDMA2000_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueCDMA2000 = {
"ARFCN-ValueCDMA2000",
"ARFCN-ValueCDMA2000",
ARFCN_ValueCDMA2000_free,
ARFCN_ValueCDMA2000_print,
ARFCN_ValueCDMA2000_constraint,
ARFCN_ValueCDMA2000_decode_ber,
ARFCN_ValueCDMA2000_encode_der,
ARFCN_ValueCDMA2000_decode_xer,
ARFCN_ValueCDMA2000_encode_xer,
ARFCN_ValueCDMA2000_decode_uper,
ARFCN_ValueCDMA2000_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ARFCN_ValueCDMA2000_tags_1,
sizeof(asn_DEF_ARFCN_ValueCDMA2000_tags_1)
/sizeof(asn_DEF_ARFCN_ValueCDMA2000_tags_1[0]), /* 1 */
asn_DEF_ARFCN_ValueCDMA2000_tags_1, /* Same as above */
sizeof(asn_DEF_ARFCN_ValueCDMA2000_tags_1)
/sizeof(asn_DEF_ARFCN_ValueCDMA2000_tags_1[0]), /* 1 */
&asn_PER_type_ARFCN_ValueCDMA2000_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _ARFCN_ValueCDMA2000_H_
#define _ARFCN_ValueCDMA2000_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ARFCN-ValueCDMA2000 */
typedef long ARFCN_ValueCDMA2000_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueCDMA2000;
asn_struct_free_f ARFCN_ValueCDMA2000_free;
asn_struct_print_f ARFCN_ValueCDMA2000_print;
asn_constr_check_f ARFCN_ValueCDMA2000_constraint;
ber_type_decoder_f ARFCN_ValueCDMA2000_decode_ber;
der_type_encoder_f ARFCN_ValueCDMA2000_encode_der;
xer_type_decoder_f ARFCN_ValueCDMA2000_decode_xer;
xer_type_encoder_f ARFCN_ValueCDMA2000_encode_xer;
per_type_decoder_f ARFCN_ValueCDMA2000_decode_uper;
per_type_encoder_f ARFCN_ValueCDMA2000_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _ARFCN_ValueCDMA2000_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,146 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "ARFCN-ValueEUTRA.h"
int
ARFCN_ValueEUTRA_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 65535)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
ARFCN_ValueEUTRA_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ARFCN_ValueEUTRA_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueEUTRA_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ARFCN_ValueEUTRA_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueEUTRA_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ARFCN_ValueEUTRA_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueEUTRA_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
ARFCN_ValueEUTRA_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ARFCN_ValueEUTRA_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_ARFCN_ValueEUTRA_constr_1 = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static ber_tlv_tag_t asn_DEF_ARFCN_ValueEUTRA_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueEUTRA = {
"ARFCN-ValueEUTRA",
"ARFCN-ValueEUTRA",
ARFCN_ValueEUTRA_free,
ARFCN_ValueEUTRA_print,
ARFCN_ValueEUTRA_constraint,
ARFCN_ValueEUTRA_decode_ber,
ARFCN_ValueEUTRA_encode_der,
ARFCN_ValueEUTRA_decode_xer,
ARFCN_ValueEUTRA_encode_xer,
ARFCN_ValueEUTRA_decode_uper,
ARFCN_ValueEUTRA_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ARFCN_ValueEUTRA_tags_1,
sizeof(asn_DEF_ARFCN_ValueEUTRA_tags_1)
/sizeof(asn_DEF_ARFCN_ValueEUTRA_tags_1[0]), /* 1 */
asn_DEF_ARFCN_ValueEUTRA_tags_1, /* Same as above */
sizeof(asn_DEF_ARFCN_ValueEUTRA_tags_1)
/sizeof(asn_DEF_ARFCN_ValueEUTRA_tags_1[0]), /* 1 */
&asn_PER_type_ARFCN_ValueEUTRA_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _ARFCN_ValueEUTRA_H_
#define _ARFCN_ValueEUTRA_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ARFCN-ValueEUTRA */
typedef long ARFCN_ValueEUTRA_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueEUTRA;
asn_struct_free_f ARFCN_ValueEUTRA_free;
asn_struct_print_f ARFCN_ValueEUTRA_print;
asn_constr_check_f ARFCN_ValueEUTRA_constraint;
ber_type_decoder_f ARFCN_ValueEUTRA_decode_ber;
der_type_encoder_f ARFCN_ValueEUTRA_encode_der;
xer_type_decoder_f ARFCN_ValueEUTRA_decode_xer;
xer_type_encoder_f ARFCN_ValueEUTRA_encode_xer;
per_type_decoder_f ARFCN_ValueEUTRA_decode_uper;
per_type_encoder_f ARFCN_ValueEUTRA_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _ARFCN_ValueEUTRA_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,146 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "ARFCN-ValueGERAN.h"
int
ARFCN_ValueGERAN_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 1023)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
ARFCN_ValueGERAN_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ARFCN_ValueGERAN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueGERAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ARFCN_ValueGERAN_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueGERAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ARFCN_ValueGERAN_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueGERAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
ARFCN_ValueGERAN_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ARFCN_ValueGERAN_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_ARFCN_ValueGERAN_constr_1 = {
{ APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static ber_tlv_tag_t asn_DEF_ARFCN_ValueGERAN_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueGERAN = {
"ARFCN-ValueGERAN",
"ARFCN-ValueGERAN",
ARFCN_ValueGERAN_free,
ARFCN_ValueGERAN_print,
ARFCN_ValueGERAN_constraint,
ARFCN_ValueGERAN_decode_ber,
ARFCN_ValueGERAN_encode_der,
ARFCN_ValueGERAN_decode_xer,
ARFCN_ValueGERAN_encode_xer,
ARFCN_ValueGERAN_decode_uper,
ARFCN_ValueGERAN_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ARFCN_ValueGERAN_tags_1,
sizeof(asn_DEF_ARFCN_ValueGERAN_tags_1)
/sizeof(asn_DEF_ARFCN_ValueGERAN_tags_1[0]), /* 1 */
asn_DEF_ARFCN_ValueGERAN_tags_1, /* Same as above */
sizeof(asn_DEF_ARFCN_ValueGERAN_tags_1)
/sizeof(asn_DEF_ARFCN_ValueGERAN_tags_1[0]), /* 1 */
&asn_PER_type_ARFCN_ValueGERAN_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _ARFCN_ValueGERAN_H_
#define _ARFCN_ValueGERAN_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ARFCN-ValueGERAN */
typedef long ARFCN_ValueGERAN_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueGERAN;
asn_struct_free_f ARFCN_ValueGERAN_free;
asn_struct_print_f ARFCN_ValueGERAN_print;
asn_constr_check_f ARFCN_ValueGERAN_constraint;
ber_type_decoder_f ARFCN_ValueGERAN_decode_ber;
der_type_encoder_f ARFCN_ValueGERAN_encode_der;
xer_type_decoder_f ARFCN_ValueGERAN_decode_xer;
xer_type_encoder_f ARFCN_ValueGERAN_encode_xer;
per_type_decoder_f ARFCN_ValueGERAN_decode_uper;
per_type_encoder_f ARFCN_ValueGERAN_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _ARFCN_ValueGERAN_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,146 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "ARFCN-ValueUTRA.h"
int
ARFCN_ValueUTRA_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 16383)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
ARFCN_ValueUTRA_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ARFCN_ValueUTRA_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueUTRA_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
ARFCN_ValueUTRA_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueUTRA_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
ARFCN_ValueUTRA_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ARFCN_ValueUTRA_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
ARFCN_ValueUTRA_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ARFCN_ValueUTRA_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_ARFCN_ValueUTRA_constr_1 = {
{ APC_CONSTRAINED, 14, 14, 0, 16383 } /* (0..16383) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static ber_tlv_tag_t asn_DEF_ARFCN_ValueUTRA_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueUTRA = {
"ARFCN-ValueUTRA",
"ARFCN-ValueUTRA",
ARFCN_ValueUTRA_free,
ARFCN_ValueUTRA_print,
ARFCN_ValueUTRA_constraint,
ARFCN_ValueUTRA_decode_ber,
ARFCN_ValueUTRA_encode_der,
ARFCN_ValueUTRA_decode_xer,
ARFCN_ValueUTRA_encode_xer,
ARFCN_ValueUTRA_decode_uper,
ARFCN_ValueUTRA_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ARFCN_ValueUTRA_tags_1,
sizeof(asn_DEF_ARFCN_ValueUTRA_tags_1)
/sizeof(asn_DEF_ARFCN_ValueUTRA_tags_1[0]), /* 1 */
asn_DEF_ARFCN_ValueUTRA_tags_1, /* Same as above */
sizeof(asn_DEF_ARFCN_ValueUTRA_tags_1)
/sizeof(asn_DEF_ARFCN_ValueUTRA_tags_1[0]), /* 1 */
&asn_PER_type_ARFCN_ValueUTRA_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _ARFCN_ValueUTRA_H_
#define _ARFCN_ValueUTRA_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ARFCN-ValueUTRA */
typedef long ARFCN_ValueUTRA_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ARFCN_ValueUTRA;
asn_struct_free_f ARFCN_ValueUTRA_free;
asn_struct_print_f ARFCN_ValueUTRA_print;
asn_constr_check_f ARFCN_ValueUTRA_constraint;
ber_type_decoder_f ARFCN_ValueUTRA_decode_ber;
der_type_encoder_f ARFCN_ValueUTRA_encode_der;
xer_type_decoder_f ARFCN_ValueUTRA_decode_xer;
xer_type_encoder_f ARFCN_ValueUTRA_encode_xer;
per_type_decoder_f ARFCN_ValueUTRA_decode_uper;
per_type_encoder_f ARFCN_ValueUTRA_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _ARFCN_ValueUTRA_H_ */
#include <asn_internal.h>

210
lte/rrc/asn/AS-Config.c Normal file
View File

@ -0,0 +1,210 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#include "AS-Config.h"
static int
memb_sourceSystemInformationBlockType1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
static int
memb_sourceSystemInformationBlockType1Ext_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(1 /* No applicable constraints whatsoever */) {
/* Nothing is here. See below */
}
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
static asn_per_constraints_t asn_PER_memb_sourceSystemInformationBlockType1_constr_7 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_sourceSystemInformationBlockType1Ext_constr_12 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AS_Config_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceMeasConfig),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MeasConfig,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceMeasConfig"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceRadioResourceConfig),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RadioResourceConfigDedicated,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceRadioResourceConfig"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceSecurityAlgorithmConfig),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SecurityAlgorithmConfig,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceSecurityAlgorithmConfig"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceUE_Identity),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_C_RNTI,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceUE-Identity"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceMasterInformationBlock),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MasterInformationBlock,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceMasterInformationBlock"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceSystemInformationBlockType1),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SystemInformationBlockType1,
memb_sourceSystemInformationBlockType1_constraint_1,
&asn_PER_memb_sourceSystemInformationBlockType1_constr_7,
0,
"sourceSystemInformationBlockType1"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceSystemInformationBlockType2),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SystemInformationBlockType2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceSystemInformationBlockType2"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, antennaInfoCommon),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_AntennaInfoCommon,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"antennaInfoCommon"
},
{ ATF_NOFLAGS, 0, offsetof(struct AS_Config, sourceDl_CarrierFreq),
(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ARFCN_ValueEUTRA,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceDl-CarrierFreq"
},
{ ATF_POINTER, 2, offsetof(struct AS_Config, sourceSystemInformationBlockType1Ext),
(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
memb_sourceSystemInformationBlockType1Ext_constraint_1,
&asn_PER_memb_sourceSystemInformationBlockType1Ext_constr_12,
0,
"sourceSystemInformationBlockType1Ext"
},
{ ATF_POINTER, 1, offsetof(struct AS_Config, sourceOtherConfig_r9),
(ASN_TAG_CLASS_CONTEXT | (10 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OtherConfig_r9,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"sourceOtherConfig-r9"
},
};
static const int asn_MAP_AS_Config_oms_1[] = { 9, 10 };
static const ber_tlv_tag_t asn_DEF_AS_Config_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_AS_Config_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sourceMeasConfig */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sourceRadioResourceConfig */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sourceSecurityAlgorithmConfig */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sourceUE-Identity */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* sourceMasterInformationBlock */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* sourceSystemInformationBlockType1 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sourceSystemInformationBlockType2 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* antennaInfoCommon */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* sourceDl-CarrierFreq */
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* sourceSystemInformationBlockType1Ext */
{ (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* sourceOtherConfig-r9 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AS_Config_specs_1 = {
sizeof(struct AS_Config),
offsetof(struct AS_Config, _asn_ctx),
asn_MAP_AS_Config_tag2el_1,
11, /* Count of tags in the map */
asn_MAP_AS_Config_oms_1, /* Optional members */
0, 2, /* Root/Additions */
8, /* Start extensions */
12 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AS_Config = {
"AS-Config",
"AS-Config",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AS_Config_tags_1,
sizeof(asn_DEF_AS_Config_tags_1)
/sizeof(asn_DEF_AS_Config_tags_1[0]), /* 1 */
asn_DEF_AS_Config_tags_1, /* Same as above */
sizeof(asn_DEF_AS_Config_tags_1)
/sizeof(asn_DEF_AS_Config_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AS_Config_1,
11, /* Elements count */
&asn_SPC_AS_Config_specs_1 /* Additional specs */
};

64
lte/rrc/asn/AS-Config.h Normal file
View File

@ -0,0 +1,64 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#ifndef _AS_Config_H_
#define _AS_Config_H_
#include <asn_application.h>
/* Including external dependencies */
#include "MeasConfig.h"
#include "RadioResourceConfigDedicated.h"
#include "SecurityAlgorithmConfig.h"
#include "C-RNTI.h"
#include "MasterInformationBlock.h"
#include "SystemInformationBlockType1.h"
#include "SystemInformationBlockType2.h"
#include "AntennaInfoCommon.h"
#include "ARFCN-ValueEUTRA.h"
#include <OCTET_STRING.h>
#include "OtherConfig-r9.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct OtherConfig_r9;
/* AS-Config */
typedef struct AS_Config {
MeasConfig_t sourceMeasConfig;
RadioResourceConfigDedicated_t sourceRadioResourceConfig;
SecurityAlgorithmConfig_t sourceSecurityAlgorithmConfig;
C_RNTI_t sourceUE_Identity;
MasterInformationBlock_t sourceMasterInformationBlock;
SystemInformationBlockType1_t sourceSystemInformationBlockType1;
SystemInformationBlockType2_t sourceSystemInformationBlockType2;
AntennaInfoCommon_t antennaInfoCommon;
ARFCN_ValueEUTRA_t sourceDl_CarrierFreq;
/*
* This type is extensible,
* possible extensions are below.
*/
OCTET_STRING_t *sourceSystemInformationBlockType1Ext /* OPTIONAL */;
struct OtherConfig_r9 *sourceOtherConfig_r9;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AS_Config_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AS_Config;
#ifdef __cplusplus
}
#endif
#endif /* _AS_Config_H_ */
#include <asn_internal.h>

61
lte/rrc/asn/AS-Context.c Normal file
View File

@ -0,0 +1,61 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#include "AS-Context.h"
static asn_TYPE_member_t asn_MBR_AS_Context_1[] = {
{ ATF_POINTER, 1, offsetof(struct AS_Context, reestablishmentInfo),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReestablishmentInfo,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"reestablishmentInfo"
},
};
static const int asn_MAP_AS_Context_oms_1[] = { 0 };
static const ber_tlv_tag_t asn_DEF_AS_Context_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_AS_Context_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* reestablishmentInfo */
};
static asn_SEQUENCE_specifics_t asn_SPC_AS_Context_specs_1 = {
sizeof(struct AS_Context),
offsetof(struct AS_Context, _asn_ctx),
asn_MAP_AS_Context_tag2el_1,
1, /* Count of tags in the map */
asn_MAP_AS_Context_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AS_Context = {
"AS-Context",
"AS-Context",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AS_Context_tags_1,
sizeof(asn_DEF_AS_Context_tags_1)
/sizeof(asn_DEF_AS_Context_tags_1[0]), /* 1 */
asn_DEF_AS_Context_tags_1, /* Same as above */
sizeof(asn_DEF_AS_Context_tags_1)
/sizeof(asn_DEF_AS_Context_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AS_Context_1,
1, /* Elements count */
&asn_SPC_AS_Context_specs_1 /* Additional specs */
};

42
lte/rrc/asn/AS-Context.h Normal file
View File

@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#ifndef _AS_Context_H_
#define _AS_Context_H_
#include <asn_application.h>
/* Including external dependencies */
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct ReestablishmentInfo;
/* AS-Context */
typedef struct AS_Context {
struct ReestablishmentInfo *reestablishmentInfo /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AS_Context_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AS_Context;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "ReestablishmentInfo.h"
#endif /* _AS_Context_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,152 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AbsoluteTimeInfo-r10.h"
int
AbsoluteTimeInfo_r10_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 48)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
static void
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_BIT_STRING.free_struct;
td->print_struct = asn_DEF_BIT_STRING.print_struct;
td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
td->elements = asn_DEF_BIT_STRING.elements;
td->elements_count = asn_DEF_BIT_STRING.elements_count;
td->specifics = asn_DEF_BIT_STRING.specifics;
}
void
AbsoluteTimeInfo_r10_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
AbsoluteTimeInfo_r10_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
AbsoluteTimeInfo_r10_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
AbsoluteTimeInfo_r10_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
AbsoluteTimeInfo_r10_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
AbsoluteTimeInfo_r10_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
AbsoluteTimeInfo_r10_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
AbsoluteTimeInfo_r10_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
AbsoluteTimeInfo_r10_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_AbsoluteTimeInfo_r10_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 48, 48 } /* (SIZE(48..48)) */,
0, 0 /* No PER value map */
};
static ber_tlv_tag_t asn_DEF_AbsoluteTimeInfo_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_AbsoluteTimeInfo_r10 = {
"AbsoluteTimeInfo-r10",
"AbsoluteTimeInfo-r10",
AbsoluteTimeInfo_r10_free,
AbsoluteTimeInfo_r10_print,
AbsoluteTimeInfo_r10_constraint,
AbsoluteTimeInfo_r10_decode_ber,
AbsoluteTimeInfo_r10_encode_der,
AbsoluteTimeInfo_r10_decode_xer,
AbsoluteTimeInfo_r10_encode_xer,
AbsoluteTimeInfo_r10_decode_uper,
AbsoluteTimeInfo_r10_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AbsoluteTimeInfo_r10_tags_1,
sizeof(asn_DEF_AbsoluteTimeInfo_r10_tags_1)
/sizeof(asn_DEF_AbsoluteTimeInfo_r10_tags_1[0]), /* 1 */
asn_DEF_AbsoluteTimeInfo_r10_tags_1, /* Same as above */
sizeof(asn_DEF_AbsoluteTimeInfo_r10_tags_1)
/sizeof(asn_DEF_AbsoluteTimeInfo_r10_tags_1[0]), /* 1 */
&asn_PER_type_AbsoluteTimeInfo_r10_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AbsoluteTimeInfo_r10_H_
#define _AbsoluteTimeInfo_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* AbsoluteTimeInfo-r10 */
typedef BIT_STRING_t AbsoluteTimeInfo_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AbsoluteTimeInfo_r10;
asn_struct_free_f AbsoluteTimeInfo_r10_free;
asn_struct_print_f AbsoluteTimeInfo_r10_print;
asn_constr_check_f AbsoluteTimeInfo_r10_constraint;
ber_type_decoder_f AbsoluteTimeInfo_r10_decode_ber;
der_type_encoder_f AbsoluteTimeInfo_r10_encode_der;
xer_type_decoder_f AbsoluteTimeInfo_r10_decode_xer;
xer_type_encoder_f AbsoluteTimeInfo_r10_encode_xer;
per_type_decoder_f AbsoluteTimeInfo_r10_decode_uper;
per_type_encoder_f AbsoluteTimeInfo_r10_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _AbsoluteTimeInfo_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,160 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AccessStratumRelease.h"
int
AccessStratumRelease_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
AccessStratumRelease_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
AccessStratumRelease_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
AccessStratumRelease_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
AccessStratumRelease_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
AccessStratumRelease_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
AccessStratumRelease_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
AccessStratumRelease_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
AccessStratumRelease_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
AccessStratumRelease_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
AccessStratumRelease_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_AccessStratumRelease_constr_1 = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_AccessStratumRelease_value2enum_1[] = {
{ 0, 4, "rel8" },
{ 1, 4, "rel9" },
{ 2, 5, "rel10" },
{ 3, 6, "spare5" },
{ 4, 6, "spare4" },
{ 5, 6, "spare3" },
{ 6, 6, "spare2" },
{ 7, 6, "spare1" }
/* This list is extensible */
};
static unsigned int asn_MAP_AccessStratumRelease_enum2value_1[] = {
2, /* rel10(2) */
0, /* rel8(0) */
1, /* rel9(1) */
7, /* spare1(7) */
6, /* spare2(6) */
5, /* spare3(5) */
4, /* spare4(4) */
3 /* spare5(3) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_AccessStratumRelease_specs_1 = {
asn_MAP_AccessStratumRelease_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_AccessStratumRelease_enum2value_1, /* N => "tag"; sorted by N */
8, /* Number of elements in the maps */
9, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_AccessStratumRelease_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_AccessStratumRelease = {
"AccessStratumRelease",
"AccessStratumRelease",
AccessStratumRelease_free,
AccessStratumRelease_print,
AccessStratumRelease_constraint,
AccessStratumRelease_decode_ber,
AccessStratumRelease_encode_der,
AccessStratumRelease_decode_xer,
AccessStratumRelease_encode_xer,
AccessStratumRelease_decode_uper,
AccessStratumRelease_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AccessStratumRelease_tags_1,
sizeof(asn_DEF_AccessStratumRelease_tags_1)
/sizeof(asn_DEF_AccessStratumRelease_tags_1[0]), /* 1 */
asn_DEF_AccessStratumRelease_tags_1, /* Same as above */
sizeof(asn_DEF_AccessStratumRelease_tags_1)
/sizeof(asn_DEF_AccessStratumRelease_tags_1[0]), /* 1 */
&asn_PER_type_AccessStratumRelease_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_AccessStratumRelease_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,56 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AccessStratumRelease_H_
#define _AccessStratumRelease_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AccessStratumRelease {
AccessStratumRelease_rel8 = 0,
AccessStratumRelease_rel9 = 1,
AccessStratumRelease_rel10 = 2,
AccessStratumRelease_spare5 = 3,
AccessStratumRelease_spare4 = 4,
AccessStratumRelease_spare3 = 5,
AccessStratumRelease_spare2 = 6,
AccessStratumRelease_spare1 = 7
/*
* Enumeration is extensible
*/
} e_AccessStratumRelease;
/* AccessStratumRelease */
typedef long AccessStratumRelease_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AccessStratumRelease;
asn_struct_free_f AccessStratumRelease_free;
asn_struct_print_f AccessStratumRelease_print;
asn_constr_check_f AccessStratumRelease_constraint;
ber_type_decoder_f AccessStratumRelease_decode_ber;
der_type_encoder_f AccessStratumRelease_encode_der;
xer_type_decoder_f AccessStratumRelease_decode_xer;
xer_type_encoder_f AccessStratumRelease_encode_xer;
per_type_decoder_f AccessStratumRelease_decode_uper;
per_type_encoder_f AccessStratumRelease_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _AccessStratumRelease_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,79 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#include "AdditionalReestabInfo.h"
static asn_TYPE_member_t asn_MBR_AdditionalReestabInfo_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AdditionalReestabInfo, cellIdentity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CellIdentity,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"cellIdentity"
},
{ ATF_NOFLAGS, 0, offsetof(struct AdditionalReestabInfo, key_eNodeB_Star),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Key_eNodeB_Star,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"key-eNodeB-Star"
},
{ ATF_NOFLAGS, 0, offsetof(struct AdditionalReestabInfo, shortMAC_I),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ShortMAC_I,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"shortMAC-I"
},
};
static const ber_tlv_tag_t asn_DEF_AdditionalReestabInfo_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_AdditionalReestabInfo_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellIdentity */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* key-eNodeB-Star */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* shortMAC-I */
};
static asn_SEQUENCE_specifics_t asn_SPC_AdditionalReestabInfo_specs_1 = {
sizeof(struct AdditionalReestabInfo),
offsetof(struct AdditionalReestabInfo, _asn_ctx),
asn_MAP_AdditionalReestabInfo_tag2el_1,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AdditionalReestabInfo = {
"AdditionalReestabInfo",
"AdditionalReestabInfo",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalReestabInfo_tags_1,
sizeof(asn_DEF_AdditionalReestabInfo_tags_1)
/sizeof(asn_DEF_AdditionalReestabInfo_tags_1[0]), /* 1 */
asn_DEF_AdditionalReestabInfo_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalReestabInfo_tags_1)
/sizeof(asn_DEF_AdditionalReestabInfo_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AdditionalReestabInfo_1,
3, /* Elements count */
&asn_SPC_AdditionalReestabInfo_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#ifndef _AdditionalReestabInfo_H_
#define _AdditionalReestabInfo_H_
#include <asn_application.h>
/* Including external dependencies */
#include "CellIdentity.h"
#include "Key-eNodeB-Star.h"
#include "ShortMAC-I.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* AdditionalReestabInfo */
typedef struct AdditionalReestabInfo {
CellIdentity_t cellIdentity;
Key_eNodeB_Star_t key_eNodeB_Star;
ShortMAC_I_t shortMAC_I;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AdditionalReestabInfo_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AdditionalReestabInfo;
#ifdef __cplusplus
}
#endif
#endif /* _AdditionalReestabInfo_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,57 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#include "AdditionalReestabInfoList.h"
static asn_per_constraints_t asn_PER_type_AdditionalReestabInfoList_constr_1 GCC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AdditionalReestabInfoList_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_AdditionalReestabInfo,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static const ber_tlv_tag_t asn_DEF_AdditionalReestabInfoList_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_AdditionalReestabInfoList_specs_1 = {
sizeof(struct AdditionalReestabInfoList),
offsetof(struct AdditionalReestabInfoList, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_AdditionalReestabInfoList = {
"AdditionalReestabInfoList",
"AdditionalReestabInfoList",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalReestabInfoList_tags_1,
sizeof(asn_DEF_AdditionalReestabInfoList_tags_1)
/sizeof(asn_DEF_AdditionalReestabInfoList_tags_1[0]), /* 1 */
asn_DEF_AdditionalReestabInfoList_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalReestabInfoList_tags_1)
/sizeof(asn_DEF_AdditionalReestabInfoList_tags_1[0]), /* 1 */
&asn_PER_type_AdditionalReestabInfoList_constr_1,
asn_MBR_AdditionalReestabInfoList_1,
1, /* Single element */
&asn_SPC_AdditionalReestabInfoList_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,43 @@
/*
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-InterNodeDefinitions"
* found in "EUTRA-InterNodeDefinitions.asn"
*/
#ifndef _AdditionalReestabInfoList_H_
#define _AdditionalReestabInfoList_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct AdditionalReestabInfo;
/* AdditionalReestabInfoList */
typedef struct AdditionalReestabInfoList {
A_SEQUENCE_OF(struct AdditionalReestabInfo) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AdditionalReestabInfoList_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AdditionalReestabInfoList;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "AdditionalReestabInfo.h"
#endif /* _AdditionalReestabInfoList_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,209 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AdditionalSI-Info-r9.h"
static int
csg_MemberStatus_r9_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
csg_MemberStatus_r9_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
csg_MemberStatus_r9_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
csg_MemberStatus_r9_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
csg_MemberStatus_r9_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
csg_MemberStatus_r9_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
csg_MemberStatus_r9_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
csg_MemberStatus_r9_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
csg_MemberStatus_r9_2_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
csg_MemberStatus_r9_2_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_csg_MemberStatus_r9_constr_2 = {
{ APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_csg_MemberStatus_r9_value2enum_2[] = {
{ 0, 6, "member" }
};
static unsigned int asn_MAP_csg_MemberStatus_r9_enum2value_2[] = {
0 /* member(0) */
};
static asn_INTEGER_specifics_t asn_SPC_csg_MemberStatus_r9_specs_2 = {
asn_MAP_csg_MemberStatus_r9_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_csg_MemberStatus_r9_enum2value_2, /* N => "tag"; sorted by N */
1, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_csg_MemberStatus_r9_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_csg_MemberStatus_r9_2 = {
"csg-MemberStatus-r9",
"csg-MemberStatus-r9",
csg_MemberStatus_r9_2_free,
csg_MemberStatus_r9_2_print,
csg_MemberStatus_r9_2_constraint,
csg_MemberStatus_r9_2_decode_ber,
csg_MemberStatus_r9_2_encode_der,
csg_MemberStatus_r9_2_decode_xer,
csg_MemberStatus_r9_2_encode_xer,
csg_MemberStatus_r9_2_decode_uper,
csg_MemberStatus_r9_2_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_csg_MemberStatus_r9_tags_2,
sizeof(asn_DEF_csg_MemberStatus_r9_tags_2)
/sizeof(asn_DEF_csg_MemberStatus_r9_tags_2[0]) - 1, /* 1 */
asn_DEF_csg_MemberStatus_r9_tags_2, /* Same as above */
sizeof(asn_DEF_csg_MemberStatus_r9_tags_2)
/sizeof(asn_DEF_csg_MemberStatus_r9_tags_2[0]), /* 2 */
&asn_PER_type_csg_MemberStatus_r9_constr_2,
0, 0, /* Defined elsewhere */
&asn_SPC_csg_MemberStatus_r9_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AdditionalSI_Info_r9_1[] = {
{ ATF_POINTER, 2, offsetof(struct AdditionalSI_Info_r9, csg_MemberStatus_r9),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_csg_MemberStatus_r9_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"csg-MemberStatus-r9"
},
{ ATF_POINTER, 1, offsetof(struct AdditionalSI_Info_r9, csg_Identity_r9),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CSG_Identity,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"csg-Identity-r9"
},
};
static int asn_MAP_AdditionalSI_Info_r9_oms_1[] = { 0, 1 };
static ber_tlv_tag_t asn_DEF_AdditionalSI_Info_r9_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AdditionalSI_Info_r9_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* csg-MemberStatus-r9 at 3458 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* csg-Identity-r9 at 3459 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AdditionalSI_Info_r9_specs_1 = {
sizeof(struct AdditionalSI_Info_r9),
offsetof(struct AdditionalSI_Info_r9, _asn_ctx),
asn_MAP_AdditionalSI_Info_r9_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_AdditionalSI_Info_r9_oms_1, /* Optional members */
2, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AdditionalSI_Info_r9 = {
"AdditionalSI-Info-r9",
"AdditionalSI-Info-r9",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalSI_Info_r9_tags_1,
sizeof(asn_DEF_AdditionalSI_Info_r9_tags_1)
/sizeof(asn_DEF_AdditionalSI_Info_r9_tags_1[0]), /* 1 */
asn_DEF_AdditionalSI_Info_r9_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalSI_Info_r9_tags_1)
/sizeof(asn_DEF_AdditionalSI_Info_r9_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AdditionalSI_Info_r9_1,
2, /* Elements count */
&asn_SPC_AdditionalSI_Info_r9_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,46 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AdditionalSI_Info_r9_H_
#define _AdditionalSI_Info_r9_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#include "CSG-Identity.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AdditionalSI_Info_r9__csg_MemberStatus_r9 {
AdditionalSI_Info_r9__csg_MemberStatus_r9_member = 0
} e_AdditionalSI_Info_r9__csg_MemberStatus_r9;
/* AdditionalSI-Info-r9 */
typedef struct AdditionalSI_Info_r9 {
long *csg_MemberStatus_r9 /* OPTIONAL */;
CSG_Identity_t *csg_Identity_r9 /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AdditionalSI_Info_r9_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_csg_MemberStatus_r9_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_AdditionalSI_Info_r9;
#ifdef __cplusplus
}
#endif
#endif /* _AdditionalSI_Info_r9_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,146 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AdditionalSpectrumEmission.h"
int
AdditionalSpectrumEmission_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 1 && value <= 32)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
AdditionalSpectrumEmission_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
AdditionalSpectrumEmission_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
AdditionalSpectrumEmission_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
AdditionalSpectrumEmission_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
AdditionalSpectrumEmission_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
AdditionalSpectrumEmission_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
AdditionalSpectrumEmission_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
AdditionalSpectrumEmission_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
AdditionalSpectrumEmission_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_AdditionalSpectrumEmission_constr_1 = {
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static ber_tlv_tag_t asn_DEF_AdditionalSpectrumEmission_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_AdditionalSpectrumEmission = {
"AdditionalSpectrumEmission",
"AdditionalSpectrumEmission",
AdditionalSpectrumEmission_free,
AdditionalSpectrumEmission_print,
AdditionalSpectrumEmission_constraint,
AdditionalSpectrumEmission_decode_ber,
AdditionalSpectrumEmission_encode_der,
AdditionalSpectrumEmission_decode_xer,
AdditionalSpectrumEmission_encode_xer,
AdditionalSpectrumEmission_decode_uper,
AdditionalSpectrumEmission_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalSpectrumEmission_tags_1,
sizeof(asn_DEF_AdditionalSpectrumEmission_tags_1)
/sizeof(asn_DEF_AdditionalSpectrumEmission_tags_1[0]), /* 1 */
asn_DEF_AdditionalSpectrumEmission_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalSpectrumEmission_tags_1)
/sizeof(asn_DEF_AdditionalSpectrumEmission_tags_1[0]), /* 1 */
&asn_PER_type_AdditionalSpectrumEmission_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AdditionalSpectrumEmission_H_
#define _AdditionalSpectrumEmission_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* AdditionalSpectrumEmission */
typedef long AdditionalSpectrumEmission_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AdditionalSpectrumEmission;
asn_struct_free_f AdditionalSpectrumEmission_free;
asn_struct_print_f AdditionalSpectrumEmission_print;
asn_constr_check_f AdditionalSpectrumEmission_constraint;
ber_type_decoder_f AdditionalSpectrumEmission_decode_ber;
der_type_encoder_f AdditionalSpectrumEmission_encode_der;
xer_type_decoder_f AdditionalSpectrumEmission_decode_xer;
xer_type_encoder_f AdditionalSpectrumEmission_encode_xer;
per_type_decoder_f AdditionalSpectrumEmission_decode_uper;
per_type_encoder_f AdditionalSpectrumEmission_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _AdditionalSpectrumEmission_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,154 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AllowedMeasBandwidth.h"
int
AllowedMeasBandwidth_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
AllowedMeasBandwidth_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
AllowedMeasBandwidth_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
AllowedMeasBandwidth_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
AllowedMeasBandwidth_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
AllowedMeasBandwidth_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
AllowedMeasBandwidth_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
AllowedMeasBandwidth_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
AllowedMeasBandwidth_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
AllowedMeasBandwidth_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_AllowedMeasBandwidth_constr_1 = {
{ APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_AllowedMeasBandwidth_value2enum_1[] = {
{ 0, 4, "mbw6" },
{ 1, 5, "mbw15" },
{ 2, 5, "mbw25" },
{ 3, 5, "mbw50" },
{ 4, 5, "mbw75" },
{ 5, 6, "mbw100" }
};
static unsigned int asn_MAP_AllowedMeasBandwidth_enum2value_1[] = {
5, /* mbw100(5) */
1, /* mbw15(1) */
2, /* mbw25(2) */
3, /* mbw50(3) */
0, /* mbw6(0) */
4 /* mbw75(4) */
};
static asn_INTEGER_specifics_t asn_SPC_AllowedMeasBandwidth_specs_1 = {
asn_MAP_AllowedMeasBandwidth_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_AllowedMeasBandwidth_enum2value_1, /* N => "tag"; sorted by N */
6, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_AllowedMeasBandwidth_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_AllowedMeasBandwidth = {
"AllowedMeasBandwidth",
"AllowedMeasBandwidth",
AllowedMeasBandwidth_free,
AllowedMeasBandwidth_print,
AllowedMeasBandwidth_constraint,
AllowedMeasBandwidth_decode_ber,
AllowedMeasBandwidth_encode_der,
AllowedMeasBandwidth_decode_xer,
AllowedMeasBandwidth_encode_xer,
AllowedMeasBandwidth_decode_uper,
AllowedMeasBandwidth_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AllowedMeasBandwidth_tags_1,
sizeof(asn_DEF_AllowedMeasBandwidth_tags_1)
/sizeof(asn_DEF_AllowedMeasBandwidth_tags_1[0]), /* 1 */
asn_DEF_AllowedMeasBandwidth_tags_1, /* Same as above */
sizeof(asn_DEF_AllowedMeasBandwidth_tags_1)
/sizeof(asn_DEF_AllowedMeasBandwidth_tags_1[0]), /* 1 */
&asn_PER_type_AllowedMeasBandwidth_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_AllowedMeasBandwidth_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AllowedMeasBandwidth_H_
#define _AllowedMeasBandwidth_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AllowedMeasBandwidth {
AllowedMeasBandwidth_mbw6 = 0,
AllowedMeasBandwidth_mbw15 = 1,
AllowedMeasBandwidth_mbw25 = 2,
AllowedMeasBandwidth_mbw50 = 3,
AllowedMeasBandwidth_mbw75 = 4,
AllowedMeasBandwidth_mbw100 = 5
} e_AllowedMeasBandwidth;
/* AllowedMeasBandwidth */
typedef long AllowedMeasBandwidth_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AllowedMeasBandwidth;
asn_struct_free_f AllowedMeasBandwidth_free;
asn_struct_print_f AllowedMeasBandwidth_print;
asn_constr_check_f AllowedMeasBandwidth_constraint;
ber_type_decoder_f AllowedMeasBandwidth_decode_ber;
der_type_encoder_f AllowedMeasBandwidth_encode_der;
xer_type_decoder_f AllowedMeasBandwidth_decode_xer;
xer_type_encoder_f AllowedMeasBandwidth_encode_xer;
per_type_decoder_f AllowedMeasBandwidth_decode_uper;
per_type_encoder_f AllowedMeasBandwidth_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _AllowedMeasBandwidth_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,203 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AntennaInfoCommon.h"
static int
antennaPortsCount_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
antennaPortsCount_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
antennaPortsCount_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
antennaPortsCount_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
antennaPortsCount_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
antennaPortsCount_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
antennaPortsCount_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
antennaPortsCount_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
antennaPortsCount_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
antennaPortsCount_2_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
antennaPortsCount_2_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_antennaPortsCount_constr_2 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_antennaPortsCount_value2enum_2[] = {
{ 0, 3, "an1" },
{ 1, 3, "an2" },
{ 2, 3, "an4" },
{ 3, 6, "spare1" }
};
static unsigned int asn_MAP_antennaPortsCount_enum2value_2[] = {
0, /* an1(0) */
1, /* an2(1) */
2, /* an4(2) */
3 /* spare1(3) */
};
static asn_INTEGER_specifics_t asn_SPC_antennaPortsCount_specs_2 = {
asn_MAP_antennaPortsCount_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_antennaPortsCount_enum2value_2, /* N => "tag"; sorted by N */
4, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_antennaPortsCount_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_antennaPortsCount_2 = {
"antennaPortsCount",
"antennaPortsCount",
antennaPortsCount_2_free,
antennaPortsCount_2_print,
antennaPortsCount_2_constraint,
antennaPortsCount_2_decode_ber,
antennaPortsCount_2_encode_der,
antennaPortsCount_2_decode_xer,
antennaPortsCount_2_encode_xer,
antennaPortsCount_2_decode_uper,
antennaPortsCount_2_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_antennaPortsCount_tags_2,
sizeof(asn_DEF_antennaPortsCount_tags_2)
/sizeof(asn_DEF_antennaPortsCount_tags_2[0]) - 1, /* 1 */
asn_DEF_antennaPortsCount_tags_2, /* Same as above */
sizeof(asn_DEF_antennaPortsCount_tags_2)
/sizeof(asn_DEF_antennaPortsCount_tags_2[0]), /* 2 */
&asn_PER_type_antennaPortsCount_constr_2,
0, 0, /* Defined elsewhere */
&asn_SPC_antennaPortsCount_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AntennaInfoCommon_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoCommon, antennaPortsCount),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_antennaPortsCount_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"antennaPortsCount"
},
};
static ber_tlv_tag_t asn_DEF_AntennaInfoCommon_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AntennaInfoCommon_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* antennaPortsCount at 1799 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AntennaInfoCommon_specs_1 = {
sizeof(struct AntennaInfoCommon),
offsetof(struct AntennaInfoCommon, _asn_ctx),
asn_MAP_AntennaInfoCommon_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AntennaInfoCommon = {
"AntennaInfoCommon",
"AntennaInfoCommon",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AntennaInfoCommon_tags_1,
sizeof(asn_DEF_AntennaInfoCommon_tags_1)
/sizeof(asn_DEF_AntennaInfoCommon_tags_1[0]), /* 1 */
asn_DEF_AntennaInfoCommon_tags_1, /* Same as above */
sizeof(asn_DEF_AntennaInfoCommon_tags_1)
/sizeof(asn_DEF_AntennaInfoCommon_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AntennaInfoCommon_1,
1, /* Elements count */
&asn_SPC_AntennaInfoCommon_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AntennaInfoCommon_H_
#define _AntennaInfoCommon_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AntennaInfoCommon__antennaPortsCount {
AntennaInfoCommon__antennaPortsCount_an1 = 0,
AntennaInfoCommon__antennaPortsCount_an2 = 1,
AntennaInfoCommon__antennaPortsCount_an4 = 2,
AntennaInfoCommon__antennaPortsCount_spare1 = 3
} e_AntennaInfoCommon__antennaPortsCount;
/* AntennaInfoCommon */
typedef struct AntennaInfoCommon {
long antennaPortsCount;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AntennaInfoCommon_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_antennaPortsCount_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_AntennaInfoCommon;
#ifdef __cplusplus
}
#endif
#endif /* _AntennaInfoCommon_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,451 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AntennaInfoDedicated-r10.h"
static int
transmissionMode_r10_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
transmissionMode_r10_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
transmissionMode_r10_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
transmissionMode_r10_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
transmissionMode_r10_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
transmissionMode_r10_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
transmissionMode_r10_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
transmissionMode_r10_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
transmissionMode_r10_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
transmissionMode_r10_2_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
transmissionMode_r10_2_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static int
setup_22_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
setup_22_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
setup_22_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
setup_22_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
setup_22_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
setup_22_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
setup_22_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
setup_22_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
setup_22_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
setup_22_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
setup_22_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
setup_22_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
setup_22_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
setup_22_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
setup_22_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
setup_22_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
setup_22_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
setup_22_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_transmissionMode_r10_constr_2 = {
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_setup_constr_22 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ue_TransmitAntennaSelection_constr_20 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_transmissionMode_r10_value2enum_2[] = {
{ 0, 3, "tm1" },
{ 1, 3, "tm2" },
{ 2, 3, "tm3" },
{ 3, 3, "tm4" },
{ 4, 3, "tm5" },
{ 5, 3, "tm6" },
{ 6, 3, "tm7" },
{ 7, 8, "tm8-v920" },
{ 8, 9, "tm9-v1020" },
{ 9, 6, "spare7" },
{ 10, 6, "spare6" },
{ 11, 6, "spare5" },
{ 12, 6, "spare4" },
{ 13, 6, "spare3" },
{ 14, 6, "spare2" },
{ 15, 6, "spare1" }
};
static unsigned int asn_MAP_transmissionMode_r10_enum2value_2[] = {
15, /* spare1(15) */
14, /* spare2(14) */
13, /* spare3(13) */
12, /* spare4(12) */
11, /* spare5(11) */
10, /* spare6(10) */
9, /* spare7(9) */
0, /* tm1(0) */
1, /* tm2(1) */
2, /* tm3(2) */
3, /* tm4(3) */
4, /* tm5(4) */
5, /* tm6(5) */
6, /* tm7(6) */
7, /* tm8-v920(7) */
8 /* tm9-v1020(8) */
};
static asn_INTEGER_specifics_t asn_SPC_transmissionMode_r10_specs_2 = {
asn_MAP_transmissionMode_r10_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_transmissionMode_r10_enum2value_2, /* N => "tag"; sorted by N */
16, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_transmissionMode_r10_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_transmissionMode_r10_2 = {
"transmissionMode-r10",
"transmissionMode-r10",
transmissionMode_r10_2_free,
transmissionMode_r10_2_print,
transmissionMode_r10_2_constraint,
transmissionMode_r10_2_decode_ber,
transmissionMode_r10_2_encode_der,
transmissionMode_r10_2_decode_xer,
transmissionMode_r10_2_encode_xer,
transmissionMode_r10_2_decode_uper,
transmissionMode_r10_2_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_transmissionMode_r10_tags_2,
sizeof(asn_DEF_transmissionMode_r10_tags_2)
/sizeof(asn_DEF_transmissionMode_r10_tags_2[0]) - 1, /* 1 */
asn_DEF_transmissionMode_r10_tags_2, /* Same as above */
sizeof(asn_DEF_transmissionMode_r10_tags_2)
/sizeof(asn_DEF_transmissionMode_r10_tags_2[0]), /* 2 */
&asn_PER_type_transmissionMode_r10_constr_2,
0, 0, /* Defined elsewhere */
&asn_SPC_transmissionMode_r10_specs_2 /* Additional specs */
};
static asn_INTEGER_enum_map_t asn_MAP_setup_value2enum_22[] = {
{ 0, 10, "closedLoop" },
{ 1, 8, "openLoop" }
};
static unsigned int asn_MAP_setup_enum2value_22[] = {
0, /* closedLoop(0) */
1 /* openLoop(1) */
};
static asn_INTEGER_specifics_t asn_SPC_setup_specs_22 = {
asn_MAP_setup_value2enum_22, /* "tag" => N; sorted by tag */
asn_MAP_setup_enum2value_22, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_setup_tags_22[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_setup_22 = {
"setup",
"setup",
setup_22_free,
setup_22_print,
setup_22_constraint,
setup_22_decode_ber,
setup_22_encode_der,
setup_22_decode_xer,
setup_22_encode_xer,
setup_22_decode_uper,
setup_22_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_setup_tags_22,
sizeof(asn_DEF_setup_tags_22)
/sizeof(asn_DEF_setup_tags_22[0]) - 1, /* 1 */
asn_DEF_setup_tags_22, /* Same as above */
sizeof(asn_DEF_setup_tags_22)
/sizeof(asn_DEF_setup_tags_22[0]), /* 2 */
&asn_PER_type_setup_constr_22,
0, 0, /* Defined elsewhere */
&asn_SPC_setup_specs_22 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_ue_TransmitAntennaSelection_20[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated_r10__ue_TransmitAntennaSelection, choice.release),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"release"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated_r10__ue_TransmitAntennaSelection, choice.setup),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_setup_22,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"setup"
},
};
static asn_TYPE_tag2member_t asn_MAP_ue_TransmitAntennaSelection_tag2el_20[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release at 1836 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup at 1837 */
};
static asn_CHOICE_specifics_t asn_SPC_ue_TransmitAntennaSelection_specs_20 = {
sizeof(struct AntennaInfoDedicated_r10__ue_TransmitAntennaSelection),
offsetof(struct AntennaInfoDedicated_r10__ue_TransmitAntennaSelection, _asn_ctx),
offsetof(struct AntennaInfoDedicated_r10__ue_TransmitAntennaSelection, present),
sizeof(((struct AntennaInfoDedicated_r10__ue_TransmitAntennaSelection *)0)->present),
asn_MAP_ue_TransmitAntennaSelection_tag2el_20,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ue_TransmitAntennaSelection_20 = {
"ue-TransmitAntennaSelection",
"ue-TransmitAntennaSelection",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_ue_TransmitAntennaSelection_constr_20,
asn_MBR_ue_TransmitAntennaSelection_20,
2, /* Elements count */
&asn_SPC_ue_TransmitAntennaSelection_specs_20 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AntennaInfoDedicated_r10_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated_r10, transmissionMode_r10),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_transmissionMode_r10_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"transmissionMode-r10"
},
{ ATF_POINTER, 1, offsetof(struct AntennaInfoDedicated_r10, codebookSubsetRestriction_r10),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"codebookSubsetRestriction-r10"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated_r10, ue_TransmitAntennaSelection),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ue_TransmitAntennaSelection_20,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ue-TransmitAntennaSelection"
},
};
static int asn_MAP_AntennaInfoDedicated_r10_oms_1[] = { 1 };
static ber_tlv_tag_t asn_DEF_AntennaInfoDedicated_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AntennaInfoDedicated_r10_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transmissionMode-r10 at 1831 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* codebookSubsetRestriction-r10 at 1834 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ue-TransmitAntennaSelection at 1836 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AntennaInfoDedicated_r10_specs_1 = {
sizeof(struct AntennaInfoDedicated_r10),
offsetof(struct AntennaInfoDedicated_r10, _asn_ctx),
asn_MAP_AntennaInfoDedicated_r10_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_AntennaInfoDedicated_r10_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AntennaInfoDedicated_r10 = {
"AntennaInfoDedicated-r10",
"AntennaInfoDedicated-r10",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AntennaInfoDedicated_r10_tags_1,
sizeof(asn_DEF_AntennaInfoDedicated_r10_tags_1)
/sizeof(asn_DEF_AntennaInfoDedicated_r10_tags_1[0]), /* 1 */
asn_DEF_AntennaInfoDedicated_r10_tags_1, /* Same as above */
sizeof(asn_DEF_AntennaInfoDedicated_r10_tags_1)
/sizeof(asn_DEF_AntennaInfoDedicated_r10_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AntennaInfoDedicated_r10_1,
3, /* Elements count */
&asn_SPC_AntennaInfoDedicated_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,83 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AntennaInfoDedicated_r10_H_
#define _AntennaInfoDedicated_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#include <BIT_STRING.h>
#include <NULL.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AntennaInfoDedicated_r10__transmissionMode_r10 {
AntennaInfoDedicated_r10__transmissionMode_r10_tm1 = 0,
AntennaInfoDedicated_r10__transmissionMode_r10_tm2 = 1,
AntennaInfoDedicated_r10__transmissionMode_r10_tm3 = 2,
AntennaInfoDedicated_r10__transmissionMode_r10_tm4 = 3,
AntennaInfoDedicated_r10__transmissionMode_r10_tm5 = 4,
AntennaInfoDedicated_r10__transmissionMode_r10_tm6 = 5,
AntennaInfoDedicated_r10__transmissionMode_r10_tm7 = 6,
AntennaInfoDedicated_r10__transmissionMode_r10_tm8_v920 = 7,
AntennaInfoDedicated_r10__transmissionMode_r10_tm9_v1020 = 8,
AntennaInfoDedicated_r10__transmissionMode_r10_spare7 = 9,
AntennaInfoDedicated_r10__transmissionMode_r10_spare6 = 10,
AntennaInfoDedicated_r10__transmissionMode_r10_spare5 = 11,
AntennaInfoDedicated_r10__transmissionMode_r10_spare4 = 12,
AntennaInfoDedicated_r10__transmissionMode_r10_spare3 = 13,
AntennaInfoDedicated_r10__transmissionMode_r10_spare2 = 14,
AntennaInfoDedicated_r10__transmissionMode_r10_spare1 = 15
} e_AntennaInfoDedicated_r10__transmissionMode_r10;
typedef enum AntennaInfoDedicated_r10__ue_TransmitAntennaSelection_PR {
AntennaInfoDedicated_r10__ue_TransmitAntennaSelection_PR_NOTHING, /* No components present */
AntennaInfoDedicated_r10__ue_TransmitAntennaSelection_PR_release,
AntennaInfoDedicated_r10__ue_TransmitAntennaSelection_PR_setup
} AntennaInfoDedicated_r10__ue_TransmitAntennaSelection_PR;
typedef enum AntennaInfoDedicated_r10__ue_TransmitAntennaSelection__setup {
AntennaInfoDedicated_r10__ue_TransmitAntennaSelection__setup_closedLoop = 0,
AntennaInfoDedicated_r10__ue_TransmitAntennaSelection__setup_openLoop = 1
} e_AntennaInfoDedicated_r10__ue_TransmitAntennaSelection__setup;
/* AntennaInfoDedicated-r10 */
typedef struct AntennaInfoDedicated_r10 {
long transmissionMode_r10;
BIT_STRING_t *codebookSubsetRestriction_r10 /* OPTIONAL */;
struct AntennaInfoDedicated_r10__ue_TransmitAntennaSelection {
AntennaInfoDedicated_r10__ue_TransmitAntennaSelection_PR present;
union AntennaInfoDedicated_r10__ue_TransmitAntennaSelection_u {
NULL_t release;
long setup;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ue_TransmitAntennaSelection;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AntennaInfoDedicated_r10_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_transmissionMode_r10_2; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_setup_22; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_AntennaInfoDedicated_r10;
#ifdef __cplusplus
}
#endif
#endif /* _AntennaInfoDedicated_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,197 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AntennaInfoDedicated-v920.h"
static int
memb_n2TxAntenna_tm8_r9_constraint_2(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 6)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n4TxAntenna_tm8_r9_constraint_2(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 32)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_memb_n2TxAntenna_tm8_r9_constr_3 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n4TxAntenna_tm8_r9_constr_4 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_codebookSubsetRestriction_v920_constr_2 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_codebookSubsetRestriction_v920_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated_v920__codebookSubsetRestriction_v920, choice.n2TxAntenna_tm8_r9),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n2TxAntenna_tm8_r9_constraint_2,
&asn_PER_memb_n2TxAntenna_tm8_r9_constr_3,
0,
"n2TxAntenna-tm8-r9"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated_v920__codebookSubsetRestriction_v920, choice.n4TxAntenna_tm8_r9),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n4TxAntenna_tm8_r9_constraint_2,
&asn_PER_memb_n4TxAntenna_tm8_r9_constr_4,
0,
"n4TxAntenna-tm8-r9"
},
};
static asn_TYPE_tag2member_t asn_MAP_codebookSubsetRestriction_v920_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* n2TxAntenna-tm8-r9 at 1824 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* n4TxAntenna-tm8-r9 at 1825 */
};
static asn_CHOICE_specifics_t asn_SPC_codebookSubsetRestriction_v920_specs_2 = {
sizeof(struct AntennaInfoDedicated_v920__codebookSubsetRestriction_v920),
offsetof(struct AntennaInfoDedicated_v920__codebookSubsetRestriction_v920, _asn_ctx),
offsetof(struct AntennaInfoDedicated_v920__codebookSubsetRestriction_v920, present),
sizeof(((struct AntennaInfoDedicated_v920__codebookSubsetRestriction_v920 *)0)->present),
asn_MAP_codebookSubsetRestriction_v920_tag2el_2,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_codebookSubsetRestriction_v920_2 = {
"codebookSubsetRestriction-v920",
"codebookSubsetRestriction-v920",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_codebookSubsetRestriction_v920_constr_2,
asn_MBR_codebookSubsetRestriction_v920_2,
2, /* Elements count */
&asn_SPC_codebookSubsetRestriction_v920_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AntennaInfoDedicated_v920_1[] = {
{ ATF_POINTER, 1, offsetof(struct AntennaInfoDedicated_v920, codebookSubsetRestriction_v920),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_codebookSubsetRestriction_v920_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"codebookSubsetRestriction-v920"
},
};
static int asn_MAP_AntennaInfoDedicated_v920_oms_1[] = { 0 };
static ber_tlv_tag_t asn_DEF_AntennaInfoDedicated_v920_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AntennaInfoDedicated_v920_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* codebookSubsetRestriction-v920 at 1824 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AntennaInfoDedicated_v920_specs_1 = {
sizeof(struct AntennaInfoDedicated_v920),
offsetof(struct AntennaInfoDedicated_v920, _asn_ctx),
asn_MAP_AntennaInfoDedicated_v920_tag2el_1,
1, /* Count of tags in the map */
asn_MAP_AntennaInfoDedicated_v920_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AntennaInfoDedicated_v920 = {
"AntennaInfoDedicated-v920",
"AntennaInfoDedicated-v920",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AntennaInfoDedicated_v920_tags_1,
sizeof(asn_DEF_AntennaInfoDedicated_v920_tags_1)
/sizeof(asn_DEF_AntennaInfoDedicated_v920_tags_1[0]), /* 1 */
asn_DEF_AntennaInfoDedicated_v920_tags_1, /* Same as above */
sizeof(asn_DEF_AntennaInfoDedicated_v920_tags_1)
/sizeof(asn_DEF_AntennaInfoDedicated_v920_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AntennaInfoDedicated_v920_1,
1, /* Elements count */
&asn_SPC_AntennaInfoDedicated_v920_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,55 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AntennaInfoDedicated_v920_H_
#define _AntennaInfoDedicated_v920_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AntennaInfoDedicated_v920__codebookSubsetRestriction_v920_PR {
AntennaInfoDedicated_v920__codebookSubsetRestriction_v920_PR_NOTHING, /* No components present */
AntennaInfoDedicated_v920__codebookSubsetRestriction_v920_PR_n2TxAntenna_tm8_r9,
AntennaInfoDedicated_v920__codebookSubsetRestriction_v920_PR_n4TxAntenna_tm8_r9
} AntennaInfoDedicated_v920__codebookSubsetRestriction_v920_PR;
/* AntennaInfoDedicated-v920 */
typedef struct AntennaInfoDedicated_v920 {
struct AntennaInfoDedicated_v920__codebookSubsetRestriction_v920 {
AntennaInfoDedicated_v920__codebookSubsetRestriction_v920_PR present;
union AntennaInfoDedicated_v920__codebookSubsetRestriction_v920_u {
BIT_STRING_t n2TxAntenna_tm8_r9;
BIT_STRING_t n4TxAntenna_tm8_r9;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} *codebookSubsetRestriction_v920;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AntennaInfoDedicated_v920_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AntennaInfoDedicated_v920;
#ifdef __cplusplus
}
#endif
#endif /* _AntennaInfoDedicated_v920_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,846 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AntennaInfoDedicated.h"
static int
transmissionMode_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
transmissionMode_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
transmissionMode_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
transmissionMode_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
transmissionMode_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
transmissionMode_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
transmissionMode_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
transmissionMode_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
transmissionMode_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
transmissionMode_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
transmissionMode_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
transmissionMode_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
transmissionMode_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
transmissionMode_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
transmissionMode_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
transmissionMode_2_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
transmissionMode_2_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
transmissionMode_2_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static int
memb_n2TxAntenna_tm3_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 2)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n4TxAntenna_tm3_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 4)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n2TxAntenna_tm4_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 6)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n4TxAntenna_tm4_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 64)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n2TxAntenna_tm5_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 4)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n4TxAntenna_tm5_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 16)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n2TxAntenna_tm6_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 4)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_n4TxAntenna_tm6_constraint_11(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 16)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
setup_22_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
setup_22_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
setup_22_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
setup_22_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
setup_22_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
setup_22_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
setup_22_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
setup_22_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
setup_22_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
setup_22_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
setup_22_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
setup_22_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
setup_22_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
setup_22_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
setup_22_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
setup_22_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
setup_22_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
setup_22_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_transmissionMode_constr_2 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n2TxAntenna_tm3_constr_12 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n4TxAntenna_tm3_constr_13 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n2TxAntenna_tm4_constr_14 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n4TxAntenna_tm4_constr_15 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n2TxAntenna_tm5_constr_16 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n4TxAntenna_tm5_constr_17 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n2TxAntenna_tm6_constr_18 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_n4TxAntenna_tm6_constr_19 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_codebookSubsetRestriction_constr_11 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_setup_constr_22 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ue_TransmitAntennaSelection_constr_20 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_transmissionMode_value2enum_2[] = {
{ 0, 3, "tm1" },
{ 1, 3, "tm2" },
{ 2, 3, "tm3" },
{ 3, 3, "tm4" },
{ 4, 3, "tm5" },
{ 5, 3, "tm6" },
{ 6, 3, "tm7" },
{ 7, 8, "tm8-v920" }
};
static unsigned int asn_MAP_transmissionMode_enum2value_2[] = {
0, /* tm1(0) */
1, /* tm2(1) */
2, /* tm3(2) */
3, /* tm4(3) */
4, /* tm5(4) */
5, /* tm6(5) */
6, /* tm7(6) */
7 /* tm8-v920(7) */
};
static asn_INTEGER_specifics_t asn_SPC_transmissionMode_specs_2 = {
asn_MAP_transmissionMode_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_transmissionMode_enum2value_2, /* N => "tag"; sorted by N */
8, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_transmissionMode_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_transmissionMode_2 = {
"transmissionMode",
"transmissionMode",
transmissionMode_2_free,
transmissionMode_2_print,
transmissionMode_2_constraint,
transmissionMode_2_decode_ber,
transmissionMode_2_encode_der,
transmissionMode_2_decode_xer,
transmissionMode_2_encode_xer,
transmissionMode_2_decode_uper,
transmissionMode_2_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_transmissionMode_tags_2,
sizeof(asn_DEF_transmissionMode_tags_2)
/sizeof(asn_DEF_transmissionMode_tags_2[0]) - 1, /* 1 */
asn_DEF_transmissionMode_tags_2, /* Same as above */
sizeof(asn_DEF_transmissionMode_tags_2)
/sizeof(asn_DEF_transmissionMode_tags_2[0]), /* 2 */
&asn_PER_type_transmissionMode_constr_2,
0, 0, /* Defined elsewhere */
&asn_SPC_transmissionMode_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_codebookSubsetRestriction_11[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n2TxAntenna_tm3),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n2TxAntenna_tm3_constraint_11,
&asn_PER_memb_n2TxAntenna_tm3_constr_12,
0,
"n2TxAntenna-tm3"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n4TxAntenna_tm3),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n4TxAntenna_tm3_constraint_11,
&asn_PER_memb_n4TxAntenna_tm3_constr_13,
0,
"n4TxAntenna-tm3"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n2TxAntenna_tm4),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n2TxAntenna_tm4_constraint_11,
&asn_PER_memb_n2TxAntenna_tm4_constr_14,
0,
"n2TxAntenna-tm4"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n4TxAntenna_tm4),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n4TxAntenna_tm4_constraint_11,
&asn_PER_memb_n4TxAntenna_tm4_constr_15,
0,
"n4TxAntenna-tm4"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n2TxAntenna_tm5),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n2TxAntenna_tm5_constraint_11,
&asn_PER_memb_n2TxAntenna_tm5_constr_16,
0,
"n2TxAntenna-tm5"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n4TxAntenna_tm5),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n4TxAntenna_tm5_constraint_11,
&asn_PER_memb_n4TxAntenna_tm5_constr_17,
0,
"n4TxAntenna-tm5"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n2TxAntenna_tm6),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n2TxAntenna_tm6_constraint_11,
&asn_PER_memb_n2TxAntenna_tm6_constr_18,
0,
"n2TxAntenna-tm6"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, choice.n4TxAntenna_tm6),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
memb_n4TxAntenna_tm6_constraint_11,
&asn_PER_memb_n4TxAntenna_tm6_constr_19,
0,
"n4TxAntenna-tm6"
},
};
static asn_TYPE_tag2member_t asn_MAP_codebookSubsetRestriction_tag2el_11[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* n2TxAntenna-tm3 at 1807 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* n4TxAntenna-tm3 at 1808 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* n2TxAntenna-tm4 at 1809 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* n4TxAntenna-tm4 at 1810 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* n2TxAntenna-tm5 at 1811 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* n4TxAntenna-tm5 at 1812 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* n2TxAntenna-tm6 at 1813 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* n4TxAntenna-tm6 at 1814 */
};
static asn_CHOICE_specifics_t asn_SPC_codebookSubsetRestriction_specs_11 = {
sizeof(struct AntennaInfoDedicated__codebookSubsetRestriction),
offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, _asn_ctx),
offsetof(struct AntennaInfoDedicated__codebookSubsetRestriction, present),
sizeof(((struct AntennaInfoDedicated__codebookSubsetRestriction *)0)->present),
asn_MAP_codebookSubsetRestriction_tag2el_11,
8, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_codebookSubsetRestriction_11 = {
"codebookSubsetRestriction",
"codebookSubsetRestriction",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_codebookSubsetRestriction_constr_11,
asn_MBR_codebookSubsetRestriction_11,
8, /* Elements count */
&asn_SPC_codebookSubsetRestriction_specs_11 /* Additional specs */
};
static asn_INTEGER_enum_map_t asn_MAP_setup_value2enum_22[] = {
{ 0, 10, "closedLoop" },
{ 1, 8, "openLoop" }
};
static unsigned int asn_MAP_setup_enum2value_22[] = {
0, /* closedLoop(0) */
1 /* openLoop(1) */
};
static asn_INTEGER_specifics_t asn_SPC_setup_specs_22 = {
asn_MAP_setup_value2enum_22, /* "tag" => N; sorted by tag */
asn_MAP_setup_enum2value_22, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_setup_tags_22[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_setup_22 = {
"setup",
"setup",
setup_22_free,
setup_22_print,
setup_22_constraint,
setup_22_decode_ber,
setup_22_encode_der,
setup_22_decode_xer,
setup_22_encode_xer,
setup_22_decode_uper,
setup_22_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_setup_tags_22,
sizeof(asn_DEF_setup_tags_22)
/sizeof(asn_DEF_setup_tags_22[0]) - 1, /* 1 */
asn_DEF_setup_tags_22, /* Same as above */
sizeof(asn_DEF_setup_tags_22)
/sizeof(asn_DEF_setup_tags_22[0]), /* 2 */
&asn_PER_type_setup_constr_22,
0, 0, /* Defined elsewhere */
&asn_SPC_setup_specs_22 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_ue_TransmitAntennaSelection_20[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__ue_TransmitAntennaSelection, choice.release),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"release"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated__ue_TransmitAntennaSelection, choice.setup),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_setup_22,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"setup"
},
};
static asn_TYPE_tag2member_t asn_MAP_ue_TransmitAntennaSelection_tag2el_20[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release at 1817 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup at 1818 */
};
static asn_CHOICE_specifics_t asn_SPC_ue_TransmitAntennaSelection_specs_20 = {
sizeof(struct AntennaInfoDedicated__ue_TransmitAntennaSelection),
offsetof(struct AntennaInfoDedicated__ue_TransmitAntennaSelection, _asn_ctx),
offsetof(struct AntennaInfoDedicated__ue_TransmitAntennaSelection, present),
sizeof(((struct AntennaInfoDedicated__ue_TransmitAntennaSelection *)0)->present),
asn_MAP_ue_TransmitAntennaSelection_tag2el_20,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ue_TransmitAntennaSelection_20 = {
"ue-TransmitAntennaSelection",
"ue-TransmitAntennaSelection",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_ue_TransmitAntennaSelection_constr_20,
asn_MBR_ue_TransmitAntennaSelection_20,
2, /* Elements count */
&asn_SPC_ue_TransmitAntennaSelection_specs_20 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AntennaInfoDedicated_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated, transmissionMode),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_transmissionMode_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"transmissionMode"
},
{ ATF_POINTER, 1, offsetof(struct AntennaInfoDedicated, codebookSubsetRestriction),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_codebookSubsetRestriction_11,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"codebookSubsetRestriction"
},
{ ATF_NOFLAGS, 0, offsetof(struct AntennaInfoDedicated, ue_TransmitAntennaSelection),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_ue_TransmitAntennaSelection_20,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ue-TransmitAntennaSelection"
},
};
static int asn_MAP_AntennaInfoDedicated_oms_1[] = { 1 };
static ber_tlv_tag_t asn_DEF_AntennaInfoDedicated_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AntennaInfoDedicated_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transmissionMode at 1804 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* codebookSubsetRestriction at 1807 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ue-TransmitAntennaSelection at 1817 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AntennaInfoDedicated_specs_1 = {
sizeof(struct AntennaInfoDedicated),
offsetof(struct AntennaInfoDedicated, _asn_ctx),
asn_MAP_AntennaInfoDedicated_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_AntennaInfoDedicated_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AntennaInfoDedicated = {
"AntennaInfoDedicated",
"AntennaInfoDedicated",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AntennaInfoDedicated_tags_1,
sizeof(asn_DEF_AntennaInfoDedicated_tags_1)
/sizeof(asn_DEF_AntennaInfoDedicated_tags_1[0]), /* 1 */
asn_DEF_AntennaInfoDedicated_tags_1, /* Same as above */
sizeof(asn_DEF_AntennaInfoDedicated_tags_1)
/sizeof(asn_DEF_AntennaInfoDedicated_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AntennaInfoDedicated_1,
3, /* Elements count */
&asn_SPC_AntennaInfoDedicated_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,101 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AntennaInfoDedicated_H_
#define _AntennaInfoDedicated_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#include <BIT_STRING.h>
#include <constr_CHOICE.h>
#include <NULL.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AntennaInfoDedicated__transmissionMode {
AntennaInfoDedicated__transmissionMode_tm1 = 0,
AntennaInfoDedicated__transmissionMode_tm2 = 1,
AntennaInfoDedicated__transmissionMode_tm3 = 2,
AntennaInfoDedicated__transmissionMode_tm4 = 3,
AntennaInfoDedicated__transmissionMode_tm5 = 4,
AntennaInfoDedicated__transmissionMode_tm6 = 5,
AntennaInfoDedicated__transmissionMode_tm7 = 6,
AntennaInfoDedicated__transmissionMode_tm8_v920 = 7
} e_AntennaInfoDedicated__transmissionMode;
typedef enum AntennaInfoDedicated__codebookSubsetRestriction_PR {
AntennaInfoDedicated__codebookSubsetRestriction_PR_NOTHING, /* No components present */
AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm3,
AntennaInfoDedicated__codebookSubsetRestriction_PR_n4TxAntenna_tm3,
AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm4,
AntennaInfoDedicated__codebookSubsetRestriction_PR_n4TxAntenna_tm4,
AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm5,
AntennaInfoDedicated__codebookSubsetRestriction_PR_n4TxAntenna_tm5,
AntennaInfoDedicated__codebookSubsetRestriction_PR_n2TxAntenna_tm6,
AntennaInfoDedicated__codebookSubsetRestriction_PR_n4TxAntenna_tm6
} AntennaInfoDedicated__codebookSubsetRestriction_PR;
typedef enum AntennaInfoDedicated__ue_TransmitAntennaSelection_PR {
AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_NOTHING, /* No components present */
AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_release,
AntennaInfoDedicated__ue_TransmitAntennaSelection_PR_setup
} AntennaInfoDedicated__ue_TransmitAntennaSelection_PR;
typedef enum AntennaInfoDedicated__ue_TransmitAntennaSelection__setup {
AntennaInfoDedicated__ue_TransmitAntennaSelection__setup_closedLoop = 0,
AntennaInfoDedicated__ue_TransmitAntennaSelection__setup_openLoop = 1
} e_AntennaInfoDedicated__ue_TransmitAntennaSelection__setup;
/* AntennaInfoDedicated */
typedef struct AntennaInfoDedicated {
long transmissionMode;
struct AntennaInfoDedicated__codebookSubsetRestriction {
AntennaInfoDedicated__codebookSubsetRestriction_PR present;
union AntennaInfoDedicated__codebookSubsetRestriction_u {
BIT_STRING_t n2TxAntenna_tm3;
BIT_STRING_t n4TxAntenna_tm3;
BIT_STRING_t n2TxAntenna_tm4;
BIT_STRING_t n4TxAntenna_tm4;
BIT_STRING_t n2TxAntenna_tm5;
BIT_STRING_t n4TxAntenna_tm5;
BIT_STRING_t n2TxAntenna_tm6;
BIT_STRING_t n4TxAntenna_tm6;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} *codebookSubsetRestriction;
struct AntennaInfoDedicated__ue_TransmitAntennaSelection {
AntennaInfoDedicated__ue_TransmitAntennaSelection_PR present;
union AntennaInfoDedicated__ue_TransmitAntennaSelection_u {
NULL_t release;
long setup;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} ue_TransmitAntennaSelection;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AntennaInfoDedicated_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_transmissionMode_2; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_setup_22; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_AntennaInfoDedicated;
#ifdef __cplusplus
}
#endif
#endif /* _AntennaInfoDedicated_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,360 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AntennaInfoUL-r10.h"
static int
transmissionModeUL_r10_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
transmissionModeUL_r10_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
transmissionModeUL_r10_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
transmissionModeUL_r10_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
transmissionModeUL_r10_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
transmissionModeUL_r10_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
transmissionModeUL_r10_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
transmissionModeUL_r10_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
transmissionModeUL_r10_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
transmissionModeUL_r10_2_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
transmissionModeUL_r10_2_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static int
fourAntennaPortActivated_r10_11_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
fourAntennaPortActivated_r10_11_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
fourAntennaPortActivated_r10_11_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
fourAntennaPortActivated_r10_11_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
fourAntennaPortActivated_r10_11_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
fourAntennaPortActivated_r10_11_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
fourAntennaPortActivated_r10_11_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
fourAntennaPortActivated_r10_11_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
fourAntennaPortActivated_r10_11_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
fourAntennaPortActivated_r10_11_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_transmissionModeUL_r10_constr_2 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_fourAntennaPortActivated_r10_constr_11 = {
{ APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_transmissionModeUL_r10_value2enum_2[] = {
{ 0, 3, "tm1" },
{ 1, 3, "tm2" },
{ 2, 6, "spare6" },
{ 3, 6, "spare5" },
{ 4, 6, "spare4" },
{ 5, 6, "spare3" },
{ 6, 6, "spare2" },
{ 7, 6, "spare1" }
};
static unsigned int asn_MAP_transmissionModeUL_r10_enum2value_2[] = {
7, /* spare1(7) */
6, /* spare2(6) */
5, /* spare3(5) */
4, /* spare4(4) */
3, /* spare5(3) */
2, /* spare6(2) */
0, /* tm1(0) */
1 /* tm2(1) */
};
static asn_INTEGER_specifics_t asn_SPC_transmissionModeUL_r10_specs_2 = {
asn_MAP_transmissionModeUL_r10_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_transmissionModeUL_r10_enum2value_2, /* N => "tag"; sorted by N */
8, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_transmissionModeUL_r10_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_transmissionModeUL_r10_2 = {
"transmissionModeUL-r10",
"transmissionModeUL-r10",
transmissionModeUL_r10_2_free,
transmissionModeUL_r10_2_print,
transmissionModeUL_r10_2_constraint,
transmissionModeUL_r10_2_decode_ber,
transmissionModeUL_r10_2_encode_der,
transmissionModeUL_r10_2_decode_xer,
transmissionModeUL_r10_2_encode_xer,
transmissionModeUL_r10_2_decode_uper,
transmissionModeUL_r10_2_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_transmissionModeUL_r10_tags_2,
sizeof(asn_DEF_transmissionModeUL_r10_tags_2)
/sizeof(asn_DEF_transmissionModeUL_r10_tags_2[0]) - 1, /* 1 */
asn_DEF_transmissionModeUL_r10_tags_2, /* Same as above */
sizeof(asn_DEF_transmissionModeUL_r10_tags_2)
/sizeof(asn_DEF_transmissionModeUL_r10_tags_2[0]), /* 2 */
&asn_PER_type_transmissionModeUL_r10_constr_2,
0, 0, /* Defined elsewhere */
&asn_SPC_transmissionModeUL_r10_specs_2 /* Additional specs */
};
static asn_INTEGER_enum_map_t asn_MAP_fourAntennaPortActivated_r10_value2enum_11[] = {
{ 0, 5, "setup" }
};
static unsigned int asn_MAP_fourAntennaPortActivated_r10_enum2value_11[] = {
0 /* setup(0) */
};
static asn_INTEGER_specifics_t asn_SPC_fourAntennaPortActivated_r10_specs_11 = {
asn_MAP_fourAntennaPortActivated_r10_value2enum_11, /* "tag" => N; sorted by tag */
asn_MAP_fourAntennaPortActivated_r10_enum2value_11, /* N => "tag"; sorted by N */
1, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_fourAntennaPortActivated_r10_tags_11[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_fourAntennaPortActivated_r10_11 = {
"fourAntennaPortActivated-r10",
"fourAntennaPortActivated-r10",
fourAntennaPortActivated_r10_11_free,
fourAntennaPortActivated_r10_11_print,
fourAntennaPortActivated_r10_11_constraint,
fourAntennaPortActivated_r10_11_decode_ber,
fourAntennaPortActivated_r10_11_encode_der,
fourAntennaPortActivated_r10_11_decode_xer,
fourAntennaPortActivated_r10_11_encode_xer,
fourAntennaPortActivated_r10_11_decode_uper,
fourAntennaPortActivated_r10_11_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_fourAntennaPortActivated_r10_tags_11,
sizeof(asn_DEF_fourAntennaPortActivated_r10_tags_11)
/sizeof(asn_DEF_fourAntennaPortActivated_r10_tags_11[0]) - 1, /* 1 */
asn_DEF_fourAntennaPortActivated_r10_tags_11, /* Same as above */
sizeof(asn_DEF_fourAntennaPortActivated_r10_tags_11)
/sizeof(asn_DEF_fourAntennaPortActivated_r10_tags_11[0]), /* 2 */
&asn_PER_type_fourAntennaPortActivated_r10_constr_11,
0, 0, /* Defined elsewhere */
&asn_SPC_fourAntennaPortActivated_r10_specs_11 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_AntennaInfoUL_r10_1[] = {
{ ATF_POINTER, 2, offsetof(struct AntennaInfoUL_r10, transmissionModeUL_r10),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_transmissionModeUL_r10_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"transmissionModeUL-r10"
},
{ ATF_POINTER, 1, offsetof(struct AntennaInfoUL_r10, fourAntennaPortActivated_r10),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_fourAntennaPortActivated_r10_11,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"fourAntennaPortActivated-r10"
},
};
static int asn_MAP_AntennaInfoUL_r10_oms_1[] = { 0, 1 };
static ber_tlv_tag_t asn_DEF_AntennaInfoUL_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_AntennaInfoUL_r10_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transmissionModeUL-r10 at 1843 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fourAntennaPortActivated-r10 at 1845 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AntennaInfoUL_r10_specs_1 = {
sizeof(struct AntennaInfoUL_r10),
offsetof(struct AntennaInfoUL_r10, _asn_ctx),
asn_MAP_AntennaInfoUL_r10_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_AntennaInfoUL_r10_oms_1, /* Optional members */
2, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AntennaInfoUL_r10 = {
"AntennaInfoUL-r10",
"AntennaInfoUL-r10",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AntennaInfoUL_r10_tags_1,
sizeof(asn_DEF_AntennaInfoUL_r10_tags_1)
/sizeof(asn_DEF_AntennaInfoUL_r10_tags_1[0]), /* 1 */
asn_DEF_AntennaInfoUL_r10_tags_1, /* Same as above */
sizeof(asn_DEF_AntennaInfoUL_r10_tags_1)
/sizeof(asn_DEF_AntennaInfoUL_r10_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AntennaInfoUL_r10_1,
2, /* Elements count */
&asn_SPC_AntennaInfoUL_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,56 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AntennaInfoUL_r10_H_
#define _AntennaInfoUL_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AntennaInfoUL_r10__transmissionModeUL_r10 {
AntennaInfoUL_r10__transmissionModeUL_r10_tm1 = 0,
AntennaInfoUL_r10__transmissionModeUL_r10_tm2 = 1,
AntennaInfoUL_r10__transmissionModeUL_r10_spare6 = 2,
AntennaInfoUL_r10__transmissionModeUL_r10_spare5 = 3,
AntennaInfoUL_r10__transmissionModeUL_r10_spare4 = 4,
AntennaInfoUL_r10__transmissionModeUL_r10_spare3 = 5,
AntennaInfoUL_r10__transmissionModeUL_r10_spare2 = 6,
AntennaInfoUL_r10__transmissionModeUL_r10_spare1 = 7
} e_AntennaInfoUL_r10__transmissionModeUL_r10;
typedef enum AntennaInfoUL_r10__fourAntennaPortActivated_r10 {
AntennaInfoUL_r10__fourAntennaPortActivated_r10_setup = 0
} e_AntennaInfoUL_r10__fourAntennaPortActivated_r10;
/* AntennaInfoUL-r10 */
typedef struct AntennaInfoUL_r10 {
long *transmissionModeUL_r10 /* OPTIONAL */;
long *fourAntennaPortActivated_r10 /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AntennaInfoUL_r10_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_transmissionModeUL_r10_2; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_fourAntennaPortActivated_r10_11; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_AntennaInfoUL_r10;
#ifdef __cplusplus
}
#endif
#endif /* _AntennaInfoUL_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,71 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "AreaConfiguration-r10.h"
static asn_per_constraints_t asn_PER_type_AreaConfiguration_r10_constr_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AreaConfiguration_r10_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AreaConfiguration_r10, choice.cellGlobalIdList_r10),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CellGlobalIdList_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"cellGlobalIdList-r10"
},
{ ATF_NOFLAGS, 0, offsetof(struct AreaConfiguration_r10, choice.trackingAreaCodeList_r10),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_TrackingAreaCodeList_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"trackingAreaCodeList-r10"
},
};
static asn_TYPE_tag2member_t asn_MAP_AreaConfiguration_r10_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellGlobalIdList-r10 at 3632 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* trackingAreaCodeList-r10 at 3634 */
};
static asn_CHOICE_specifics_t asn_SPC_AreaConfiguration_r10_specs_1 = {
sizeof(struct AreaConfiguration_r10),
offsetof(struct AreaConfiguration_r10, _asn_ctx),
offsetof(struct AreaConfiguration_r10, present),
sizeof(((struct AreaConfiguration_r10 *)0)->present),
asn_MAP_AreaConfiguration_r10_tag2el_1,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_AreaConfiguration_r10 = {
"AreaConfiguration-r10",
"AreaConfiguration-r10",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_AreaConfiguration_r10_constr_1,
asn_MBR_AreaConfiguration_r10_1,
2, /* Elements count */
&asn_SPC_AreaConfiguration_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,50 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _AreaConfiguration_r10_H_
#define _AreaConfiguration_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include "CellGlobalIdList-r10.h"
#include "TrackingAreaCodeList-r10.h"
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum AreaConfiguration_r10_PR {
AreaConfiguration_r10_PR_NOTHING, /* No components present */
AreaConfiguration_r10_PR_cellGlobalIdList_r10,
AreaConfiguration_r10_PR_trackingAreaCodeList_r10
} AreaConfiguration_r10_PR;
/* AreaConfiguration-r10 */
typedef struct AreaConfiguration_r10 {
AreaConfiguration_r10_PR present;
union AreaConfiguration_r10_u {
CellGlobalIdList_r10_t cellGlobalIdList_r10;
TrackingAreaCodeList_r10_t trackingAreaCodeList_r10;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} AreaConfiguration_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AreaConfiguration_r10;
#ifdef __cplusplus
}
#endif
#endif /* _AreaConfiguration_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,60 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BCCH-BCH-Message.h"
static asn_TYPE_member_t asn_MBR_BCCH_BCH_Message_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BCCH_BCH_Message, message),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BCCH_BCH_MessageType,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"message"
},
};
static ber_tlv_tag_t asn_DEF_BCCH_BCH_Message_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BCCH_BCH_Message_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* message at 8 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BCCH_BCH_Message_specs_1 = {
sizeof(struct BCCH_BCH_Message),
offsetof(struct BCCH_BCH_Message, _asn_ctx),
asn_MAP_BCCH_BCH_Message_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BCCH_BCH_Message = {
"BCCH-BCH-Message",
"BCCH-BCH-Message",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BCCH_BCH_Message_tags_1,
sizeof(asn_DEF_BCCH_BCH_Message_tags_1)
/sizeof(asn_DEF_BCCH_BCH_Message_tags_1[0]), /* 1 */
asn_DEF_BCCH_BCH_Message_tags_1, /* Same as above */
sizeof(asn_DEF_BCCH_BCH_Message_tags_1)
/sizeof(asn_DEF_BCCH_BCH_Message_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BCCH_BCH_Message_1,
1, /* Elements count */
&asn_SPC_BCCH_BCH_Message_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BCCH_BCH_Message_H_
#define _BCCH_BCH_Message_H_
#include <asn_application.h>
/* Including external dependencies */
#include "BCCH-BCH-MessageType.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* BCCH-BCH-Message */
typedef struct BCCH_BCH_Message {
BCCH_BCH_MessageType_t message;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BCCH_BCH_Message_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BCCH_BCH_Message;
#ifdef __cplusplus
}
#endif
#endif /* _BCCH_BCH_Message_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,124 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BCCH-BCH-MessageType.h"
int
BCCH_BCH_MessageType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_MasterInformationBlock.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using MasterInformationBlock,
* so here we adjust the DEF accordingly.
*/
static void
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_MasterInformationBlock.free_struct;
td->print_struct = asn_DEF_MasterInformationBlock.print_struct;
td->ber_decoder = asn_DEF_MasterInformationBlock.ber_decoder;
td->der_encoder = asn_DEF_MasterInformationBlock.der_encoder;
td->xer_decoder = asn_DEF_MasterInformationBlock.xer_decoder;
td->xer_encoder = asn_DEF_MasterInformationBlock.xer_encoder;
td->uper_decoder = asn_DEF_MasterInformationBlock.uper_decoder;
td->uper_encoder = asn_DEF_MasterInformationBlock.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_MasterInformationBlock.per_constraints;
td->elements = asn_DEF_MasterInformationBlock.elements;
td->elements_count = asn_DEF_MasterInformationBlock.elements_count;
td->specifics = asn_DEF_MasterInformationBlock.specifics;
}
void
BCCH_BCH_MessageType_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BCCH_BCH_MessageType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BCCH_BCH_MessageType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
BCCH_BCH_MessageType_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BCCH_BCH_MessageType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
BCCH_BCH_MessageType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BCCH_BCH_MessageType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
BCCH_BCH_MessageType_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BCCH_BCH_MessageType_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static ber_tlv_tag_t asn_DEF_BCCH_BCH_MessageType_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_TYPE_descriptor_t asn_DEF_BCCH_BCH_MessageType = {
"BCCH-BCH-MessageType",
"BCCH-BCH-MessageType",
BCCH_BCH_MessageType_free,
BCCH_BCH_MessageType_print,
BCCH_BCH_MessageType_constraint,
BCCH_BCH_MessageType_decode_ber,
BCCH_BCH_MessageType_encode_der,
BCCH_BCH_MessageType_decode_xer,
BCCH_BCH_MessageType_encode_xer,
BCCH_BCH_MessageType_decode_uper,
BCCH_BCH_MessageType_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BCCH_BCH_MessageType_tags_1,
sizeof(asn_DEF_BCCH_BCH_MessageType_tags_1)
/sizeof(asn_DEF_BCCH_BCH_MessageType_tags_1[0]), /* 1 */
asn_DEF_BCCH_BCH_MessageType_tags_1, /* Same as above */
sizeof(asn_DEF_BCCH_BCH_MessageType_tags_1)
/sizeof(asn_DEF_BCCH_BCH_MessageType_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* Defined elsewhere */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BCCH_BCH_MessageType_H_
#define _BCCH_BCH_MessageType_H_
#include <asn_application.h>
/* Including external dependencies */
#include "MasterInformationBlock.h"
#ifdef __cplusplus
extern "C" {
#endif
/* BCCH-BCH-MessageType */
typedef MasterInformationBlock_t BCCH_BCH_MessageType_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BCCH_BCH_MessageType;
asn_struct_free_f BCCH_BCH_MessageType_free;
asn_struct_print_f BCCH_BCH_MessageType_print;
asn_constr_check_f BCCH_BCH_MessageType_constraint;
ber_type_decoder_f BCCH_BCH_MessageType_decode_ber;
der_type_encoder_f BCCH_BCH_MessageType_encode_der;
xer_type_decoder_f BCCH_BCH_MessageType_decode_xer;
xer_type_encoder_f BCCH_BCH_MessageType_encode_xer;
per_type_decoder_f BCCH_BCH_MessageType_decode_uper;
per_type_encoder_f BCCH_BCH_MessageType_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _BCCH_BCH_MessageType_H_ */
#include <asn_internal.h>

203
lte/rrc/asn/BCCH-Config.c Normal file
View File

@ -0,0 +1,203 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BCCH-Config.h"
static int
modificationPeriodCoeff_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
modificationPeriodCoeff_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
static void
modificationPeriodCoeff_2_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
static int
modificationPeriodCoeff_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
static asn_dec_rval_t
modificationPeriodCoeff_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
static asn_enc_rval_t
modificationPeriodCoeff_2_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
static asn_dec_rval_t
modificationPeriodCoeff_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
static asn_enc_rval_t
modificationPeriodCoeff_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
static asn_dec_rval_t
modificationPeriodCoeff_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
static asn_enc_rval_t
modificationPeriodCoeff_2_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
modificationPeriodCoeff_2_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_modificationPeriodCoeff_constr_2 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_modificationPeriodCoeff_value2enum_2[] = {
{ 0, 2, "n2" },
{ 1, 2, "n4" },
{ 2, 2, "n8" },
{ 3, 3, "n16" }
};
static unsigned int asn_MAP_modificationPeriodCoeff_enum2value_2[] = {
3, /* n16(3) */
0, /* n2(0) */
1, /* n4(1) */
2 /* n8(2) */
};
static asn_INTEGER_specifics_t asn_SPC_modificationPeriodCoeff_specs_2 = {
asn_MAP_modificationPeriodCoeff_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_modificationPeriodCoeff_enum2value_2, /* N => "tag"; sorted by N */
4, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_modificationPeriodCoeff_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_modificationPeriodCoeff_2 = {
"modificationPeriodCoeff",
"modificationPeriodCoeff",
modificationPeriodCoeff_2_free,
modificationPeriodCoeff_2_print,
modificationPeriodCoeff_2_constraint,
modificationPeriodCoeff_2_decode_ber,
modificationPeriodCoeff_2_encode_der,
modificationPeriodCoeff_2_decode_xer,
modificationPeriodCoeff_2_encode_xer,
modificationPeriodCoeff_2_decode_uper,
modificationPeriodCoeff_2_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_modificationPeriodCoeff_tags_2,
sizeof(asn_DEF_modificationPeriodCoeff_tags_2)
/sizeof(asn_DEF_modificationPeriodCoeff_tags_2[0]) - 1, /* 1 */
asn_DEF_modificationPeriodCoeff_tags_2, /* Same as above */
sizeof(asn_DEF_modificationPeriodCoeff_tags_2)
/sizeof(asn_DEF_modificationPeriodCoeff_tags_2[0]), /* 2 */
&asn_PER_type_modificationPeriodCoeff_constr_2,
0, 0, /* Defined elsewhere */
&asn_SPC_modificationPeriodCoeff_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_BCCH_Config_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BCCH_Config, modificationPeriodCoeff),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_modificationPeriodCoeff_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"modificationPeriodCoeff"
},
};
static ber_tlv_tag_t asn_DEF_BCCH_Config_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BCCH_Config_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* modificationPeriodCoeff at 2428 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BCCH_Config_specs_1 = {
sizeof(struct BCCH_Config),
offsetof(struct BCCH_Config, _asn_ctx),
asn_MAP_BCCH_Config_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BCCH_Config = {
"BCCH-Config",
"BCCH-Config",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BCCH_Config_tags_1,
sizeof(asn_DEF_BCCH_Config_tags_1)
/sizeof(asn_DEF_BCCH_Config_tags_1[0]), /* 1 */
asn_DEF_BCCH_Config_tags_1, /* Same as above */
sizeof(asn_DEF_BCCH_Config_tags_1)
/sizeof(asn_DEF_BCCH_Config_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BCCH_Config_1,
1, /* Elements count */
&asn_SPC_BCCH_Config_specs_1 /* Additional specs */
};

47
lte/rrc/asn/BCCH-Config.h Normal file
View File

@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BCCH_Config_H_
#define _BCCH_Config_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum BCCH_Config__modificationPeriodCoeff {
BCCH_Config__modificationPeriodCoeff_n2 = 0,
BCCH_Config__modificationPeriodCoeff_n4 = 1,
BCCH_Config__modificationPeriodCoeff_n8 = 2,
BCCH_Config__modificationPeriodCoeff_n16 = 3
} e_BCCH_Config__modificationPeriodCoeff;
/* BCCH-Config */
typedef struct BCCH_Config {
long modificationPeriodCoeff;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BCCH_Config_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_modificationPeriodCoeff_2; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_BCCH_Config;
#ifdef __cplusplus
}
#endif
#endif /* _BCCH_Config_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,60 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BCCH-DL-SCH-Message.h"
static asn_TYPE_member_t asn_MBR_BCCH_DL_SCH_Message_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BCCH_DL_SCH_Message, message),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_BCCH_DL_SCH_MessageType,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"message"
},
};
static ber_tlv_tag_t asn_DEF_BCCH_DL_SCH_Message_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BCCH_DL_SCH_Message_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* message at 15 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BCCH_DL_SCH_Message_specs_1 = {
sizeof(struct BCCH_DL_SCH_Message),
offsetof(struct BCCH_DL_SCH_Message, _asn_ctx),
asn_MAP_BCCH_DL_SCH_Message_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BCCH_DL_SCH_Message = {
"BCCH-DL-SCH-Message",
"BCCH-DL-SCH-Message",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BCCH_DL_SCH_Message_tags_1,
sizeof(asn_DEF_BCCH_DL_SCH_Message_tags_1)
/sizeof(asn_DEF_BCCH_DL_SCH_Message_tags_1[0]), /* 1 */
asn_DEF_BCCH_DL_SCH_Message_tags_1, /* Same as above */
sizeof(asn_DEF_BCCH_DL_SCH_Message_tags_1)
/sizeof(asn_DEF_BCCH_DL_SCH_Message_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BCCH_DL_SCH_Message_1,
1, /* Elements count */
&asn_SPC_BCCH_DL_SCH_Message_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BCCH_DL_SCH_Message_H_
#define _BCCH_DL_SCH_Message_H_
#include <asn_application.h>
/* Including external dependencies */
#include "BCCH-DL-SCH-MessageType.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* BCCH-DL-SCH-Message */
typedef struct BCCH_DL_SCH_Message {
BCCH_DL_SCH_MessageType_t message;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BCCH_DL_SCH_Message_t;
/* Implementation */
LIBLTE_API extern asn_TYPE_descriptor_t asn_DEF_BCCH_DL_SCH_Message;
#ifdef __cplusplus
}
#endif
#endif /* _BCCH_DL_SCH_Message_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,172 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BCCH-DL-SCH-MessageType.h"
static asn_per_constraints_t asn_PER_type_c1_constr_2 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_BCCH_DL_SCH_MessageType_constr_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_c1_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BCCH_DL_SCH_MessageType__c1, choice.systemInformation),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SystemInformation,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"systemInformation"
},
{ ATF_NOFLAGS, 0, offsetof(struct BCCH_DL_SCH_MessageType__c1, choice.systemInformationBlockType1),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SystemInformationBlockType1,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"systemInformationBlockType1"
},
};
static asn_TYPE_tag2member_t asn_MAP_c1_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* systemInformation at 19 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* systemInformationBlockType1 at 21 */
};
static asn_CHOICE_specifics_t asn_SPC_c1_specs_2 = {
sizeof(struct BCCH_DL_SCH_MessageType__c1),
offsetof(struct BCCH_DL_SCH_MessageType__c1, _asn_ctx),
offsetof(struct BCCH_DL_SCH_MessageType__c1, present),
sizeof(((struct BCCH_DL_SCH_MessageType__c1 *)0)->present),
asn_MAP_c1_tag2el_2,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_c1_2 = {
"c1",
"c1",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_c1_constr_2,
asn_MBR_c1_2,
2, /* Elements count */
&asn_SPC_c1_specs_2 /* Additional specs */
};
static ber_tlv_tag_t asn_DEF_messageClassExtension_tags_5[] = {
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SEQUENCE_specifics_t asn_SPC_messageClassExtension_specs_5 = {
sizeof(struct BCCH_DL_SCH_MessageType__messageClassExtension),
offsetof(struct BCCH_DL_SCH_MessageType__messageClassExtension, _asn_ctx),
0, /* No top level tags */
0, /* No tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_messageClassExtension_5 = {
"messageClassExtension",
"messageClassExtension",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_messageClassExtension_tags_5,
sizeof(asn_DEF_messageClassExtension_tags_5)
/sizeof(asn_DEF_messageClassExtension_tags_5[0]) - 1, /* 1 */
asn_DEF_messageClassExtension_tags_5, /* Same as above */
sizeof(asn_DEF_messageClassExtension_tags_5)
/sizeof(asn_DEF_messageClassExtension_tags_5[0]), /* 2 */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_messageClassExtension_specs_5 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_BCCH_DL_SCH_MessageType_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BCCH_DL_SCH_MessageType, choice.c1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_c1_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"c1"
},
{ ATF_NOFLAGS, 0, offsetof(struct BCCH_DL_SCH_MessageType, choice.messageClassExtension),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
0,
&asn_DEF_messageClassExtension_5,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"messageClassExtension"
},
};
static asn_TYPE_tag2member_t asn_MAP_BCCH_DL_SCH_MessageType_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* c1 at 19 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageClassExtension at 22 */
};
static asn_CHOICE_specifics_t asn_SPC_BCCH_DL_SCH_MessageType_specs_1 = {
sizeof(struct BCCH_DL_SCH_MessageType),
offsetof(struct BCCH_DL_SCH_MessageType, _asn_ctx),
offsetof(struct BCCH_DL_SCH_MessageType, present),
sizeof(((struct BCCH_DL_SCH_MessageType *)0)->present),
asn_MAP_BCCH_DL_SCH_MessageType_tag2el_1,
2, /* Count of tags in the map */
0,
-1 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_BCCH_DL_SCH_MessageType = {
"BCCH-DL-SCH-MessageType",
"BCCH-DL-SCH-MessageType",
CHOICE_free,
CHOICE_print,
CHOICE_constraint,
CHOICE_decode_ber,
CHOICE_encode_der,
CHOICE_decode_xer,
CHOICE_encode_xer,
CHOICE_decode_uper,
CHOICE_encode_uper,
CHOICE_outmost_tag,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
&asn_PER_type_BCCH_DL_SCH_MessageType_constr_1,
asn_MBR_BCCH_DL_SCH_MessageType_1,
2, /* Elements count */
&asn_SPC_BCCH_DL_SCH_MessageType_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,69 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BCCH_DL_SCH_MessageType_H_
#define _BCCH_DL_SCH_MessageType_H_
#include <asn_application.h>
/* Including external dependencies */
#include "SystemInformation.h"
#include "SystemInformationBlockType1.h"
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum BCCH_DL_SCH_MessageType_PR {
BCCH_DL_SCH_MessageType_PR_NOTHING, /* No components present */
BCCH_DL_SCH_MessageType_PR_c1,
BCCH_DL_SCH_MessageType_PR_messageClassExtension
} BCCH_DL_SCH_MessageType_PR;
typedef enum BCCH_DL_SCH_MessageType__c1_PR {
BCCH_DL_SCH_MessageType__c1_PR_NOTHING, /* No components present */
BCCH_DL_SCH_MessageType__c1_PR_systemInformation,
BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1
} BCCH_DL_SCH_MessageType__c1_PR;
/* BCCH-DL-SCH-MessageType */
typedef struct BCCH_DL_SCH_MessageType {
BCCH_DL_SCH_MessageType_PR present;
union BCCH_DL_SCH_MessageType_u {
struct BCCH_DL_SCH_MessageType__c1 {
BCCH_DL_SCH_MessageType__c1_PR present;
union BCCH_DL_SCH_MessageType__c1_u {
SystemInformation_t systemInformation;
SystemInformationBlockType1_t systemInformationBlockType1;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} c1;
struct BCCH_DL_SCH_MessageType__messageClassExtension {
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} messageClassExtension;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BCCH_DL_SCH_MessageType_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BCCH_DL_SCH_MessageType;
#ifdef __cplusplus
}
#endif
#endif /* _BCCH_DL_SCH_MessageType_H_ */
#include <asn_internal.h>

View File

@ -9,7 +9,7 @@
/*
* BIT STRING basic type description.
*/
static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
static ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
static asn_OCTET_STRING_specifics_t asn_DEF_BIT_STRING_specs = {
@ -140,7 +140,7 @@ cb_failed:
int
BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key) {
const char * const h2c = "0123456789ABCDEF";
static const char *h2c = "0123456789ABCDEF";
char scratch[64];
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
uint8_t *buf;

View File

@ -9,7 +9,7 @@
/*
* BOOLEAN basic type description.
*/
static const ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
static ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (1 << 2))
};
asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
@ -161,7 +161,10 @@ BOOLEAN__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chun
}
return XPBD_BODY_CONSUMED;
} else {
return XPBD_BROKEN_ENCODING;
if(xer_is_whitespace(chunk_buf, chunk_size))
return XPBD_NOT_BODY_IGNORE;
else
return XPBD_BROKEN_ENCODING;
}
}
@ -269,14 +272,13 @@ asn_enc_rval_t
BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
asn_enc_rval_t er = { 0, 0, 0 };
asn_enc_rval_t er;
(void)constraints;
if(!st) _ASN_ENCODE_FAILED;
if(per_put_few_bits(po, *st ? 1 : 0, 1))
_ASN_ENCODE_FAILED;
per_put_few_bits(po, *st ? 1 : 0, 1);
_ASN_ENCODED_OK(er);
}

View File

@ -0,0 +1,152 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandClassInfoCDMA2000.h"
static int
memb_threshX_High_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 63)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_threshX_Low_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 63)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_memb_threshX_High_constr_4 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_threshX_Low_constr_5 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandClassInfoCDMA2000_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BandClassInfoCDMA2000, bandClass),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BandclassCDMA2000,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"bandClass"
},
{ ATF_POINTER, 1, offsetof(struct BandClassInfoCDMA2000, cellReselectionPriority),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CellReselectionPriority,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"cellReselectionPriority"
},
{ ATF_NOFLAGS, 0, offsetof(struct BandClassInfoCDMA2000, threshX_High),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_threshX_High_constraint_1,
&asn_PER_memb_threshX_High_constr_4,
0,
"threshX-High"
},
{ ATF_NOFLAGS, 0, offsetof(struct BandClassInfoCDMA2000, threshX_Low),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_threshX_Low_constraint_1,
&asn_PER_memb_threshX_Low_constr_5,
0,
"threshX-Low"
},
};
static int asn_MAP_BandClassInfoCDMA2000_oms_1[] = { 1 };
static ber_tlv_tag_t asn_DEF_BandClassInfoCDMA2000_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BandClassInfoCDMA2000_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bandClass at 1728 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellReselectionPriority at 1729 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* threshX-High at 1730 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* threshX-Low at 1731 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BandClassInfoCDMA2000_specs_1 = {
sizeof(struct BandClassInfoCDMA2000),
offsetof(struct BandClassInfoCDMA2000, _asn_ctx),
asn_MAP_BandClassInfoCDMA2000_tag2el_1,
4, /* Count of tags in the map */
asn_MAP_BandClassInfoCDMA2000_oms_1, /* Optional members */
1, 0, /* Root/Additions */
3, /* Start extensions */
5 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BandClassInfoCDMA2000 = {
"BandClassInfoCDMA2000",
"BandClassInfoCDMA2000",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandClassInfoCDMA2000_tags_1,
sizeof(asn_DEF_BandClassInfoCDMA2000_tags_1)
/sizeof(asn_DEF_BandClassInfoCDMA2000_tags_1[0]), /* 1 */
asn_DEF_BandClassInfoCDMA2000_tags_1, /* Same as above */
sizeof(asn_DEF_BandClassInfoCDMA2000_tags_1)
/sizeof(asn_DEF_BandClassInfoCDMA2000_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BandClassInfoCDMA2000_1,
4, /* Elements count */
&asn_SPC_BandClassInfoCDMA2000_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandClassInfoCDMA2000_H_
#define _BandClassInfoCDMA2000_H_
#include <asn_application.h>
/* Including external dependencies */
#include "BandclassCDMA2000.h"
#include "CellReselectionPriority.h"
#include <NativeInteger.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* BandClassInfoCDMA2000 */
typedef struct BandClassInfoCDMA2000 {
BandclassCDMA2000_t bandClass;
CellReselectionPriority_t *cellReselectionPriority /* OPTIONAL */;
long threshX_High;
long threshX_Low;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandClassInfoCDMA2000_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandClassInfoCDMA2000;
#ifdef __cplusplus
}
#endif
#endif /* _BandClassInfoCDMA2000_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandClassListCDMA2000.h"
static asn_per_constraints_t asn_PER_type_BandClassListCDMA2000_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandClassListCDMA2000_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_BandClassInfoCDMA2000,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandClassListCDMA2000_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandClassListCDMA2000_specs_1 = {
sizeof(struct BandClassListCDMA2000),
offsetof(struct BandClassListCDMA2000, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandClassListCDMA2000 = {
"BandClassListCDMA2000",
"BandClassListCDMA2000",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandClassListCDMA2000_tags_1,
sizeof(asn_DEF_BandClassListCDMA2000_tags_1)
/sizeof(asn_DEF_BandClassListCDMA2000_tags_1[0]), /* 1 */
asn_DEF_BandClassListCDMA2000_tags_1, /* Same as above */
sizeof(asn_DEF_BandClassListCDMA2000_tags_1)
/sizeof(asn_DEF_BandClassListCDMA2000_tags_1[0]), /* 1 */
&asn_PER_type_BandClassListCDMA2000_constr_1,
asn_MBR_BandClassListCDMA2000_1,
1, /* Single element */
&asn_SPC_BandClassListCDMA2000_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandClassListCDMA2000_H_
#define _BandClassListCDMA2000_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BandClassInfoCDMA2000;
/* BandClassListCDMA2000 */
typedef struct BandClassListCDMA2000 {
A_SEQUENCE_OF(struct BandClassInfoCDMA2000) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandClassListCDMA2000_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandClassListCDMA2000;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BandClassInfoCDMA2000.h"
#endif /* _BandClassListCDMA2000_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,70 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandClassPriority1XRTT.h"
static asn_TYPE_member_t asn_MBR_BandClassPriority1XRTT_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BandClassPriority1XRTT, bandClass),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BandclassCDMA2000,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"bandClass"
},
{ ATF_NOFLAGS, 0, offsetof(struct BandClassPriority1XRTT, cellReselectionPriority),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CellReselectionPriority,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"cellReselectionPriority"
},
};
static ber_tlv_tag_t asn_DEF_BandClassPriority1XRTT_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BandClassPriority1XRTT_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bandClass at 954 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cellReselectionPriority at 956 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BandClassPriority1XRTT_specs_1 = {
sizeof(struct BandClassPriority1XRTT),
offsetof(struct BandClassPriority1XRTT, _asn_ctx),
asn_MAP_BandClassPriority1XRTT_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BandClassPriority1XRTT = {
"BandClassPriority1XRTT",
"BandClassPriority1XRTT",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandClassPriority1XRTT_tags_1,
sizeof(asn_DEF_BandClassPriority1XRTT_tags_1)
/sizeof(asn_DEF_BandClassPriority1XRTT_tags_1[0]), /* 1 */
asn_DEF_BandClassPriority1XRTT_tags_1, /* Same as above */
sizeof(asn_DEF_BandClassPriority1XRTT_tags_1)
/sizeof(asn_DEF_BandClassPriority1XRTT_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BandClassPriority1XRTT_1,
2, /* Elements count */
&asn_SPC_BandClassPriority1XRTT_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,40 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandClassPriority1XRTT_H_
#define _BandClassPriority1XRTT_H_
#include <asn_application.h>
/* Including external dependencies */
#include "BandclassCDMA2000.h"
#include "CellReselectionPriority.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* BandClassPriority1XRTT */
typedef struct BandClassPriority1XRTT {
BandclassCDMA2000_t bandClass;
CellReselectionPriority_t cellReselectionPriority;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandClassPriority1XRTT_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandClassPriority1XRTT;
#ifdef __cplusplus
}
#endif
#endif /* _BandClassPriority1XRTT_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,70 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandClassPriorityHRPD.h"
static asn_TYPE_member_t asn_MBR_BandClassPriorityHRPD_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BandClassPriorityHRPD, bandClass),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BandclassCDMA2000,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"bandClass"
},
{ ATF_NOFLAGS, 0, offsetof(struct BandClassPriorityHRPD, cellReselectionPriority),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CellReselectionPriority,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"cellReselectionPriority"
},
};
static ber_tlv_tag_t asn_DEF_BandClassPriorityHRPD_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BandClassPriorityHRPD_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bandClass at 947 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cellReselectionPriority at 949 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BandClassPriorityHRPD_specs_1 = {
sizeof(struct BandClassPriorityHRPD),
offsetof(struct BandClassPriorityHRPD, _asn_ctx),
asn_MAP_BandClassPriorityHRPD_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BandClassPriorityHRPD = {
"BandClassPriorityHRPD",
"BandClassPriorityHRPD",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandClassPriorityHRPD_tags_1,
sizeof(asn_DEF_BandClassPriorityHRPD_tags_1)
/sizeof(asn_DEF_BandClassPriorityHRPD_tags_1[0]), /* 1 */
asn_DEF_BandClassPriorityHRPD_tags_1, /* Same as above */
sizeof(asn_DEF_BandClassPriorityHRPD_tags_1)
/sizeof(asn_DEF_BandClassPriorityHRPD_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BandClassPriorityHRPD_1,
2, /* Elements count */
&asn_SPC_BandClassPriorityHRPD_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,40 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandClassPriorityHRPD_H_
#define _BandClassPriorityHRPD_H_
#include <asn_application.h>
/* Including external dependencies */
#include "BandclassCDMA2000.h"
#include "CellReselectionPriority.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* BandClassPriorityHRPD */
typedef struct BandClassPriorityHRPD {
BandclassCDMA2000_t bandClass;
CellReselectionPriority_t cellReselectionPriority;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandClassPriorityHRPD_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandClassPriorityHRPD;
#ifdef __cplusplus
}
#endif
#endif /* _BandClassPriorityHRPD_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandClassPriorityList1XRTT.h"
static asn_per_constraints_t asn_PER_type_BandClassPriorityList1XRTT_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandClassPriorityList1XRTT_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_BandClassPriority1XRTT,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandClassPriorityList1XRTT_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandClassPriorityList1XRTT_specs_1 = {
sizeof(struct BandClassPriorityList1XRTT),
offsetof(struct BandClassPriorityList1XRTT, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandClassPriorityList1XRTT = {
"BandClassPriorityList1XRTT",
"BandClassPriorityList1XRTT",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandClassPriorityList1XRTT_tags_1,
sizeof(asn_DEF_BandClassPriorityList1XRTT_tags_1)
/sizeof(asn_DEF_BandClassPriorityList1XRTT_tags_1[0]), /* 1 */
asn_DEF_BandClassPriorityList1XRTT_tags_1, /* Same as above */
sizeof(asn_DEF_BandClassPriorityList1XRTT_tags_1)
/sizeof(asn_DEF_BandClassPriorityList1XRTT_tags_1[0]), /* 1 */
&asn_PER_type_BandClassPriorityList1XRTT_constr_1,
asn_MBR_BandClassPriorityList1XRTT_1,
1, /* Single element */
&asn_SPC_BandClassPriorityList1XRTT_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandClassPriorityList1XRTT_H_
#define _BandClassPriorityList1XRTT_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BandClassPriority1XRTT;
/* BandClassPriorityList1XRTT */
typedef struct BandClassPriorityList1XRTT {
A_SEQUENCE_OF(struct BandClassPriority1XRTT) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandClassPriorityList1XRTT_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandClassPriorityList1XRTT;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BandClassPriority1XRTT.h"
#endif /* _BandClassPriorityList1XRTT_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandClassPriorityListHRPD.h"
static asn_per_constraints_t asn_PER_type_BandClassPriorityListHRPD_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandClassPriorityListHRPD_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_BandClassPriorityHRPD,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandClassPriorityListHRPD_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandClassPriorityListHRPD_specs_1 = {
sizeof(struct BandClassPriorityListHRPD),
offsetof(struct BandClassPriorityListHRPD, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandClassPriorityListHRPD = {
"BandClassPriorityListHRPD",
"BandClassPriorityListHRPD",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandClassPriorityListHRPD_tags_1,
sizeof(asn_DEF_BandClassPriorityListHRPD_tags_1)
/sizeof(asn_DEF_BandClassPriorityListHRPD_tags_1[0]), /* 1 */
asn_DEF_BandClassPriorityListHRPD_tags_1, /* Same as above */
sizeof(asn_DEF_BandClassPriorityListHRPD_tags_1)
/sizeof(asn_DEF_BandClassPriorityListHRPD_tags_1[0]), /* 1 */
&asn_PER_type_BandClassPriorityListHRPD_constr_1,
asn_MBR_BandClassPriorityListHRPD_1,
1, /* Single element */
&asn_SPC_BandClassPriorityListHRPD_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandClassPriorityListHRPD_H_
#define _BandClassPriorityListHRPD_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BandClassPriorityHRPD;
/* BandClassPriorityListHRPD */
typedef struct BandClassPriorityListHRPD {
A_SEQUENCE_OF(struct BandClassPriorityHRPD) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandClassPriorityListHRPD_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandClassPriorityListHRPD;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BandClassPriorityHRPD.h"
#endif /* _BandClassPriorityListHRPD_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandCombinationListEUTRA-r10.h"
static asn_per_constraints_t asn_PER_type_BandCombinationListEUTRA_r10_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 7, 7, 1, 128 } /* (SIZE(1..128)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandCombinationListEUTRA_r10_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_BandInfoEUTRA,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandCombinationListEUTRA_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandCombinationListEUTRA_r10_specs_1 = {
sizeof(struct BandCombinationListEUTRA_r10),
offsetof(struct BandCombinationListEUTRA_r10, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandCombinationListEUTRA_r10 = {
"BandCombinationListEUTRA-r10",
"BandCombinationListEUTRA-r10",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandCombinationListEUTRA_r10_tags_1,
sizeof(asn_DEF_BandCombinationListEUTRA_r10_tags_1)
/sizeof(asn_DEF_BandCombinationListEUTRA_r10_tags_1[0]), /* 1 */
asn_DEF_BandCombinationListEUTRA_r10_tags_1, /* Same as above */
sizeof(asn_DEF_BandCombinationListEUTRA_r10_tags_1)
/sizeof(asn_DEF_BandCombinationListEUTRA_r10_tags_1[0]), /* 1 */
&asn_PER_type_BandCombinationListEUTRA_r10_constr_1,
asn_MBR_BandCombinationListEUTRA_r10_1,
1, /* Single element */
&asn_SPC_BandCombinationListEUTRA_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandCombinationListEUTRA_r10_H_
#define _BandCombinationListEUTRA_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BandInfoEUTRA;
/* BandCombinationListEUTRA-r10 */
typedef struct BandCombinationListEUTRA_r10 {
A_SEQUENCE_OF(struct BandInfoEUTRA) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandCombinationListEUTRA_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandCombinationListEUTRA_r10;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BandInfoEUTRA.h"
#endif /* _BandCombinationListEUTRA_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandCombinationParameters-r10.h"
static asn_per_constraints_t asn_PER_type_BandCombinationParameters_r10_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandCombinationParameters_r10_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_BandParameters_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandCombinationParameters_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandCombinationParameters_r10_specs_1 = {
sizeof(struct BandCombinationParameters_r10),
offsetof(struct BandCombinationParameters_r10, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandCombinationParameters_r10 = {
"BandCombinationParameters-r10",
"BandCombinationParameters-r10",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandCombinationParameters_r10_tags_1,
sizeof(asn_DEF_BandCombinationParameters_r10_tags_1)
/sizeof(asn_DEF_BandCombinationParameters_r10_tags_1[0]), /* 1 */
asn_DEF_BandCombinationParameters_r10_tags_1, /* Same as above */
sizeof(asn_DEF_BandCombinationParameters_r10_tags_1)
/sizeof(asn_DEF_BandCombinationParameters_r10_tags_1[0]), /* 1 */
&asn_PER_type_BandCombinationParameters_r10_constr_1,
asn_MBR_BandCombinationParameters_r10_1,
1, /* Single element */
&asn_SPC_BandCombinationParameters_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandCombinationParameters_r10_H_
#define _BandCombinationParameters_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BandParameters_r10;
/* BandCombinationParameters-r10 */
typedef struct BandCombinationParameters_r10 {
A_SEQUENCE_OF(struct BandParameters_r10) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandCombinationParameters_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandCombinationParameters_r10;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BandParameters-r10.h"
#endif /* _BandCombinationParameters_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,146 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandIndicatorGERAN.h"
int
BandIndicatorGERAN_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
BandIndicatorGERAN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
BandIndicatorGERAN_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BandIndicatorGERAN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BandIndicatorGERAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
BandIndicatorGERAN_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BandIndicatorGERAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
BandIndicatorGERAN_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BandIndicatorGERAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
BandIndicatorGERAN_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BandIndicatorGERAN_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_BandIndicatorGERAN_constr_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_BandIndicatorGERAN_value2enum_1[] = {
{ 0, 7, "dcs1800" },
{ 1, 7, "pcs1900" }
};
static unsigned int asn_MAP_BandIndicatorGERAN_enum2value_1[] = {
0, /* dcs1800(0) */
1 /* pcs1900(1) */
};
static asn_INTEGER_specifics_t asn_SPC_BandIndicatorGERAN_specs_1 = {
asn_MAP_BandIndicatorGERAN_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_BandIndicatorGERAN_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_BandIndicatorGERAN_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_BandIndicatorGERAN = {
"BandIndicatorGERAN",
"BandIndicatorGERAN",
BandIndicatorGERAN_free,
BandIndicatorGERAN_print,
BandIndicatorGERAN_constraint,
BandIndicatorGERAN_decode_ber,
BandIndicatorGERAN_encode_der,
BandIndicatorGERAN_decode_xer,
BandIndicatorGERAN_encode_xer,
BandIndicatorGERAN_decode_uper,
BandIndicatorGERAN_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandIndicatorGERAN_tags_1,
sizeof(asn_DEF_BandIndicatorGERAN_tags_1)
/sizeof(asn_DEF_BandIndicatorGERAN_tags_1[0]), /* 1 */
asn_DEF_BandIndicatorGERAN_tags_1, /* Same as above */
sizeof(asn_DEF_BandIndicatorGERAN_tags_1)
/sizeof(asn_DEF_BandIndicatorGERAN_tags_1[0]), /* 1 */
&asn_PER_type_BandIndicatorGERAN_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_BandIndicatorGERAN_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandIndicatorGERAN_H_
#define _BandIndicatorGERAN_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum BandIndicatorGERAN {
BandIndicatorGERAN_dcs1800 = 0,
BandIndicatorGERAN_pcs1900 = 1
} e_BandIndicatorGERAN;
/* BandIndicatorGERAN */
typedef long BandIndicatorGERAN_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandIndicatorGERAN;
asn_struct_free_f BandIndicatorGERAN_free;
asn_struct_print_f BandIndicatorGERAN_print;
asn_constr_check_f BandIndicatorGERAN_constraint;
ber_type_decoder_f BandIndicatorGERAN_decode_ber;
der_type_encoder_f BandIndicatorGERAN_encode_der;
xer_type_decoder_f BandIndicatorGERAN_decode_xer;
xer_type_encoder_f BandIndicatorGERAN_encode_xer;
per_type_decoder_f BandIndicatorGERAN_decode_uper;
per_type_encoder_f BandIndicatorGERAN_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _BandIndicatorGERAN_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,72 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandInfoEUTRA.h"
static asn_TYPE_member_t asn_MBR_BandInfoEUTRA_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BandInfoEUTRA, interFreqBandList),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_InterFreqBandList,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"interFreqBandList"
},
{ ATF_POINTER, 1, offsetof(struct BandInfoEUTRA, interRAT_BandList),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_InterRAT_BandList,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"interRAT-BandList"
},
};
static int asn_MAP_BandInfoEUTRA_oms_1[] = { 1 };
static ber_tlv_tag_t asn_DEF_BandInfoEUTRA_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BandInfoEUTRA_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interFreqBandList at 3881 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* interRAT-BandList at 3882 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BandInfoEUTRA_specs_1 = {
sizeof(struct BandInfoEUTRA),
offsetof(struct BandInfoEUTRA, _asn_ctx),
asn_MAP_BandInfoEUTRA_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_BandInfoEUTRA_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BandInfoEUTRA = {
"BandInfoEUTRA",
"BandInfoEUTRA",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandInfoEUTRA_tags_1,
sizeof(asn_DEF_BandInfoEUTRA_tags_1)
/sizeof(asn_DEF_BandInfoEUTRA_tags_1[0]), /* 1 */
asn_DEF_BandInfoEUTRA_tags_1, /* Same as above */
sizeof(asn_DEF_BandInfoEUTRA_tags_1)
/sizeof(asn_DEF_BandInfoEUTRA_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BandInfoEUTRA_1,
2, /* Elements count */
&asn_SPC_BandInfoEUTRA_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,45 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandInfoEUTRA_H_
#define _BandInfoEUTRA_H_
#include <asn_application.h>
/* Including external dependencies */
#include "InterFreqBandList.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct InterRAT_BandList;
/* BandInfoEUTRA */
typedef struct BandInfoEUTRA {
InterFreqBandList_t interFreqBandList;
struct InterRAT_BandList *interRAT_BandList /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandInfoEUTRA_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandInfoEUTRA;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "InterRAT-BandList.h"
#endif /* _BandInfoEUTRA_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandListEUTRA.h"
static asn_per_constraints_t asn_PER_type_BandListEUTRA_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandListEUTRA_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_BandInfoEUTRA,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandListEUTRA_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandListEUTRA_specs_1 = {
sizeof(struct BandListEUTRA),
offsetof(struct BandListEUTRA, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandListEUTRA = {
"BandListEUTRA",
"BandListEUTRA",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandListEUTRA_tags_1,
sizeof(asn_DEF_BandListEUTRA_tags_1)
/sizeof(asn_DEF_BandListEUTRA_tags_1[0]), /* 1 */
asn_DEF_BandListEUTRA_tags_1, /* Same as above */
sizeof(asn_DEF_BandListEUTRA_tags_1)
/sizeof(asn_DEF_BandListEUTRA_tags_1[0]), /* 1 */
&asn_PER_type_BandListEUTRA_constr_1,
asn_MBR_BandListEUTRA_1,
1, /* Single element */
&asn_SPC_BandListEUTRA_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandListEUTRA_H_
#define _BandListEUTRA_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BandInfoEUTRA;
/* BandListEUTRA */
typedef struct BandListEUTRA {
A_SEQUENCE_OF(struct BandInfoEUTRA) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandListEUTRA_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandListEUTRA;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BandInfoEUTRA.h"
#endif /* _BandListEUTRA_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,112 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandParameters-r10.h"
static int
memb_bandEUTRA_r10_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 1 && value <= 64)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_memb_bandEUTRA_r10_constr_2 = {
{ APC_CONSTRAINED, 6, 6, 1, 64 } /* (1..64) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandParameters_r10_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BandParameters_r10, bandEUTRA_r10),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_bandEUTRA_r10_constraint_1,
&asn_PER_memb_bandEUTRA_r10_constr_2,
0,
"bandEUTRA-r10"
},
{ ATF_POINTER, 2, offsetof(struct BandParameters_r10, bandParametersUL_r10),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BandParametersUL_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"bandParametersUL-r10"
},
{ ATF_POINTER, 1, offsetof(struct BandParameters_r10, bandParametersDL_r10),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BandParametersDL_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"bandParametersDL-r10"
},
};
static int asn_MAP_BandParameters_r10_oms_1[] = { 1, 2 };
static ber_tlv_tag_t asn_DEF_BandParameters_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BandParameters_r10_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bandEUTRA-r10 at 3836 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* bandParametersUL-r10 at 3837 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* bandParametersDL-r10 at 3838 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BandParameters_r10_specs_1 = {
sizeof(struct BandParameters_r10),
offsetof(struct BandParameters_r10, _asn_ctx),
asn_MAP_BandParameters_r10_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_BandParameters_r10_oms_1, /* Optional members */
2, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BandParameters_r10 = {
"BandParameters-r10",
"BandParameters-r10",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandParameters_r10_tags_1,
sizeof(asn_DEF_BandParameters_r10_tags_1)
/sizeof(asn_DEF_BandParameters_r10_tags_1[0]), /* 1 */
asn_DEF_BandParameters_r10_tags_1, /* Same as above */
sizeof(asn_DEF_BandParameters_r10_tags_1)
/sizeof(asn_DEF_BandParameters_r10_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BandParameters_r10_1,
3, /* Elements count */
&asn_SPC_BandParameters_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,48 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandParameters_r10_H_
#define _BandParameters_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BandParametersUL_r10;
struct BandParametersDL_r10;
/* BandParameters-r10 */
typedef struct BandParameters_r10 {
long bandEUTRA_r10;
struct BandParametersUL_r10 *bandParametersUL_r10 /* OPTIONAL */;
struct BandParametersDL_r10 *bandParametersDL_r10 /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandParameters_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandParameters_r10;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BandParametersUL-r10.h"
#include "BandParametersDL-r10.h"
#endif /* _BandParameters_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandParametersDL-r10.h"
static asn_per_constraints_t asn_PER_type_BandParametersDL_r10_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandParametersDL_r10_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_CA_MIMO_ParametersDL_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandParametersDL_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandParametersDL_r10_specs_1 = {
sizeof(struct BandParametersDL_r10),
offsetof(struct BandParametersDL_r10, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandParametersDL_r10 = {
"BandParametersDL-r10",
"BandParametersDL-r10",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandParametersDL_r10_tags_1,
sizeof(asn_DEF_BandParametersDL_r10_tags_1)
/sizeof(asn_DEF_BandParametersDL_r10_tags_1[0]), /* 1 */
asn_DEF_BandParametersDL_r10_tags_1, /* Same as above */
sizeof(asn_DEF_BandParametersDL_r10_tags_1)
/sizeof(asn_DEF_BandParametersDL_r10_tags_1[0]), /* 1 */
&asn_PER_type_BandParametersDL_r10_constr_1,
asn_MBR_BandParametersDL_r10_1,
1, /* Single element */
&asn_SPC_BandParametersDL_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandParametersDL_r10_H_
#define _BandParametersDL_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct CA_MIMO_ParametersDL_r10;
/* BandParametersDL-r10 */
typedef struct BandParametersDL_r10 {
A_SEQUENCE_OF(struct CA_MIMO_ParametersDL_r10) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandParametersDL_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandParametersDL_r10;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "CA-MIMO-ParametersDL-r10.h"
#endif /* _BandParametersDL_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandParametersUL-r10.h"
static asn_per_constraints_t asn_PER_type_BandParametersUL_r10_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BandParametersUL_r10_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_CA_MIMO_ParametersUL_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BandParametersUL_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BandParametersUL_r10_specs_1 = {
sizeof(struct BandParametersUL_r10),
offsetof(struct BandParametersUL_r10, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BandParametersUL_r10 = {
"BandParametersUL-r10",
"BandParametersUL-r10",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandParametersUL_r10_tags_1,
sizeof(asn_DEF_BandParametersUL_r10_tags_1)
/sizeof(asn_DEF_BandParametersUL_r10_tags_1[0]), /* 1 */
asn_DEF_BandParametersUL_r10_tags_1, /* Same as above */
sizeof(asn_DEF_BandParametersUL_r10_tags_1)
/sizeof(asn_DEF_BandParametersUL_r10_tags_1[0]), /* 1 */
&asn_PER_type_BandParametersUL_r10_constr_1,
asn_MBR_BandParametersUL_r10_1,
1, /* Single element */
&asn_SPC_BandParametersUL_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandParametersUL_r10_H_
#define _BandParametersUL_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct CA_MIMO_ParametersUL_r10;
/* BandParametersUL-r10 */
typedef struct BandParametersUL_r10 {
A_SEQUENCE_OF(struct CA_MIMO_ParametersUL_r10) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BandParametersUL_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandParametersUL_r10;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "CA-MIMO-ParametersUL-r10.h"
#endif /* _BandParametersUL_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,208 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BandclassCDMA2000.h"
int
BandclassCDMA2000_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
BandclassCDMA2000_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
BandclassCDMA2000_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BandclassCDMA2000_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BandclassCDMA2000_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
BandclassCDMA2000_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BandclassCDMA2000_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
BandclassCDMA2000_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BandclassCDMA2000_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
BandclassCDMA2000_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BandclassCDMA2000_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_BandclassCDMA2000_constr_1 = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 31 } /* (0..31,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_BandclassCDMA2000_value2enum_1[] = {
{ 0, 3, "bc0" },
{ 1, 3, "bc1" },
{ 2, 3, "bc2" },
{ 3, 3, "bc3" },
{ 4, 3, "bc4" },
{ 5, 3, "bc5" },
{ 6, 3, "bc6" },
{ 7, 3, "bc7" },
{ 8, 3, "bc8" },
{ 9, 3, "bc9" },
{ 10, 4, "bc10" },
{ 11, 4, "bc11" },
{ 12, 4, "bc12" },
{ 13, 4, "bc13" },
{ 14, 4, "bc14" },
{ 15, 4, "bc15" },
{ 16, 4, "bc16" },
{ 17, 4, "bc17" },
{ 18, 7, "spare14" },
{ 19, 7, "spare13" },
{ 20, 7, "spare12" },
{ 21, 7, "spare11" },
{ 22, 7, "spare10" },
{ 23, 6, "spare9" },
{ 24, 6, "spare8" },
{ 25, 6, "spare7" },
{ 26, 6, "spare6" },
{ 27, 6, "spare5" },
{ 28, 6, "spare4" },
{ 29, 6, "spare3" },
{ 30, 6, "spare2" },
{ 31, 6, "spare1" }
/* This list is extensible */
};
static unsigned int asn_MAP_BandclassCDMA2000_enum2value_1[] = {
0, /* bc0(0) */
1, /* bc1(1) */
10, /* bc10(10) */
11, /* bc11(11) */
12, /* bc12(12) */
13, /* bc13(13) */
14, /* bc14(14) */
15, /* bc15(15) */
16, /* bc16(16) */
17, /* bc17(17) */
2, /* bc2(2) */
3, /* bc3(3) */
4, /* bc4(4) */
5, /* bc5(5) */
6, /* bc6(6) */
7, /* bc7(7) */
8, /* bc8(8) */
9, /* bc9(9) */
31, /* spare1(31) */
22, /* spare10(22) */
21, /* spare11(21) */
20, /* spare12(20) */
19, /* spare13(19) */
18, /* spare14(18) */
30, /* spare2(30) */
29, /* spare3(29) */
28, /* spare4(28) */
27, /* spare5(27) */
26, /* spare6(26) */
25, /* spare7(25) */
24, /* spare8(24) */
23 /* spare9(23) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_BandclassCDMA2000_specs_1 = {
asn_MAP_BandclassCDMA2000_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_BandclassCDMA2000_enum2value_1, /* N => "tag"; sorted by N */
32, /* Number of elements in the maps */
33, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_BandclassCDMA2000_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_BandclassCDMA2000 = {
"BandclassCDMA2000",
"BandclassCDMA2000",
BandclassCDMA2000_free,
BandclassCDMA2000_print,
BandclassCDMA2000_constraint,
BandclassCDMA2000_decode_ber,
BandclassCDMA2000_encode_der,
BandclassCDMA2000_decode_xer,
BandclassCDMA2000_encode_xer,
BandclassCDMA2000_decode_uper,
BandclassCDMA2000_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BandclassCDMA2000_tags_1,
sizeof(asn_DEF_BandclassCDMA2000_tags_1)
/sizeof(asn_DEF_BandclassCDMA2000_tags_1[0]), /* 1 */
asn_DEF_BandclassCDMA2000_tags_1, /* Same as above */
sizeof(asn_DEF_BandclassCDMA2000_tags_1)
/sizeof(asn_DEF_BandclassCDMA2000_tags_1[0]), /* 1 */
&asn_PER_type_BandclassCDMA2000_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_BandclassCDMA2000_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,80 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BandclassCDMA2000_H_
#define _BandclassCDMA2000_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum BandclassCDMA2000 {
BandclassCDMA2000_bc0 = 0,
BandclassCDMA2000_bc1 = 1,
BandclassCDMA2000_bc2 = 2,
BandclassCDMA2000_bc3 = 3,
BandclassCDMA2000_bc4 = 4,
BandclassCDMA2000_bc5 = 5,
BandclassCDMA2000_bc6 = 6,
BandclassCDMA2000_bc7 = 7,
BandclassCDMA2000_bc8 = 8,
BandclassCDMA2000_bc9 = 9,
BandclassCDMA2000_bc10 = 10,
BandclassCDMA2000_bc11 = 11,
BandclassCDMA2000_bc12 = 12,
BandclassCDMA2000_bc13 = 13,
BandclassCDMA2000_bc14 = 14,
BandclassCDMA2000_bc15 = 15,
BandclassCDMA2000_bc16 = 16,
BandclassCDMA2000_bc17 = 17,
BandclassCDMA2000_spare14 = 18,
BandclassCDMA2000_spare13 = 19,
BandclassCDMA2000_spare12 = 20,
BandclassCDMA2000_spare11 = 21,
BandclassCDMA2000_spare10 = 22,
BandclassCDMA2000_spare9 = 23,
BandclassCDMA2000_spare8 = 24,
BandclassCDMA2000_spare7 = 25,
BandclassCDMA2000_spare6 = 26,
BandclassCDMA2000_spare5 = 27,
BandclassCDMA2000_spare4 = 28,
BandclassCDMA2000_spare3 = 29,
BandclassCDMA2000_spare2 = 30,
BandclassCDMA2000_spare1 = 31
/*
* Enumeration is extensible
*/
} e_BandclassCDMA2000;
/* BandclassCDMA2000 */
typedef long BandclassCDMA2000_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BandclassCDMA2000;
asn_struct_free_f BandclassCDMA2000_free;
asn_struct_print_f BandclassCDMA2000_print;
asn_constr_check_f BandclassCDMA2000_constraint;
ber_type_decoder_f BandclassCDMA2000_decode_ber;
der_type_encoder_f BandclassCDMA2000_encode_der;
xer_type_decoder_f BandclassCDMA2000_decode_xer;
xer_type_encoder_f BandclassCDMA2000_encode_xer;
per_type_decoder_f BandclassCDMA2000_decode_uper;
per_type_encoder_f BandclassCDMA2000_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _BandclassCDMA2000_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,124 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BetaOffset-CA-Index.h"
int
BetaOffset_CA_Index_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeInteger.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
BetaOffset_CA_Index_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BetaOffset_CA_Index_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BetaOffset_CA_Index_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
BetaOffset_CA_Index_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BetaOffset_CA_Index_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
BetaOffset_CA_Index_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BetaOffset_CA_Index_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
BetaOffset_CA_Index_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BetaOffset_CA_Index_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static ber_tlv_tag_t asn_DEF_BetaOffset_CA_Index_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_BetaOffset_CA_Index = {
"BetaOffset-CA-Index",
"BetaOffset-CA-Index",
BetaOffset_CA_Index_free,
BetaOffset_CA_Index_print,
BetaOffset_CA_Index_constraint,
BetaOffset_CA_Index_decode_ber,
BetaOffset_CA_Index_encode_der,
BetaOffset_CA_Index_decode_xer,
BetaOffset_CA_Index_encode_xer,
BetaOffset_CA_Index_decode_uper,
BetaOffset_CA_Index_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BetaOffset_CA_Index_tags_1,
sizeof(asn_DEF_BetaOffset_CA_Index_tags_1)
/sizeof(asn_DEF_BetaOffset_CA_Index_tags_1[0]), /* 1 */
asn_DEF_BetaOffset_CA_Index_tags_1, /* Same as above */
sizeof(asn_DEF_BetaOffset_CA_Index_tags_1)
/sizeof(asn_DEF_BetaOffset_CA_Index_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
};

View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BetaOffset_CA_Index_H_
#define _BetaOffset_CA_Index_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* BetaOffset-CA-Index */
typedef long BetaOffset_CA_Index_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BetaOffset_CA_Index;
asn_struct_free_f BetaOffset_CA_Index_free;
asn_struct_print_f BetaOffset_CA_Index_print;
asn_constr_check_f BetaOffset_CA_Index_constraint;
ber_type_decoder_f BetaOffset_CA_Index_decode_ber;
der_type_encoder_f BetaOffset_CA_Index_encode_der;
xer_type_decoder_f BetaOffset_CA_Index_decode_xer;
xer_type_encoder_f BetaOffset_CA_Index_encode_xer;
per_type_decoder_f BetaOffset_CA_Index_decode_uper;
per_type_encoder_f BetaOffset_CA_Index_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _BetaOffset_CA_Index_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,100 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BlackCellsToAddMod.h"
static int
memb_cellIndex_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 1 && value <= 32)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t asn_PER_memb_cellIndex_constr_2 = {
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BlackCellsToAddMod_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BlackCellsToAddMod, cellIndex),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_cellIndex_constraint_1,
&asn_PER_memb_cellIndex_constr_2,
0,
"cellIndex"
},
{ ATF_NOFLAGS, 0, offsetof(struct BlackCellsToAddMod, physCellIdRange),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_PhysCellIdRange,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"physCellIdRange"
},
};
static ber_tlv_tag_t asn_DEF_BlackCellsToAddMod_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_BlackCellsToAddMod_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellIndex at 3271 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* physCellIdRange at 3273 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BlackCellsToAddMod_specs_1 = {
sizeof(struct BlackCellsToAddMod),
offsetof(struct BlackCellsToAddMod, _asn_ctx),
asn_MAP_BlackCellsToAddMod_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BlackCellsToAddMod = {
"BlackCellsToAddMod",
"BlackCellsToAddMod",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BlackCellsToAddMod_tags_1,
sizeof(asn_DEF_BlackCellsToAddMod_tags_1)
/sizeof(asn_DEF_BlackCellsToAddMod_tags_1[0]), /* 1 */
asn_DEF_BlackCellsToAddMod_tags_1, /* Same as above */
sizeof(asn_DEF_BlackCellsToAddMod_tags_1)
/sizeof(asn_DEF_BlackCellsToAddMod_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BlackCellsToAddMod_1,
2, /* Elements count */
&asn_SPC_BlackCellsToAddMod_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,40 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BlackCellsToAddMod_H_
#define _BlackCellsToAddMod_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include "PhysCellIdRange.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* BlackCellsToAddMod */
typedef struct BlackCellsToAddMod {
long cellIndex;
PhysCellIdRange_t physCellIdRange;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BlackCellsToAddMod_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BlackCellsToAddMod;
#ifdef __cplusplus
}
#endif
#endif /* _BlackCellsToAddMod_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "BlackCellsToAddModList.h"
static asn_per_constraints_t asn_PER_type_BlackCellsToAddModList_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BlackCellsToAddModList_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_BlackCellsToAddMod,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
""
},
};
static ber_tlv_tag_t asn_DEF_BlackCellsToAddModList_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_BlackCellsToAddModList_specs_1 = {
sizeof(struct BlackCellsToAddModList),
offsetof(struct BlackCellsToAddModList, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_BlackCellsToAddModList = {
"BlackCellsToAddModList",
"BlackCellsToAddModList",
SEQUENCE_OF_free,
SEQUENCE_OF_print,
SEQUENCE_OF_constraint,
SEQUENCE_OF_decode_ber,
SEQUENCE_OF_encode_der,
SEQUENCE_OF_decode_xer,
SEQUENCE_OF_encode_xer,
SEQUENCE_OF_decode_uper,
SEQUENCE_OF_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BlackCellsToAddModList_tags_1,
sizeof(asn_DEF_BlackCellsToAddModList_tags_1)
/sizeof(asn_DEF_BlackCellsToAddModList_tags_1[0]), /* 1 */
asn_DEF_BlackCellsToAddModList_tags_1, /* Same as above */
sizeof(asn_DEF_BlackCellsToAddModList_tags_1)
/sizeof(asn_DEF_BlackCellsToAddModList_tags_1[0]), /* 1 */
&asn_PER_type_BlackCellsToAddModList_constr_1,
asn_MBR_BlackCellsToAddModList_1,
1, /* Single element */
&asn_SPC_BlackCellsToAddModList_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _BlackCellsToAddModList_H_
#define _BlackCellsToAddModList_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct BlackCellsToAddMod;
/* BlackCellsToAddModList */
typedef struct BlackCellsToAddModList {
A_SEQUENCE_OF(struct BlackCellsToAddMod) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} BlackCellsToAddModList_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BlackCellsToAddModList;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "BlackCellsToAddMod.h"
#endif /* _BlackCellsToAddModList_H_ */
#include <asn_internal.h>

152
lte/rrc/asn/C-RNTI.c Normal file
View File

@ -0,0 +1,152 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "C-RNTI.h"
int
C_RNTI_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(st->size > 0) {
/* Size in bits */
size = 8 * st->size - (st->bits_unused & 0x07);
} else {
size = 0;
}
if((size == 16)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using BIT_STRING,
* so here we adjust the DEF accordingly.
*/
static void
C_RNTI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_BIT_STRING.free_struct;
td->print_struct = asn_DEF_BIT_STRING.print_struct;
td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
td->elements = asn_DEF_BIT_STRING.elements;
td->elements_count = asn_DEF_BIT_STRING.elements_count;
td->specifics = asn_DEF_BIT_STRING.specifics;
}
void
C_RNTI_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
C_RNTI_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
C_RNTI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
C_RNTI_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
C_RNTI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
C_RNTI_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
C_RNTI_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
C_RNTI_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
C_RNTI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
C_RNTI_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
C_RNTI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
C_RNTI_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
C_RNTI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
C_RNTI_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
C_RNTI_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
C_RNTI_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_C_RNTI_constr_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
0, 0 /* No PER value map */
};
static ber_tlv_tag_t asn_DEF_C_RNTI_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_C_RNTI = {
"C-RNTI",
"C-RNTI",
C_RNTI_free,
C_RNTI_print,
C_RNTI_constraint,
C_RNTI_decode_ber,
C_RNTI_encode_der,
C_RNTI_decode_xer,
C_RNTI_encode_xer,
C_RNTI_decode_uper,
C_RNTI_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_C_RNTI_tags_1,
sizeof(asn_DEF_C_RNTI_tags_1)
/sizeof(asn_DEF_C_RNTI_tags_1[0]), /* 1 */
asn_DEF_C_RNTI_tags_1, /* Same as above */
sizeof(asn_DEF_C_RNTI_tags_1)
/sizeof(asn_DEF_C_RNTI_tags_1[0]), /* 1 */
&asn_PER_type_C_RNTI_constr_1,
0, 0, /* No members */
0 /* No specifics */
};

41
lte/rrc/asn/C-RNTI.h Normal file
View File

@ -0,0 +1,41 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _C_RNTI_H_
#define _C_RNTI_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* C-RNTI */
typedef BIT_STRING_t C_RNTI_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_C_RNTI;
asn_struct_free_f C_RNTI_free;
asn_struct_print_f C_RNTI_print;
asn_constr_check_f C_RNTI_constraint;
ber_type_decoder_f C_RNTI_decode_ber;
der_type_encoder_f C_RNTI_encode_der;
xer_type_decoder_f C_RNTI_decode_xer;
xer_type_encoder_f C_RNTI_encode_xer;
per_type_decoder_f C_RNTI_decode_uper;
per_type_encoder_f C_RNTI_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _C_RNTI_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,156 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "CA-BandwidthClass-r10.h"
int
CA_BandwidthClass_r10_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static void
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeEnumerated.free_struct;
td->print_struct = asn_DEF_NativeEnumerated.print_struct;
td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
td->elements = asn_DEF_NativeEnumerated.elements;
td->elements_count = asn_DEF_NativeEnumerated.elements_count;
/* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
}
void
CA_BandwidthClass_r10_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
CA_BandwidthClass_r10_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
CA_BandwidthClass_r10_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}
asn_enc_rval_t
CA_BandwidthClass_r10_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
CA_BandwidthClass_r10_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}
asn_enc_rval_t
CA_BandwidthClass_r10_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
CA_BandwidthClass_r10_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
}
asn_enc_rval_t
CA_BandwidthClass_r10_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
CA_BandwidthClass_r10_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t asn_PER_type_CA_BandwidthClass_r10_constr_1 = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_CA_BandwidthClass_r10_value2enum_1[] = {
{ 0, 1, "a" },
{ 1, 1, "b" },
{ 2, 1, "c" },
{ 3, 1, "d" },
{ 4, 1, "e" },
{ 5, 1, "f" }
/* This list is extensible */
};
static unsigned int asn_MAP_CA_BandwidthClass_r10_enum2value_1[] = {
0, /* a(0) */
1, /* b(1) */
2, /* c(2) */
3, /* d(3) */
4, /* e(4) */
5 /* f(5) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_CA_BandwidthClass_r10_specs_1 = {
asn_MAP_CA_BandwidthClass_r10_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_CA_BandwidthClass_r10_enum2value_1, /* N => "tag"; sorted by N */
6, /* Number of elements in the maps */
7, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static ber_tlv_tag_t asn_DEF_CA_BandwidthClass_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_CA_BandwidthClass_r10 = {
"CA-BandwidthClass-r10",
"CA-BandwidthClass-r10",
CA_BandwidthClass_r10_free,
CA_BandwidthClass_r10_print,
CA_BandwidthClass_r10_constraint,
CA_BandwidthClass_r10_decode_ber,
CA_BandwidthClass_r10_encode_der,
CA_BandwidthClass_r10_decode_xer,
CA_BandwidthClass_r10_encode_xer,
CA_BandwidthClass_r10_decode_uper,
CA_BandwidthClass_r10_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CA_BandwidthClass_r10_tags_1,
sizeof(asn_DEF_CA_BandwidthClass_r10_tags_1)
/sizeof(asn_DEF_CA_BandwidthClass_r10_tags_1[0]), /* 1 */
asn_DEF_CA_BandwidthClass_r10_tags_1, /* Same as above */
sizeof(asn_DEF_CA_BandwidthClass_r10_tags_1)
/sizeof(asn_DEF_CA_BandwidthClass_r10_tags_1[0]), /* 1 */
&asn_PER_type_CA_BandwidthClass_r10_constr_1,
0, 0, /* Defined elsewhere */
&asn_SPC_CA_BandwidthClass_r10_specs_1 /* Additional specs */
};

View File

@ -0,0 +1,54 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#ifndef _CA_BandwidthClass_r10_H_
#define _CA_BandwidthClass_r10_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum CA_BandwidthClass_r10 {
CA_BandwidthClass_r10_a = 0,
CA_BandwidthClass_r10_b = 1,
CA_BandwidthClass_r10_c = 2,
CA_BandwidthClass_r10_d = 3,
CA_BandwidthClass_r10_e = 4,
CA_BandwidthClass_r10_f = 5
/*
* Enumeration is extensible
*/
} e_CA_BandwidthClass_r10;
/* CA-BandwidthClass-r10 */
typedef long CA_BandwidthClass_r10_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_CA_BandwidthClass_r10;
asn_struct_free_f CA_BandwidthClass_r10_free;
asn_struct_print_f CA_BandwidthClass_r10_print;
asn_constr_check_f CA_BandwidthClass_r10_constraint;
ber_type_decoder_f CA_BandwidthClass_r10_decode_ber;
der_type_encoder_f CA_BandwidthClass_r10_encode_der;
xer_type_decoder_f CA_BandwidthClass_r10_decode_xer;
xer_type_encoder_f CA_BandwidthClass_r10_encode_xer;
per_type_decoder_f CA_BandwidthClass_r10_decode_uper;
per_type_encoder_f CA_BandwidthClass_r10_encode_uper;
#ifdef __cplusplus
}
#endif
#endif /* _CA_BandwidthClass_r10_H_ */
#include <asn_internal.h>

View File

@ -0,0 +1,72 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "./asn1c/ASN1_files/EUTRA-RRC-Definitions.asn"
* `asn1c -gen-PER -fcompound-names -fnative-types`
*/
#include "CA-MIMO-ParametersDL-r10.h"
static asn_TYPE_member_t asn_MBR_CA_MIMO_ParametersDL_r10_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct CA_MIMO_ParametersDL_r10, ca_BandwidthClassDL_r10),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CA_BandwidthClass_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ca-BandwidthClassDL-r10"
},
{ ATF_POINTER, 1, offsetof(struct CA_MIMO_ParametersDL_r10, supportedMIMO_CapabilityDL_r10),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MIMO_CapabilityDL_r10,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"supportedMIMO-CapabilityDL-r10"
},
};
static int asn_MAP_CA_MIMO_ParametersDL_r10_oms_1[] = { 1 };
static ber_tlv_tag_t asn_DEF_CA_MIMO_ParametersDL_r10_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_CA_MIMO_ParametersDL_r10_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ca-BandwidthClassDL-r10 at 3851 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* supportedMIMO-CapabilityDL-r10 at 3852 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CA_MIMO_ParametersDL_r10_specs_1 = {
sizeof(struct CA_MIMO_ParametersDL_r10),
offsetof(struct CA_MIMO_ParametersDL_r10, _asn_ctx),
asn_MAP_CA_MIMO_ParametersDL_r10_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_CA_MIMO_ParametersDL_r10_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_CA_MIMO_ParametersDL_r10 = {
"CA-MIMO-ParametersDL-r10",
"CA-MIMO-ParametersDL-r10",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CA_MIMO_ParametersDL_r10_tags_1,
sizeof(asn_DEF_CA_MIMO_ParametersDL_r10_tags_1)
/sizeof(asn_DEF_CA_MIMO_ParametersDL_r10_tags_1[0]), /* 1 */
asn_DEF_CA_MIMO_ParametersDL_r10_tags_1, /* Same as above */
sizeof(asn_DEF_CA_MIMO_ParametersDL_r10_tags_1)
/sizeof(asn_DEF_CA_MIMO_ParametersDL_r10_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_CA_MIMO_ParametersDL_r10_1,
2, /* Elements count */
&asn_SPC_CA_MIMO_ParametersDL_r10_specs_1 /* Additional specs */
};

Some files were not shown because too many files have changed in this diff Show More