Commit db926c9f authored by Robert Schmidt's avatar Robert Schmidt

Build ASN1_LTE_RRC_LIB in separate module from generated source

parent ad5bcf8c

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -332,7 +332,6 @@ add_library(ITTI
${OCP_ITTI}/intertask_interface.cpp
${OPENAIR_DIR}/common/utils/backtrace.c
)
add_dependencies(ITTI rrc_flag)
set(ITTI_LIB ITTI)
set(GTPU_need_ITTI ${OPENAIR3_DIR}/GTPV1-U/gtpv1u_eNB.c)
......@@ -357,29 +356,13 @@ set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
set (RRC_ASN1_VERSION "Rel15")
make_version(LTE_RRC_VERSION 15 6 0)
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.6.0.asn1)
add_definitions(-DLTE_RRC_VERSION=${LTE_RRC_VERSION})
set (RRC_FULL_DIR ${asn1_generated_dir}/RRC_${RRC_ASN1_VERSION})
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
execute_process(COMMAND ${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${RRC_FULL_DIR}" "${RRC_GRAMMAR}" "LTE_"
RESULT_VARIABLE ret)
if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${ret}: error")
endif (NOT ${ret} STREQUAL 0)
file(GLOB rrc_source ${RRC_FULL_DIR}/*.c)
add_custom_target (
rrc_flag ALL
${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${RRC_FULL_DIR}" "${RRC_GRAMMAR}" "LTE_"
DEPENDS ${RRC_GRAMMAR}
)
set_source_files_properties(${rrc_source} PROPERTIES COMPILE_FLAGS -w) # suppress warnings from generated code
add_library(RRC_LIB ${rrc_source}
add_library(RRC_LIB
${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1_msg.c
${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c)
add_dependencies(RRC_LIB rrc_flag)
include_directories ("${RRC_FULL_DIR}")
target_link_libraries(RRC_LIB PUBLIC ASN1_LTE_RRC_LIB)
# see comment in NR RRC
include_directories("openair2/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.6.0.gen/")
#NR RRC
#######
......@@ -427,7 +410,7 @@ add_library(S1AP_LIB
${S1AP_source}
${S1AP_DIR}/s1ap_common.c
)
add_dependencies(S1AP_LIB rrc_flag s1ap_flag)
add_dependencies(S1AP_LIB s1ap_flag)
include_directories ("${S1AP_C_DIR}")
include_directories ("${S1AP_DIR}")
......@@ -446,7 +429,7 @@ add_library(S1AP_ENB
${S1AP_DIR}/s1ap_eNB_trace.c
${S1AP_DIR}/s1ap_eNB_ue_context.c
)
add_dependencies(S1AP_ENB rrc_flag s1ap_flag)
add_dependencies(S1AP_ENB s1ap_flag)
# NGAP
......@@ -481,7 +464,7 @@ add_library(NGAP_LIB
${NGAP_source}
# ${NGAP_DIR}/ngap_common.c
)
add_dependencies(NGAP_LIB rrc_flag ngap_flag)
add_dependencies(NGAP_LIB ngap_flag)
include_directories ("${NGAP_C_DIR}")
include_directories ("${NGAP_DIR}")
......@@ -500,7 +483,7 @@ add_library(NGAP_GNB
${NGAP_DIR}/ngap_gNB_trace.c
${NGAP_DIR}/ngap_gNB_ue_context.c
)
add_dependencies(NGAP_GNB rrc_flag ngap_flag)
add_dependencies(NGAP_GNB ngap_flag)
#M2AP
# Same limitation as described in RRC/S1AP: unknown generated file list
......@@ -548,7 +531,7 @@ add_library(M2AP_LIB
${M2AP_source}
${M2AP_DIR}/m2ap_common.c
)
add_dependencies(M2AP_LIB rrc_flag m2_flag)
add_dependencies(M2AP_LIB m2_flag)
include_directories ("${M2AP_C_DIR}")
include_directories ("${M2AP_DIR}")
......@@ -570,7 +553,7 @@ add_library(M2AP_ENB
${M2AP_DIR}/m2ap_MCE_interface_management.c
${M2AP_DIR}/m2ap_eNB_interface_management.c
)
add_dependencies(M2AP_ENB rrc_flag m2_flag)
add_dependencies(M2AP_ENB m2_flag)
#M3AP
# Same limitation as described in RRC/S1AP: unknown generated file list
......@@ -618,7 +601,7 @@ add_library(M3AP_LIB
${M3AP_source}
${M3AP_DIR}/m3ap_common.c
)
add_dependencies(M3AP_LIB rrc_flag m3_flag)
add_dependencies(M3AP_LIB m3_flag)
include_directories ("${M3AP_C_DIR}")
include_directories ("${M3AP_DIR}")
......@@ -638,7 +621,7 @@ add_library(M3AP_ENB
${M3AP_DIR}/m3ap_ids.c
${M3AP_DIR}/m3ap_timers.c
)
add_dependencies(M3AP_ENB rrc_flag m3_flag)
add_dependencies(M3AP_ENB m3_flag)
#X2AP
# Same limitation as described in RRC/S1AP: unknown generated file list
......@@ -672,7 +655,7 @@ add_library(X2AP_LIB
${X2AP_source}
${X2AP_DIR}/x2ap_common.c
)
add_dependencies(X2AP_LIB rrc_flag x2_flag)
add_dependencies(X2AP_LIB x2_flag)
include_directories ("${X2AP_C_DIR}")
include_directories ("${X2AP_DIR}")
......@@ -688,7 +671,7 @@ add_library(X2AP_ENB
${X2AP_DIR}/x2ap_ids.c
${X2AP_DIR}/x2ap_timers.c
)
add_dependencies(X2AP_ENB X2AP_LIB rrc_flag x2_flag)
add_dependencies(X2AP_ENB X2AP_LIB x2_flag)
# F1AP
......@@ -1162,7 +1145,6 @@ add_library(FLEXRAN_AGENT
${OPENAIR2_DIR}/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.c
${OPENAIR2_DIR}/ENB_APP/flexran_agent_app.c
)
add_dependencies(FLEXRAN_AGENT rrc_flag)
set(FLEXRAN_AGENT_LIB FLEXRAN_AGENT)
add_library(flapp_sample SHARED
${OPENAIR2_DIR}/ENB_APP/flexran_apps/sample.c
......@@ -1297,7 +1279,6 @@ set(UTIL_SRC
# ${OPENAIR2_DIR}/UTIL/OTG/otg_rx.c
)
add_library(UTIL ${UTIL_SRC})
add_dependencies(UTIL rrc_flag)
#set(OMG_SUMO_SRC
# ${OPENAIR2_DIR}/UTIL/OMG/client_traci_OMG.c
......@@ -1340,7 +1321,7 @@ set(SCHED_SRC
${OPENAIR1_DIR}/SCHED/phy_procedures_lte_common.c
)
add_library(SCHED_LIB ${SCHED_SRC})
add_dependencies(SCHED_LIB rrc_flag)
target_link_libraries(SCHED_LIB PUBLIC RRC_LIB)
set(SCHED_NR_SRC
${OPENAIR1_DIR}/SCHED_NR/fapi_nr_l1.c
......@@ -1358,7 +1339,6 @@ set(SCHED_SRC_RU
${OPENAIR1_DIR}/SCHED/prach_procedures.c
)
add_library(SCHED_RU_LIB ${SCHED_SRC_RU})
add_dependencies(SCHED_RU_LIB rrc_flag)
set(SCHED_SRC_UE
${OPENAIR1_DIR}/SCHED_UE/phy_procedures_lte_ue.c
......@@ -1368,7 +1348,6 @@ set(SCHED_SRC_UE
${OPENAIR1_DIR}/SCHED_UE/srs_pc.c
)
add_library(SCHED_UE_LIB ${SCHED_SRC_UE})
add_dependencies(SCHED_UE_LIB rrc_flag)
set(SCHED_SRC_NR_UE
${OPENAIR1_DIR}/SCHED_NR_UE/phy_procedures_nr_ue.c
......@@ -1432,7 +1411,6 @@ set(NFAPI_USER_SRC
${NFAPI_USER_DIR}/nfapi_vnf.c
)
add_library(NFAPI_USER_LIB ${NFAPI_USER_SRC})
add_dependencies(NFAPI_USER_LIB rrc_flag)
include_directories(${NFAPI_USER_DIR})
# Layer 1
......@@ -1761,19 +1739,15 @@ if (${COMPILATION_AVX2} STREQUAL "True")
endif ()
add_library(PHY_COMMON ${PHY_SRC_COMMON})
add_dependencies(PHY_COMMON rrc_flag)
add_dependencies(PHY_COMMON dfts)
add_library(PHY ${PHY_SRC})
add_dependencies(PHY rrc_flag)
add_library(PHY_UE ${PHY_SRC_UE})
add_dependencies(PHY_UE rrc_flag)
add_library(PHY_NR_COMMON ${PHY_NR_SRC_COMMON})
add_library(PHY_NR ${PHY_NR_SRC})
add_library(PHY_NR_UE ${PHY_NR_UE_SRC})
add_library(PHY_RU ${PHY_SRC_RU})
add_dependencies(PHY_RU rrc_flag)
#Library for mex functions
#########################3
......@@ -2061,7 +2035,7 @@ add_library(L2
${ENB_APP_SRC}
${MCE_APP_SRC}
)
add_dependencies(L2 rrc_flag s1ap_flag x2_flag m2_flag m3_flag)
add_dependencies(L2 s1ap_flag x2_flag m2_flag m3_flag)
add_library(MAC_NR
${MAC_NR_SRC}
......@@ -2088,7 +2062,7 @@ add_library(L2_LTE_NR
${MCE_APP_SRC}
)
add_dependencies(L2_NR rrc_flag s1ap_flag x2_flag)
add_dependencies(L2_NR s1ap_flag x2_flag)
add_library(L2_UE
${L2_SRC_UE}
......@@ -2104,7 +2078,7 @@ if (NOT ${NOS1})
target_compile_definitions(L2_UE PUBLIC -DPDCP_USE_NETLINK)
endif()
add_dependencies(L2_UE rrc_flag s1ap_flag x2_flag)
add_dependencies(L2_UE s1ap_flag x2_flag)
add_library( NR_L2_UE ${NR_L2_SRC_UE} ${MAC_NR_SRC_UE} )
......@@ -2137,7 +2111,6 @@ set (GTPV1U_SRC
${GTPV1U_DIR}/gtpv1u_teid_pool.c
)
add_library(GTPV1U ${GTPV1U_SRC})
add_dependencies(GTPV1U rrc_flag)
#add_library (GTPV1U_OCP
#${OPENAIR3_DIR}/ocp-gtp/gtp_itf.cpp
......@@ -2155,14 +2128,13 @@ set (NR_GTPV1U_SRC
${GTPV1U_DIR}/gtpv1u_teid_pool.c
)
add_library(NR_GTPV1U ${NR_GTPV1U_SRC})
add_dependencies(NR_GTPV1U rrc_flag)
set (MME_APP_SRC
${OPENAIR3_DIR}/MME_APP/mme_app.c
${OPENAIR3_DIR}/MME_APP/mme_config.c
)
add_library(MME_APP ${MME_APP_SRC})
add_dependencies(MME_APP rrc_flag s1ap_flag x2_flag m2_flag m3_flag)
add_dependencies(MME_APP s1ap_flag x2_flag m2_flag m3_flag)
set(SCTP_SRC
${OPENAIR3_DIR}/SCTP/sctp_common.c
......@@ -2170,10 +2142,8 @@ set(SCTP_SRC
${OPENAIR3_DIR}/SCTP/sctp_eNB_itti_messaging.c
)
add_library(SCTP_CLIENT ${SCTP_SRC})
add_dependencies(SCTP_CLIENT rrc_flag)
add_library(UDP ${OPENAIR3_DIR}/UDP/udp_eNB_task.c)
add_dependencies(UDP rrc_flag)
set(NAS_SRC ${OPENAIR3_DIR}/NAS/)
......@@ -2422,7 +2392,6 @@ if(NAS_UE)
${libnas_ue_esm_OBJS}
${libnas_ue_esm_sap_OBJS}
)
add_dependencies(LIB_NAS_UE rrc_flag)
set(NAS_UE_LIB LIB_NAS_UE)
include_directories(${NAS_SRC}UE)
......@@ -2550,7 +2519,6 @@ if(ITTI_SIM)
${libnrnas_emm_msg_OBJS}
${libnrnas_ies_OBJS}
)
add_dependencies(LIB_NAS_SIMUE rrc_flag)
set(NAS_SIM_LIB LIB_NAS_SIMUE)
include_directories(${NAS_SRC}NR_UE)
......@@ -2802,7 +2770,7 @@ add_executable(lte-softmodem
${CONFIG_SOURCES}
${SHLIB_LOADER_SOURCES}
)
add_dependencies(lte-softmodem rrc_flag s1ap_flag x2_flag oai_iqplayer)
add_dependencies(lte-softmodem s1ap_flag x2_flag oai_iqplayer)
target_link_libraries (lte-softmodem
-Wl,--start-group
......@@ -2843,7 +2811,7 @@ add_executable(ocp-enb
${CONFIG_SOURCES}
${SHLIB_LOADER_SOURCES}
)
add_dependencies(ocp-enb rrc_flag s1ap_flag x2_flag oai_iqplayer coding params_libconfig rfsimulator)
add_dependencies(ocp-enb s1ap_flag x2_flag oai_iqplayer coding params_libconfig rfsimulator)
target_link_libraries (ocp-enb
-Wl,--start-group
......@@ -2909,7 +2877,7 @@ add_executable(lte-uesoftmodem
${SHLIB_LOADER_SOURCES}
)
add_dependencies(lte-uesoftmodem rrc_flag s1ap_flag x2_flag)
add_dependencies(lte-uesoftmodem s1ap_flag x2_flag)
if (NOT ${NOS1})
target_compile_definitions(lte-uesoftmodem PRIVATE -DPDCP_USE_NETLINK)
......
add_subdirectory(LTE)
add_subdirectory(NR)
add_subdirectory(MESSAGES)
Create the ASN.1 C files:
ASN1C_PREFIX=LTE_ asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen lte-rrc-15.6.0.asn1
/*-
* Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
* Redistribution and modifications are permitted subject to BSD license.
*/
#ifndef _BIT_STRING_H_
#define _BIT_STRING_H_
#include <OCTET_STRING.h> /* Some help from OCTET STRING */
#ifdef __cplusplus
extern "C" {
#endif
typedef struct BIT_STRING_s {
uint8_t *buf; /* BIT STRING body */
size_t size; /* Size of the above buffer */
int bits_unused;/* Unused trailing bits in the last octet (0..7) */
asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
} BIT_STRING_t;
extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING;
extern asn_TYPE_operation_t asn_OP_BIT_STRING;
extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs;
asn_struct_print_f BIT_STRING_print; /* Human-readable output */
asn_struct_compare_f BIT_STRING_compare;
asn_constr_check_f BIT_STRING_constraint;
xer_type_encoder_f BIT_STRING_encode_xer;
oer_type_decoder_f BIT_STRING_decode_oer;
oer_type_encoder_f BIT_STRING_encode_oer;
per_type_decoder_f BIT_STRING_decode_uper;
per_type_encoder_f BIT_STRING_encode_uper;
asn_random_fill_f BIT_STRING_random_fill;
#define BIT_STRING_free OCTET_STRING_free
#define BIT_STRING_decode_ber OCTET_STRING_decode_ber
#define BIT_STRING_encode_der OCTET_STRING_encode_der
#define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary
#define BIT_STRING_decode_aper OCTET_STRING_decode_aper
#define BIT_STRING_encode_aper OCTET_STRING_encode_aper
#ifdef __cplusplus
}
#endif
#endif /* _BIT_STRING_H_ */
/*-
* Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
* Redistribution and modifications are permitted subject to BSD license.
*/
#ifndef _BOOLEAN_H_
#define _BOOLEAN_H_
#include <asn_application.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* The underlying integer may contain various values, but everything
* non-zero is capped to 0xff by the DER encoder. The BER decoder may
* yield non-zero values different from 1, beware.
*/
typedef int BOOLEAN_t;
extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN;
extern asn_TYPE_operation_t asn_OP_BOOLEAN;
asn_struct_free_f BOOLEAN_free;
asn_struct_print_f BOOLEAN_print;
asn_struct_compare_f BOOLEAN_compare;
ber_type_decoder_f BOOLEAN_decode_ber;
der_type_encoder_f BOOLEAN_encode_der;
oer_type_decoder_f BOOLEAN_decode_oer;
oer_type_encoder_f BOOLEAN_encode_oer;
per_type_decoder_f BOOLEAN_decode_uper;
per_type_encoder_f BOOLEAN_encode_uper;
per_type_decoder_f BOOLEAN_decode_aper;
per_type_encoder_f BOOLEAN_encode_aper;
xer_type_decoder_f BOOLEAN_decode_xer;
xer_type_encoder_f BOOLEAN_encode_xer;
asn_random_fill_f BOOLEAN_random_fill;
#define BOOLEAN_constraint asn_generic_no_constraint
#ifdef __cplusplus
}
#endif
#endif /* _BOOLEAN_H_ */
/*-
* Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
* Redistribution and modifications are permitted subject to BSD license.
*/
#ifndef _INTEGER_H_
#define _INTEGER_H_
#include <asn_application.h>
#include <asn_codecs_prim.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef ASN__PRIMITIVE_TYPE_t INTEGER_t;
extern asn_TYPE_descriptor_t asn_DEF_INTEGER;
extern asn_TYPE_operation_t asn_OP_INTEGER;
/* Map with <tag> to integer value association */
typedef struct asn_INTEGER_enum_map_s {
long nat_value; /* associated native integer value */
size_t enum_len; /* strlen("tag") */
const char *enum_name; /* "tag" */
} asn_INTEGER_enum_map_t;
/* This type describes an enumeration for INTEGER and ENUMERATED types */
typedef struct asn_INTEGER_specifics_s {
const asn_INTEGER_enum_map_t *value2enum; /* N -> "tag"; sorted by N */
const unsigned int *enum2value; /* "tag" => N; sorted by tag */
int map_count; /* Elements in either map */
int extension; /* This map is extensible */
int strict_enumeration; /* Enumeration set is fixed */
int field_width; /* Size of native integer */
int field_unsigned; /* Signed=0, unsigned=1 */
} asn_INTEGER_specifics_t;
#define INTEGER_free ASN__PRIMITIVE_TYPE_free
#define INTEGER_decode_ber ber_decode_primitive
#define INTEGER_constraint asn_generic_no_constraint
asn_struct_print_f INTEGER_print;
asn_struct_compare_f INTEGER_compare;
der_type_encoder_f INTEGER_encode_der;
xer_type_decoder_f INTEGER_decode_xer;
xer_type_encoder_f INTEGER_encode_xer;
oer_type_decoder_f INTEGER_decode_oer;
oer_type_encoder_f INTEGER_encode_oer;
per_type_decoder_f INTEGER_decode_uper;
per_type_encoder_f INTEGER_encode_uper;
per_type_decoder_f INTEGER_decode_aper;
per_type_encoder_f INTEGER_encode_aper;
asn_random_fill_f INTEGER_random_fill;
/***********************************
* Some handy conversion routines. *
***********************************/
/*
* Natiwe size-independent conversion of native integers to/from INTEGER.
* (l_size) is in bytes.
* Returns 0 if it was possible to convert, -1 otherwise.
* -1/EINVAL: Mandatory argument missing
* -1/ERANGE: Value encoded is out of range for long representation
* -1/ENOMEM: Memory allocation failed (in asn_*2INTEGER()).
*/
int asn_INTEGER2imax(const INTEGER_t *i, intmax_t *l);
int asn_INTEGER2umax(const INTEGER_t *i, uintmax_t *l);
int asn_imax2INTEGER(INTEGER_t *i, intmax_t l);
int asn_umax2INTEGER(INTEGER_t *i, uintmax_t l);
/*
* Size-specific conversion helpers.
*/
int asn_INTEGER2long(const INTEGER_t *i, long *l);
int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l);
int asn_long2INTEGER(INTEGER_t *i, long l);
int asn_ulong2INTEGER(INTEGER_t *i, unsigned long l);
int asn_int642INTEGER(INTEGER_t *i, int64_t l);
int asn_uint642INTEGER(INTEGER_t *i, uint64_t l);
/* A version of strtol/strtoimax(3) with nicer error reporting. */
enum asn_strtox_result_e {
ASN_STRTOX_ERROR_RANGE = -3, /* Input outside of supported numeric range */
ASN_STRTOX_ERROR_INVAL = -2, /* Invalid data encountered (e.g., "+-") */
ASN_STRTOX_EXPECT_MORE = -1, /* More data expected (e.g. "+") */
ASN_STRTOX_OK = 0, /* Conversion succeded, number ends at (*end) */
ASN_STRTOX_EXTRA_DATA = 1 /* Conversion succeded, but the string has extra stuff */
};
enum asn_strtox_result_e asn_strtol_lim(const char *str, const char **end,
long *l);
enum asn_strtox_result_e asn_strtoul_lim(const char *str, const char **end,
unsigned long *l);
enum asn_strtox_result_e asn_strtoimax_lim(const char *str, const char **end,
intmax_t *l);
enum asn_strtox_result_e asn_strtoumax_lim(const char *str, const char **end,
uintmax_t *l);
/*
* Convert the integer value into the corresponding enumeration map entry.
*/
const asn_INTEGER_enum_map_t *INTEGER_map_value2enum(
const asn_INTEGER_specifics_t *specs, long value);
#ifdef __cplusplus
}
#endif
#endif /* _INTEGER_H_ */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NBIOT-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#include "LTE_AB-Config-NB-r13.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static int
memb_LTE_ab_BarringBitmap_r13_constraint_1(const 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 == 10)) {
/* 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_LTE_ab_BarringForSpecialAC_r13_constraint_1(const 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_LTE_ab_Category_r13_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_type_LTE_ab_BarringForExceptionData_r13_constr_7 CC_NOTUSED = {
{ APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_LTE_ab_BarringBitmap_r13_constr_6 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 10, 10 } /* (SIZE(10..10)) */,
0, 0 /* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_LTE_ab_BarringForSpecialAC_r13_constr_9 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 5, 5 } /* (SIZE(5..5)) */,
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_LTE_ab_Category_r13_value2enum_2[] = {
{ 0, 1, "a" },
{ 1, 1, "b" },
{ 2, 1, "c" }
};
static const unsigned int asn_MAP_LTE_ab_Category_r13_enum2value_2[] = {
0, /* a(0) */
1, /* b(1) */
2 /* c(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_LTE_ab_Category_r13_specs_2 = {
asn_MAP_LTE_ab_Category_r13_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_LTE_ab_Category_r13_enum2value_2, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
0, /* Enumeration is not extensible */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_LTE_ab_Category_r13_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_LTE_ab_Category_r13_2 = {
"ab-Category-r13",
"ab-Category-r13",
&asn_OP_NativeEnumerated,
asn_DEF_LTE_ab_Category_r13_tags_2,
sizeof(asn_DEF_LTE_ab_Category_r13_tags_2)
/sizeof(asn_DEF_LTE_ab_Category_r13_tags_2[0]) - 1, /* 1 */
asn_DEF_LTE_ab_Category_r13_tags_2, /* Same as above */
sizeof(asn_DEF_LTE_ab_Category_r13_tags_2)
/sizeof(asn_DEF_LTE_ab_Category_r13_tags_2[0]), /* 2 */
{ 0, &asn_PER_type_LTE_ab_Category_r13_constr_2, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_LTE_ab_Category_r13_specs_2 /* Additional specs */
};
static const asn_INTEGER_enum_map_t asn_MAP_LTE_ab_BarringForExceptionData_r13_value2enum_7[] = {
{ 0, 4, "true" }
};
static const unsigned int asn_MAP_LTE_ab_BarringForExceptionData_r13_enum2value_7[] = {
0 /* true(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_LTE_ab_BarringForExceptionData_r13_specs_7 = {
asn_MAP_LTE_ab_BarringForExceptionData_r13_value2enum_7, /* "tag" => N; sorted by tag */
asn_MAP_LTE_ab_BarringForExceptionData_r13_enum2value_7, /* 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 const ber_tlv_tag_t asn_DEF_LTE_ab_BarringForExceptionData_r13_tags_7[] = {
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_LTE_ab_BarringForExceptionData_r13_7 = {
"ab-BarringForExceptionData-r13",
"ab-BarringForExceptionData-r13",
&asn_OP_NativeEnumerated,
asn_DEF_LTE_ab_BarringForExceptionData_r13_tags_7,
sizeof(asn_DEF_LTE_ab_BarringForExceptionData_r13_tags_7)
/sizeof(asn_DEF_LTE_ab_BarringForExceptionData_r13_tags_7[0]) - 1, /* 1 */
asn_DEF_LTE_ab_BarringForExceptionData_r13_tags_7, /* Same as above */
sizeof(asn_DEF_LTE_ab_BarringForExceptionData_r13_tags_7)
/sizeof(asn_DEF_LTE_ab_BarringForExceptionData_r13_tags_7[0]), /* 2 */
{ 0, &asn_PER_type_LTE_ab_BarringForExceptionData_r13_constr_7, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_LTE_ab_BarringForExceptionData_r13_specs_7 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_LTE_AB_Config_NB_r13_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct LTE_AB_Config_NB_r13, ab_Category_r13),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LTE_ab_Category_r13_2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"ab-Category-r13"
},
{ ATF_NOFLAGS, 0, offsetof(struct LTE_AB_Config_NB_r13, ab_BarringBitmap_r13),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
{ 0, &asn_PER_memb_LTE_ab_BarringBitmap_r13_constr_6, memb_LTE_ab_BarringBitmap_r13_constraint_1 },
0, 0, /* No default value */
"ab-BarringBitmap-r13"
},
{ ATF_POINTER, 1, offsetof(struct LTE_AB_Config_NB_r13, ab_BarringForExceptionData_r13),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LTE_ab_BarringForExceptionData_r13_7,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"ab-BarringForExceptionData-r13"
},
{ ATF_NOFLAGS, 0, offsetof(struct LTE_AB_Config_NB_r13, ab_BarringForSpecialAC_r13),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
{ 0, &asn_PER_memb_LTE_ab_BarringForSpecialAC_r13_constr_9, memb_LTE_ab_BarringForSpecialAC_r13_constraint_1 },
0, 0, /* No default value */
"ab-BarringForSpecialAC-r13"
},
};
static const int asn_MAP_LTE_AB_Config_NB_r13_oms_1[] = { 2 };
static const ber_tlv_tag_t asn_DEF_LTE_AB_Config_NB_r13_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_LTE_AB_Config_NB_r13_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ab-Category-r13 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ab-BarringBitmap-r13 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ab-BarringForExceptionData-r13 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ab-BarringForSpecialAC-r13 */
};
asn_SEQUENCE_specifics_t asn_SPC_LTE_AB_Config_NB_r13_specs_1 = {
sizeof(struct LTE_AB_Config_NB_r13),
offsetof(struct LTE_AB_Config_NB_r13, _asn_ctx),
asn_MAP_LTE_AB_Config_NB_r13_tag2el_1,
4, /* Count of tags in the map */
asn_MAP_LTE_AB_Config_NB_r13_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_LTE_AB_Config_NB_r13 = {
"AB-Config-NB-r13",
"AB-Config-NB-r13",
&asn_OP_SEQUENCE,
asn_DEF_LTE_AB_Config_NB_r13_tags_1,
sizeof(asn_DEF_LTE_AB_Config_NB_r13_tags_1)
/sizeof(asn_DEF_LTE_AB_Config_NB_r13_tags_1[0]), /* 1 */
asn_DEF_LTE_AB_Config_NB_r13_tags_1, /* Same as above */
sizeof(asn_DEF_LTE_AB_Config_NB_r13_tags_1)
/sizeof(asn_DEF_LTE_AB_Config_NB_r13_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_LTE_AB_Config_NB_r13_1,
4, /* Elements count */
&asn_SPC_LTE_AB_Config_NB_r13_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NBIOT-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_AB_Config_NB_r13_H_
#define _LTE_AB_Config_NB_r13_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 LTE_AB_Config_NB_r13__ab_Category_r13 {
LTE_AB_Config_NB_r13__ab_Category_r13_a = 0,
LTE_AB_Config_NB_r13__ab_Category_r13_b = 1,
LTE_AB_Config_NB_r13__ab_Category_r13_c = 2
} e_LTE_AB_Config_NB_r13__ab_Category_r13;
typedef enum LTE_AB_Config_NB_r13__ab_BarringForExceptionData_r13 {
LTE_AB_Config_NB_r13__ab_BarringForExceptionData_r13_true = 0
} e_LTE_AB_Config_NB_r13__ab_BarringForExceptionData_r13;
/* LTE_AB-Config-NB-r13 */
typedef struct LTE_AB_Config_NB_r13 {
long ab_Category_r13;
BIT_STRING_t ab_BarringBitmap_r13;
long *ab_BarringForExceptionData_r13; /* OPTIONAL */
BIT_STRING_t ab_BarringForSpecialAC_r13;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} LTE_AB_Config_NB_r13_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_LTE_ab_Category_r13_2; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_LTE_ab_BarringForExceptionData_r13_7; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_LTE_AB_Config_NB_r13;
extern asn_SEQUENCE_specifics_t asn_SPC_LTE_AB_Config_NB_r13_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_AB_Config_NB_r13_1[4];
#ifdef __cplusplus
}
#endif
#endif /* _LTE_AB_Config_NB_r13_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NBIOT-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#include "LTE_AB-ConfigPLMN-NB-r13.h"
asn_TYPE_member_t asn_MBR_LTE_AB_ConfigPLMN_NB_r13_1[] = {
{ ATF_POINTER, 1, offsetof(struct LTE_AB_ConfigPLMN_NB_r13, ab_Config_r13),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LTE_AB_Config_NB_r13,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"ab-Config-r13"
},
};
static const int asn_MAP_LTE_AB_ConfigPLMN_NB_r13_oms_1[] = { 0 };
static const ber_tlv_tag_t asn_DEF_LTE_AB_ConfigPLMN_NB_r13_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_LTE_AB_ConfigPLMN_NB_r13_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ab-Config-r13 */
};
asn_SEQUENCE_specifics_t asn_SPC_LTE_AB_ConfigPLMN_NB_r13_specs_1 = {
sizeof(struct LTE_AB_ConfigPLMN_NB_r13),
offsetof(struct LTE_AB_ConfigPLMN_NB_r13, _asn_ctx),
asn_MAP_LTE_AB_ConfigPLMN_NB_r13_tag2el_1,
1, /* Count of tags in the map */
asn_MAP_LTE_AB_ConfigPLMN_NB_r13_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_LTE_AB_ConfigPLMN_NB_r13 = {
"AB-ConfigPLMN-NB-r13",
"AB-ConfigPLMN-NB-r13",
&asn_OP_SEQUENCE,
asn_DEF_LTE_AB_ConfigPLMN_NB_r13_tags_1,
sizeof(asn_DEF_LTE_AB_ConfigPLMN_NB_r13_tags_1)
/sizeof(asn_DEF_LTE_AB_ConfigPLMN_NB_r13_tags_1[0]), /* 1 */
asn_DEF_LTE_AB_ConfigPLMN_NB_r13_tags_1, /* Same as above */
sizeof(asn_DEF_LTE_AB_ConfigPLMN_NB_r13_tags_1)
/sizeof(asn_DEF_LTE_AB_ConfigPLMN_NB_r13_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_LTE_AB_ConfigPLMN_NB_r13_1,
1, /* Elements count */
&asn_SPC_LTE_AB_ConfigPLMN_NB_r13_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NBIOT-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_AB_ConfigPLMN_NB_r13_H_
#define _LTE_AB_ConfigPLMN_NB_r13_H_
#include <asn_application.h>
/* Including external dependencies */
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct LTE_AB_Config_NB_r13;
/* LTE_AB-ConfigPLMN-NB-r13 */
typedef struct LTE_AB_ConfigPLMN_NB_r13 {
struct LTE_AB_Config_NB_r13 *ab_Config_r13; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} LTE_AB_ConfigPLMN_NB_r13_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_LTE_AB_ConfigPLMN_NB_r13;
extern asn_SEQUENCE_specifics_t asn_SPC_LTE_AB_ConfigPLMN_NB_r13_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_AB_ConfigPLMN_NB_r13_1[1];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "LTE_AB-Config-NB-r13.h"
#endif /* _LTE_AB_ConfigPLMN_NB_r13_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#include "LTE_AC-BarringConfig.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
static int
memb_LTE_ac_BarringForSpecialAC_constraint_1(const 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_LTE_ac_BarringFactor_constr_2 CC_NOTUSED = {
{ 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_LTE_ac_BarringTime_constr_19 CC_NOTUSED = {
{ 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_LTE_ac_BarringForSpecialAC_constr_28 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 5, 5 } /* (SIZE(5..5)) */,
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_LTE_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 const unsigned int asn_MAP_LTE_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 const asn_INTEGER_specifics_t asn_SPC_LTE_ac_BarringFactor_specs_2 = {
asn_MAP_LTE_ac_BarringFactor_value2enum_2, /* "tag" => N; sorted by tag */
asn_MAP_LTE_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 const ber_tlv_tag_t asn_DEF_LTE_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_LTE_ac_BarringFactor_2 = {
"ac-BarringFactor",
"ac-BarringFactor",
&asn_OP_NativeEnumerated,
asn_DEF_LTE_ac_BarringFactor_tags_2,
sizeof(asn_DEF_LTE_ac_BarringFactor_tags_2)
/sizeof(asn_DEF_LTE_ac_BarringFactor_tags_2[0]) - 1, /* 1 */
asn_DEF_LTE_ac_BarringFactor_tags_2, /* Same as above */
sizeof(asn_DEF_LTE_ac_BarringFactor_tags_2)
/sizeof(asn_DEF_LTE_ac_BarringFactor_tags_2[0]), /* 2 */
{ 0, &asn_PER_type_LTE_ac_BarringFactor_constr_2, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_LTE_ac_BarringFactor_specs_2 /* Additional specs */
};
static const asn_INTEGER_enum_map_t asn_MAP_LTE_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 const unsigned int asn_MAP_LTE_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 const asn_INTEGER_specifics_t asn_SPC_LTE_ac_BarringTime_specs_19 = {
asn_MAP_LTE_ac_BarringTime_value2enum_19, /* "tag" => N; sorted by tag */
asn_MAP_LTE_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 const ber_tlv_tag_t asn_DEF_LTE_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_LTE_ac_BarringTime_19 = {
"ac-BarringTime",
"ac-BarringTime",
&asn_OP_NativeEnumerated,
asn_DEF_LTE_ac_BarringTime_tags_19,
sizeof(asn_DEF_LTE_ac_BarringTime_tags_19)
/sizeof(asn_DEF_LTE_ac_BarringTime_tags_19[0]) - 1, /* 1 */
asn_DEF_LTE_ac_BarringTime_tags_19, /* Same as above */
sizeof(asn_DEF_LTE_ac_BarringTime_tags_19)
/sizeof(asn_DEF_LTE_ac_BarringTime_tags_19[0]), /* 2 */
{ 0, &asn_PER_type_LTE_ac_BarringTime_constr_19, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_LTE_ac_BarringTime_specs_19 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_LTE_AC_BarringConfig_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct LTE_AC_BarringConfig, ac_BarringFactor),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LTE_ac_BarringFactor_2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"ac-BarringFactor"
},
{ ATF_NOFLAGS, 0, offsetof(struct LTE_AC_BarringConfig, ac_BarringTime),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LTE_ac_BarringTime_19,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"ac-BarringTime"
},
{ ATF_NOFLAGS, 0, offsetof(struct LTE_AC_BarringConfig, ac_BarringForSpecialAC),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
{ 0, &asn_PER_memb_LTE_ac_BarringForSpecialAC_constr_28, memb_LTE_ac_BarringForSpecialAC_constraint_1 },
0, 0, /* No default value */
"ac-BarringForSpecialAC"
},
};
static const ber_tlv_tag_t asn_DEF_LTE_AC_BarringConfig_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_LTE_AC_BarringConfig_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ac-BarringFactor */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ac-BarringTime */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ac-BarringForSpecialAC */
};
asn_SEQUENCE_specifics_t asn_SPC_LTE_AC_BarringConfig_specs_1 = {
sizeof(struct LTE_AC_BarringConfig),
offsetof(struct LTE_AC_BarringConfig, _asn_ctx),
asn_MAP_LTE_AC_BarringConfig_tag2el_1,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_LTE_AC_BarringConfig = {
"AC-BarringConfig",
"AC-BarringConfig",
&asn_OP_SEQUENCE,
asn_DEF_LTE_AC_BarringConfig_tags_1,
sizeof(asn_DEF_LTE_AC_BarringConfig_tags_1)
/sizeof(asn_DEF_LTE_AC_BarringConfig_tags_1[0]), /* 1 */
asn_DEF_LTE_AC_BarringConfig_tags_1, /* Same as above */
sizeof(asn_DEF_LTE_AC_BarringConfig_tags_1)
/sizeof(asn_DEF_LTE_AC_BarringConfig_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_LTE_AC_BarringConfig_1,
3, /* Elements count */
&asn_SPC_LTE_AC_BarringConfig_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_AC_BarringConfig_H_
#define _LTE_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 LTE_AC_BarringConfig__ac_BarringFactor {
LTE_AC_BarringConfig__ac_BarringFactor_p00 = 0,
LTE_AC_BarringConfig__ac_BarringFactor_p05 = 1,
LTE_AC_BarringConfig__ac_BarringFactor_p10 = 2,
LTE_AC_BarringConfig__ac_BarringFactor_p15 = 3,
LTE_AC_BarringConfig__ac_BarringFactor_p20 = 4,
LTE_AC_BarringConfig__ac_BarringFactor_p25 = 5,
LTE_AC_BarringConfig__ac_BarringFactor_p30 = 6,
LTE_AC_BarringConfig__ac_BarringFactor_p40 = 7,
LTE_AC_BarringConfig__ac_BarringFactor_p50 = 8,
LTE_AC_BarringConfig__ac_BarringFactor_p60 = 9,
LTE_AC_BarringConfig__ac_BarringFactor_p70 = 10,
LTE_AC_BarringConfig__ac_BarringFactor_p75 = 11,
LTE_AC_BarringConfig__ac_BarringFactor_p80 = 12,
LTE_AC_BarringConfig__ac_BarringFactor_p85 = 13,
LTE_AC_BarringConfig__ac_BarringFactor_p90 = 14,
LTE_AC_BarringConfig__ac_BarringFactor_p95 = 15
} e_LTE_AC_BarringConfig__ac_BarringFactor;
typedef enum LTE_AC_BarringConfig__ac_BarringTime {
LTE_AC_BarringConfig__ac_BarringTime_s4 = 0,
LTE_AC_BarringConfig__ac_BarringTime_s8 = 1,
LTE_AC_BarringConfig__ac_BarringTime_s16 = 2,
LTE_AC_BarringConfig__ac_BarringTime_s32 = 3,
LTE_AC_BarringConfig__ac_BarringTime_s64 = 4,
LTE_AC_BarringConfig__ac_BarringTime_s128 = 5,
LTE_AC_BarringConfig__ac_BarringTime_s256 = 6,
LTE_AC_BarringConfig__ac_BarringTime_s512 = 7
} e_LTE_AC_BarringConfig__ac_BarringTime;
/* LTE_AC-BarringConfig */
typedef struct LTE_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;
} LTE_AC_BarringConfig_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_LTE_ac_BarringFactor_2; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_LTE_ac_BarringTime_19; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_LTE_AC_BarringConfig;
extern asn_SEQUENCE_specifics_t asn_SPC_LTE_AC_BarringConfig_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_AC_BarringConfig_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _LTE_AC_BarringConfig_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_AC_BarringConfig1XRTT_r9_H_
#define _LTE_AC_BarringConfig1XRTT_r9_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* LTE_AC-BarringConfig1XRTT-r9 */
typedef struct LTE_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;
} LTE_AC_BarringConfig1XRTT_r9_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_LTE_AC_BarringConfig1XRTT_r9;
extern asn_SEQUENCE_specifics_t asn_SPC_LTE_AC_BarringConfig1XRTT_r9_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_AC_BarringConfig1XRTT_r9_1[10];
#ifdef __cplusplus
}
#endif
#endif /* _LTE_AC_BarringConfig1XRTT_r9_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#include "LTE_AC-BarringPerPLMN-List-r12.h"
asn_per_constraints_t asn_PER_type_LTE_AC_BarringPerPLMN_List_r12_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 3, 3, 1, 6 } /* (SIZE(1..6)) */,
0, 0 /* No PER value map */
};
asn_TYPE_member_t asn_MBR_LTE_AC_BarringPerPLMN_List_r12_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_LTE_AC_BarringPerPLMN_r12,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
""
},
};
static const ber_tlv_tag_t asn_DEF_LTE_AC_BarringPerPLMN_List_r12_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_SET_OF_specifics_t asn_SPC_LTE_AC_BarringPerPLMN_List_r12_specs_1 = {
sizeof(struct LTE_AC_BarringPerPLMN_List_r12),
offsetof(struct LTE_AC_BarringPerPLMN_List_r12, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_LTE_AC_BarringPerPLMN_List_r12 = {
"AC-BarringPerPLMN-List-r12",
"AC-BarringPerPLMN-List-r12",
&asn_OP_SEQUENCE_OF,
asn_DEF_LTE_AC_BarringPerPLMN_List_r12_tags_1,
sizeof(asn_DEF_LTE_AC_BarringPerPLMN_List_r12_tags_1)
/sizeof(asn_DEF_LTE_AC_BarringPerPLMN_List_r12_tags_1[0]), /* 1 */
asn_DEF_LTE_AC_BarringPerPLMN_List_r12_tags_1, /* Same as above */
sizeof(asn_DEF_LTE_AC_BarringPerPLMN_List_r12_tags_1)
/sizeof(asn_DEF_LTE_AC_BarringPerPLMN_List_r12_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_LTE_AC_BarringPerPLMN_List_r12_constr_1, SEQUENCE_OF_constraint },
asn_MBR_LTE_AC_BarringPerPLMN_List_r12_1,
1, /* Single element */
&asn_SPC_LTE_AC_BarringPerPLMN_List_r12_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_AC_BarringPerPLMN_List_r12_H_
#define _LTE_AC_BarringPerPLMN_List_r12_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 LTE_AC_BarringPerPLMN_r12;
/* LTE_AC-BarringPerPLMN-List-r12 */
typedef struct LTE_AC_BarringPerPLMN_List_r12 {
A_SEQUENCE_OF(struct LTE_AC_BarringPerPLMN_r12) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} LTE_AC_BarringPerPLMN_List_r12_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_LTE_AC_BarringPerPLMN_List_r12;
extern asn_SET_OF_specifics_t asn_SPC_LTE_AC_BarringPerPLMN_List_r12_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_AC_BarringPerPLMN_List_r12_1[1];
extern asn_per_constraints_t asn_PER_type_LTE_AC_BarringPerPLMN_List_r12_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "LTE_AC-BarringPerPLMN-r12.h"
#endif /* _LTE_AC_BarringPerPLMN_List_r12_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_AC_BarringPerPLMN_r12_H_
#define _LTE_AC_BarringPerPLMN_r12_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include <NativeEnumerated.h>
#include <BOOLEAN.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForMMTELVoice_r12 {
LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForMMTELVoice_r12_true = 0
} e_LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForMMTELVoice_r12;
typedef enum LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForMMTELVideo_r12 {
LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForMMTELVideo_r12_true = 0
} e_LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForMMTELVideo_r12;
typedef enum LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForSMS_r12 {
LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForSMS_r12_true = 0
} e_LTE_AC_BarringPerPLMN_r12__ac_BarringSkipForSMS_r12;
/* Forward declarations */
struct LTE_AC_BarringConfig;
/* LTE_AC-BarringPerPLMN-r12 */
typedef struct LTE_AC_BarringPerPLMN_r12 {
long plmn_IdentityIndex_r12;
struct LTE_AC_BarringPerPLMN_r12__ac_BarringInfo_r12 {
BOOLEAN_t ac_BarringForEmergency_r12;
struct LTE_AC_BarringConfig *ac_BarringForMO_Signalling_r12; /* OPTIONAL */
struct LTE_AC_BarringConfig *ac_BarringForMO_Data_r12; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} *ac_BarringInfo_r12;
long *ac_BarringSkipForMMTELVoice_r12; /* OPTIONAL */
long *ac_BarringSkipForMMTELVideo_r12; /* OPTIONAL */
long *ac_BarringSkipForSMS_r12; /* OPTIONAL */
struct LTE_AC_BarringConfig *ac_BarringForCSFB_r12; /* OPTIONAL */
struct LTE_AC_BarringConfig *ssac_BarringForMMTEL_Voice_r12; /* OPTIONAL */
struct LTE_AC_BarringConfig *ssac_BarringForMMTEL_Video_r12; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} LTE_AC_BarringPerPLMN_r12_t;
/* Implementation */
/* extern asn_TYPE_descriptor_t asn_DEF_LTE_ac_BarringSkipForMMTELVoice_r12_7; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_LTE_ac_BarringSkipForMMTELVideo_r12_9; // (Use -fall-defs-global to expose) */
/* extern asn_TYPE_descriptor_t asn_DEF_LTE_ac_BarringSkipForSMS_r12_11; // (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_LTE_AC_BarringPerPLMN_r12;
extern asn_SEQUENCE_specifics_t asn_SPC_LTE_AC_BarringPerPLMN_r12_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_AC_BarringPerPLMN_r12_1[8];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "LTE_AC-BarringConfig.h"
#endif /* _LTE_AC_BarringPerPLMN_r12_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#include "LTE_ACDC-BarringForCommon-r13.h"
asn_TYPE_member_t asn_MBR_LTE_ACDC_BarringForCommon_r13_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct LTE_ACDC_BarringForCommon_r13, acdc_HPLMNonly_r13),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BOOLEAN,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"acdc-HPLMNonly-r13"
},
{ ATF_NOFLAGS, 0, offsetof(struct LTE_ACDC_BarringForCommon_r13, barringPerACDC_CategoryList_r13),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LTE_BarringPerACDC_CategoryList_r13,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"barringPerACDC-CategoryList-r13"
},
};
static const ber_tlv_tag_t asn_DEF_LTE_ACDC_BarringForCommon_r13_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_LTE_ACDC_BarringForCommon_r13_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* acdc-HPLMNonly-r13 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* barringPerACDC-CategoryList-r13 */
};
asn_SEQUENCE_specifics_t asn_SPC_LTE_ACDC_BarringForCommon_r13_specs_1 = {
sizeof(struct LTE_ACDC_BarringForCommon_r13),
offsetof(struct LTE_ACDC_BarringForCommon_r13, _asn_ctx),
asn_MAP_LTE_ACDC_BarringForCommon_r13_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_LTE_ACDC_BarringForCommon_r13 = {
"ACDC-BarringForCommon-r13",
"ACDC-BarringForCommon-r13",
&asn_OP_SEQUENCE,
asn_DEF_LTE_ACDC_BarringForCommon_r13_tags_1,
sizeof(asn_DEF_LTE_ACDC_BarringForCommon_r13_tags_1)
/sizeof(asn_DEF_LTE_ACDC_BarringForCommon_r13_tags_1[0]), /* 1 */
asn_DEF_LTE_ACDC_BarringForCommon_r13_tags_1, /* Same as above */
sizeof(asn_DEF_LTE_ACDC_BarringForCommon_r13_tags_1)
/sizeof(asn_DEF_LTE_ACDC_BarringForCommon_r13_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_LTE_ACDC_BarringForCommon_r13_1,
2, /* Elements count */
&asn_SPC_LTE_ACDC_BarringForCommon_r13_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_ACDC_BarringForCommon_r13_H_
#define _LTE_ACDC_BarringForCommon_r13_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BOOLEAN.h>
#include "LTE_BarringPerACDC-CategoryList-r13.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* LTE_ACDC-BarringForCommon-r13 */
typedef struct LTE_ACDC_BarringForCommon_r13 {
BOOLEAN_t acdc_HPLMNonly_r13;
LTE_BarringPerACDC_CategoryList_r13_t barringPerACDC_CategoryList_r13;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} LTE_ACDC_BarringForCommon_r13_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_LTE_ACDC_BarringForCommon_r13;
extern asn_SEQUENCE_specifics_t asn_SPC_LTE_ACDC_BarringForCommon_r13_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_ACDC_BarringForCommon_r13_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _LTE_ACDC_BarringForCommon_r13_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#include "LTE_ACDC-BarringPerPLMN-List-r13.h"
asn_per_constraints_t asn_PER_type_LTE_ACDC_BarringPerPLMN_List_r13_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 3, 3, 1, 6 } /* (SIZE(1..6)) */,
0, 0 /* No PER value map */
};
asn_TYPE_member_t asn_MBR_LTE_ACDC_BarringPerPLMN_List_r13_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_LTE_ACDC_BarringPerPLMN_r13,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
""
},
};
static const ber_tlv_tag_t asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_SET_OF_specifics_t asn_SPC_LTE_ACDC_BarringPerPLMN_List_r13_specs_1 = {
sizeof(struct LTE_ACDC_BarringPerPLMN_List_r13),
offsetof(struct LTE_ACDC_BarringPerPLMN_List_r13, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13 = {
"ACDC-BarringPerPLMN-List-r13",
"ACDC-BarringPerPLMN-List-r13",
&asn_OP_SEQUENCE_OF,
asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13_tags_1,
sizeof(asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13_tags_1)
/sizeof(asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13_tags_1[0]), /* 1 */
asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13_tags_1, /* Same as above */
sizeof(asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13_tags_1)
/sizeof(asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_LTE_ACDC_BarringPerPLMN_List_r13_constr_1, SEQUENCE_OF_constraint },
asn_MBR_LTE_ACDC_BarringPerPLMN_List_r13_1,
1, /* Single element */
&asn_SPC_LTE_ACDC_BarringPerPLMN_List_r13_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_ACDC_BarringPerPLMN_List_r13_H_
#define _LTE_ACDC_BarringPerPLMN_List_r13_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 LTE_ACDC_BarringPerPLMN_r13;
/* LTE_ACDC-BarringPerPLMN-List-r13 */
typedef struct LTE_ACDC_BarringPerPLMN_List_r13 {
A_SEQUENCE_OF(struct LTE_ACDC_BarringPerPLMN_r13) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} LTE_ACDC_BarringPerPLMN_List_r13_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_LTE_ACDC_BarringPerPLMN_List_r13;
extern asn_SET_OF_specifics_t asn_SPC_LTE_ACDC_BarringPerPLMN_List_r13_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_ACDC_BarringPerPLMN_List_r13_1[1];
extern asn_per_constraints_t asn_PER_type_LTE_ACDC_BarringPerPLMN_List_r13_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include "LTE_ACDC-BarringPerPLMN-r13.h"
#endif /* _LTE_ACDC_BarringPerPLMN_List_r13_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "EUTRA-RRC-Definitions"
* found in "lte-rrc-15.6.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D lte-rrc-15.6.0.gen`
*/
#ifndef _LTE_ACDC_BarringPerPLMN_r13_H_
#define _LTE_ACDC_BarringPerPLMN_r13_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#include <BOOLEAN.h>
#include "LTE_BarringPerACDC-CategoryList-r13.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* LTE_ACDC-BarringPerPLMN-r13 */
typedef struct LTE_ACDC_BarringPerPLMN_r13 {
long plmn_IdentityIndex_r13;
BOOLEAN_t acdc_OnlyForHPLMN_r13;
LTE_BarringPerACDC_CategoryList_r13_t barringPerACDC_CategoryList_r13;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} LTE_ACDC_BarringPerPLMN_r13_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_LTE_ACDC_BarringPerPLMN_r13;
extern asn_SEQUENCE_specifics_t asn_SPC_LTE_ACDC_BarringPerPLMN_r13_specs_1;
extern asn_TYPE_member_t asn_MBR_LTE_ACDC_BarringPerPLMN_r13_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _LTE_ACDC_BarringPerPLMN_r13_H_ */
#include <asn_internal.h>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment