Commit 3ca18a8e authored by Robert Schmidt's avatar Robert Schmidt

Build ASN1_M3AP_LIB in separate module from generated source

parent 7e290d5f
......@@ -460,55 +460,14 @@ target_link_libraries(M2AP_ENB PUBLIC ASN1_M2AP_LIB)
target_include_directories(M2AP_ENB PUBLIC "${M2AP_DIR}")
#M3AP
# Same limitation as described in RRC/S1AP: unknown generated file list
# so we generate it at cmake time
##############
add_list1_option(M3AP_RELEASE R14 "M3AP ASN.1 grammar version" R14)
set(M3AP_DIR ${OPENAIR3_DIR}/M3AP)
if (${M3AP_RELEASE} STREQUAL "R8")
make_version(M3AP_VERSION 8 9 0)
set(M3AP_ASN_FILES m3ap-8.9.0.asn1)
elseif (${M3AP_RELEASE} STREQUAL "R11")
make_version(M3AP_VERSION 11 9 0)
set(M3AP_ASN_FILES m3ap-11.9.0.asn1)
elseif (${M3AP_RELEASE} STREQUAL "R12")
make_version(M3AP_VERSION 12 9 0)
set(M3AP_ASN_FILES m3ap-12.9.0.asn1)
elseif (${M3AP_RELEASE} STREQUAL "R14")
make_version(M3AP_VERSION 14 0 0)
set(M3AP_ASN_FILES m3ap-14.0.0.asn1)
elseif (${M3AP_RELEASE} STREQUAL "R15")
make_version(M3AP_VERSION 15 1 0)
set(M3AP_ASN_FILES m3ap-15.1.0.asn1)
endif(${M3AP_RELEASE} STREQUAL "R8")
add_definitions(-DM3AP_VERSION=${M3AP_VERSION})
set(M3AP_ASN_DIR ${M3AP_DIR}/MESSAGES/ASN1/${M3AP_RELEASE})
set(M3AP_C_DIR ${asn1_generated_dir}/M3AP_${M3AP_RELEASE})
# 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 "${M3AP_C_DIR}" "${M3AP_ASN_DIR}/${M3AP_ASN_FILES}" "M3AP_" -fno-include-deps
RESULT_VARIABLE ret)
if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${ret}: error")
endif (NOT ${ret} STREQUAL 0)
file(GLOB M3AP_source ${M3AP_C_DIR}/*.c)
add_custom_target (
m3_flag ALL
COMMAND ${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${M3AP_C_DIR}" "${M3AP_ASN_DIR}/${M3AP_ASN_FILES}" "M3AP_" -fno-include-deps
DEPENDS ${M3AP_ASN_DIR}/${M3AP_ASN_FILES}
)
add_library(M3AP_LIB
${M3AP_source}
${M3AP_DIR}/m3ap_common.c
)
add_dependencies(M3AP_LIB m3_flag)
include_directories ("${M3AP_C_DIR}")
include_directories ("${M3AP_DIR}")
add_library(M3AP_LIB ${M3AP_DIR}/m3ap_common.c)
target_link_libraries(M3AP_LIB PUBLIC ASN1_M3AP_LIB)
add_library(M3AP_ENB
${M3AP_DIR}/m3ap_decoder.c
......@@ -525,8 +484,7 @@ add_library(M3AP_ENB
${M3AP_DIR}/m3ap_ids.c
${M3AP_DIR}/m3ap_timers.c
)
add_dependencies(M3AP_ENB m3_flag)
target_link_libraries(M3AP_ENB PRIVATE M2AP_ENB)
target_link_libraries(M3AP_ENB PUBLIC M3AP_LIB PRIVATE M2AP_ENB)
#X2AP
##############
......@@ -1900,7 +1858,6 @@ add_library(L2
${ENB_APP_SRC}
${MCE_APP_SRC}
)
add_dependencies(L2 m3_flag)
target_link_libraries(L2 PRIVATE ASN1_S1AP_LIB ASN1_F1AP_LIB)
add_library(MAC_NR
......@@ -1999,7 +1956,6 @@ set (MME_APP_SRC
${OPENAIR3_DIR}/MME_APP/mme_config.c
)
add_library(MME_APP ${MME_APP_SRC})
add_dependencies(MME_APP m3_flag)
set(SCTP_SRC
${OPENAIR3_DIR}/SCTP/sctp_common.c
......
add_subdirectory(M3AP)
add_subdirectory(NGAP)
add_subdirectory(S1AP)
add_subdirectory(MESSAGES)
file(GLOB lte_m3ap_source R14/m3ap-14.0.0.gen/*.c)
add_library(ASN1_M3AP_LIB ${lte_m3ap_source})
target_include_directories(ASN1_M3AP_LIB PUBLIC "R14/m3ap-14.0.0.gen/")
target_compile_options(ASN1_M3AP_LIB PRIVATE -DASN_DISABLE_OER_SUPPORT -w)
This diff is collapsed.
/*-
* Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
* Redistribution and modifications are permitted subject to BSD license.
*/
#ifndef ASN_TYPE_ANY_H
#define ASN_TYPE_ANY_H
#include <OCTET_STRING.h> /* Implemented via OCTET STRING type */
#ifdef __cplusplus
extern "C" {
#endif
typedef struct ANY {
uint8_t *buf; /* BER-encoded ANY contents */
int size; /* Size of the above buffer */
asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
} ANY_t;
extern asn_TYPE_descriptor_t asn_DEF_ANY;
extern asn_TYPE_operation_t asn_OP_ANY;
extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs;
asn_struct_free_f ANY_free;
asn_struct_print_f ANY_print;
ber_type_decoder_f ANY_decode_ber;
der_type_encoder_f ANY_encode_der;
xer_type_encoder_f ANY_encode_xer;
per_type_decoder_f ANY_decode_uper;
per_type_encoder_f ANY_encode_uper;
per_type_decoder_f ANY_decode_aper;
per_type_encoder_f ANY_encode_aper;
#define ANY_free OCTET_STRING_free
#define ANY_print OCTET_STRING_print
#define ANY_compare OCTET_STRING_compare
#define ANY_constraint asn_generic_no_constraint
#define ANY_decode_ber OCTET_STRING_decode_ber
#define ANY_encode_der OCTET_STRING_encode_der
#define ANY_decode_xer OCTET_STRING_decode_xer_hex
/******************************
* Handy conversion routines. *
******************************/
/* Convert another ASN.1 type into the ANY. This implies DER encoding. */
int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr);
int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr);
ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr);
ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr);
/* Convert the contents of the ANY type into the specified type. */
int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
#define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size))
#define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \
&asn_DEF_ANY, (buf), (size))
#ifdef __cplusplus
}
#endif
#endif /* ASN_TYPE_ANY_H */
This diff is collapsed.
/*-
* 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_ */
This diff is collapsed.
/*-
* 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 "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_Absolute-Time-ofMBMS-Data.h"
int
M3AP_Absolute_Time_ofMBMS_Data_constraint(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 == 64)) {
/* 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.
*/
asn_per_constraints_t asn_PER_type_M3AP_Absolute_Time_ofMBMS_Data_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 64, 64 } /* (SIZE(64..64)) */,
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_M3AP_Absolute_Time_ofMBMS_Data_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_Absolute_Time_ofMBMS_Data = {
"Absolute-Time-ofMBMS-Data",
"Absolute-Time-ofMBMS-Data",
&asn_OP_BIT_STRING,
asn_DEF_M3AP_Absolute_Time_ofMBMS_Data_tags_1,
sizeof(asn_DEF_M3AP_Absolute_Time_ofMBMS_Data_tags_1)
/sizeof(asn_DEF_M3AP_Absolute_Time_ofMBMS_Data_tags_1[0]), /* 1 */
asn_DEF_M3AP_Absolute_Time_ofMBMS_Data_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_Absolute_Time_ofMBMS_Data_tags_1)
/sizeof(asn_DEF_M3AP_Absolute_Time_ofMBMS_Data_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_Absolute_Time_ofMBMS_Data_constr_1, M3AP_Absolute_Time_ofMBMS_Data_constraint },
0, 0, /* No members */
&asn_SPC_BIT_STRING_specs /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_Absolute_Time_ofMBMS_Data_H_
#define _M3AP_Absolute_Time_ofMBMS_Data_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* M3AP_Absolute-Time-ofMBMS-Data */
typedef BIT_STRING_t M3AP_Absolute_Time_ofMBMS_Data_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_Absolute_Time_ofMBMS_Data_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_Absolute_Time_ofMBMS_Data;
asn_struct_free_f M3AP_Absolute_Time_ofMBMS_Data_free;
asn_struct_print_f M3AP_Absolute_Time_ofMBMS_Data_print;
asn_constr_check_f M3AP_Absolute_Time_ofMBMS_Data_constraint;
ber_type_decoder_f M3AP_Absolute_Time_ofMBMS_Data_decode_ber;
der_type_encoder_f M3AP_Absolute_Time_ofMBMS_Data_encode_der;
xer_type_decoder_f M3AP_Absolute_Time_ofMBMS_Data_decode_xer;
xer_type_encoder_f M3AP_Absolute_Time_ofMBMS_Data_encode_xer;
per_type_decoder_f M3AP_Absolute_Time_ofMBMS_Data_decode_uper;
per_type_encoder_f M3AP_Absolute_Time_ofMBMS_Data_encode_uper;
per_type_decoder_f M3AP_Absolute_Time_ofMBMS_Data_decode_aper;
per_type_encoder_f M3AP_Absolute_Time_ofMBMS_Data_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_Absolute_Time_ofMBMS_Data_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_AllocationAndRetentionPriority.h"
#include "M3AP_ProtocolExtensionContainer.h"
asn_TYPE_member_t asn_MBR_M3AP_AllocationAndRetentionPriority_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_AllocationAndRetentionPriority, priorityLevel),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_PriorityLevel,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"priorityLevel"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_AllocationAndRetentionPriority, pre_emptionCapability),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_Pre_emptionCapability,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"pre-emptionCapability"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_AllocationAndRetentionPriority, pre_emptionVulnerability),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_Pre_emptionVulnerability,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"pre-emptionVulnerability"
},
{ ATF_POINTER, 1, offsetof(struct M3AP_AllocationAndRetentionPriority, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_ProtocolExtensionContainer_1045P0,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-Extensions"
},
};
static const int asn_MAP_M3AP_AllocationAndRetentionPriority_oms_1[] = { 3 };
static const ber_tlv_tag_t asn_DEF_M3AP_AllocationAndRetentionPriority_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_M3AP_AllocationAndRetentionPriority_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* priorityLevel */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pre-emptionCapability */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pre-emptionVulnerability */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
};
asn_SEQUENCE_specifics_t asn_SPC_M3AP_AllocationAndRetentionPriority_specs_1 = {
sizeof(struct M3AP_AllocationAndRetentionPriority),
offsetof(struct M3AP_AllocationAndRetentionPriority, _asn_ctx),
asn_MAP_M3AP_AllocationAndRetentionPriority_tag2el_1,
4, /* Count of tags in the map */
asn_MAP_M3AP_AllocationAndRetentionPriority_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_M3AP_AllocationAndRetentionPriority = {
"AllocationAndRetentionPriority",
"AllocationAndRetentionPriority",
&asn_OP_SEQUENCE,
asn_DEF_M3AP_AllocationAndRetentionPriority_tags_1,
sizeof(asn_DEF_M3AP_AllocationAndRetentionPriority_tags_1)
/sizeof(asn_DEF_M3AP_AllocationAndRetentionPriority_tags_1[0]), /* 1 */
asn_DEF_M3AP_AllocationAndRetentionPriority_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_AllocationAndRetentionPriority_tags_1)
/sizeof(asn_DEF_M3AP_AllocationAndRetentionPriority_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_M3AP_AllocationAndRetentionPriority_1,
4, /* Elements count */
&asn_SPC_M3AP_AllocationAndRetentionPriority_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_AllocationAndRetentionPriority_H_
#define _M3AP_AllocationAndRetentionPriority_H_
#include <asn_application.h>
/* Including external dependencies */
#include "M3AP_PriorityLevel.h"
#include "M3AP_Pre-emptionCapability.h"
#include "M3AP_Pre-emptionVulnerability.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct M3AP_ProtocolExtensionContainer;
/* M3AP_AllocationAndRetentionPriority */
typedef struct M3AP_AllocationAndRetentionPriority {
M3AP_PriorityLevel_t priorityLevel;
M3AP_Pre_emptionCapability_t pre_emptionCapability;
M3AP_Pre_emptionVulnerability_t pre_emptionVulnerability;
struct M3AP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} M3AP_AllocationAndRetentionPriority_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_M3AP_AllocationAndRetentionPriority;
extern asn_SEQUENCE_specifics_t asn_SPC_M3AP_AllocationAndRetentionPriority_specs_1;
extern asn_TYPE_member_t asn_MBR_M3AP_AllocationAndRetentionPriority_1[4];
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_AllocationAndRetentionPriority_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_BitRate.h"
int
M3AP_BitRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const INTEGER_t *st = (const INTEGER_t *)sptr;
long value;
if(!sptr) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if(asn_INTEGER2long(st, &value)) {
ASN__CTFAIL(app_key, td, sptr,
"%s: value too large (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if((value >= 0 && value <= 10000000000)) {
/* 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 INTEGER,
* so here we adjust the DEF accordingly.
*/
asn_per_constraints_t asn_PER_type_M3AP_BitRate_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 34, -1, 0, 10000000000 } /* (0..10000000000) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_M3AP_BitRate_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_BitRate = {
"BitRate",
"BitRate",
&asn_OP_INTEGER,
asn_DEF_M3AP_BitRate_tags_1,
sizeof(asn_DEF_M3AP_BitRate_tags_1)
/sizeof(asn_DEF_M3AP_BitRate_tags_1[0]), /* 1 */
asn_DEF_M3AP_BitRate_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_BitRate_tags_1)
/sizeof(asn_DEF_M3AP_BitRate_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_BitRate_constr_1, M3AP_BitRate_constraint },
0, 0, /* No members */
0 /* No specifics */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_BitRate_H_
#define _M3AP_BitRate_H_
#include <asn_application.h>
/* Including external dependencies */
#include <INTEGER.h>
#ifdef __cplusplus
extern "C" {
#endif
/* M3AP_BitRate */
typedef INTEGER_t M3AP_BitRate_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_BitRate_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_BitRate;
asn_struct_free_f M3AP_BitRate_free;
asn_struct_print_f M3AP_BitRate_print;
asn_constr_check_f M3AP_BitRate_constraint;
ber_type_decoder_f M3AP_BitRate_decode_ber;
der_type_encoder_f M3AP_BitRate_encode_der;
xer_type_decoder_f M3AP_BitRate_decode_xer;
xer_type_encoder_f M3AP_BitRate_encode_xer;
per_type_decoder_f M3AP_BitRate_decode_uper;
per_type_encoder_f M3AP_BitRate_encode_uper;
per_type_decoder_f M3AP_BitRate_decode_aper;
per_type_encoder_f M3AP_BitRate_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_BitRate_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_Cause.h"
asn_per_constraints_t asn_PER_type_M3AP_Cause_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
asn_TYPE_member_t asn_MBR_M3AP_Cause_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_Cause, choice.radioNetwork),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_CauseRadioNetwork,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"radioNetwork"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_Cause, choice.transport),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_CauseTransport,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"transport"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_Cause, choice.nAS),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_CauseNAS,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"nAS"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_Cause, choice.protocol),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_CauseProtocol,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"protocol"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_Cause, choice.misc),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_CauseMisc,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"misc"
},
};
static const asn_TYPE_tag2member_t asn_MAP_M3AP_Cause_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* nAS */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protocol */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* misc */
};
asn_CHOICE_specifics_t asn_SPC_M3AP_Cause_specs_1 = {
sizeof(struct M3AP_Cause),
offsetof(struct M3AP_Cause, _asn_ctx),
offsetof(struct M3AP_Cause, present),
sizeof(((struct M3AP_Cause *)0)->present),
asn_MAP_M3AP_Cause_tag2el_1,
5, /* Count of tags in the map */
0, 0,
5 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_M3AP_Cause = {
"Cause",
"Cause",
&asn_OP_CHOICE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, &asn_PER_type_M3AP_Cause_constr_1, CHOICE_constraint },
asn_MBR_M3AP_Cause_1,
5, /* Elements count */
&asn_SPC_M3AP_Cause_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_Cause_H_
#define _M3AP_Cause_H_
#include <asn_application.h>
/* Including external dependencies */
#include "M3AP_CauseRadioNetwork.h"
#include "M3AP_CauseTransport.h"
#include "M3AP_CauseNAS.h"
#include "M3AP_CauseProtocol.h"
#include "M3AP_CauseMisc.h"
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum M3AP_Cause_PR {
M3AP_Cause_PR_NOTHING, /* No components present */
M3AP_Cause_PR_radioNetwork,
M3AP_Cause_PR_transport,
M3AP_Cause_PR_nAS,
M3AP_Cause_PR_protocol,
M3AP_Cause_PR_misc
/* Extensions may appear below */
} M3AP_Cause_PR;
/* M3AP_Cause */
typedef struct M3AP_Cause {
M3AP_Cause_PR present;
union M3AP_Cause_u {
M3AP_CauseRadioNetwork_t radioNetwork;
M3AP_CauseTransport_t transport;
M3AP_CauseNAS_t nAS;
M3AP_CauseProtocol_t protocol;
M3AP_CauseMisc_t misc;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} M3AP_Cause_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_M3AP_Cause;
extern asn_CHOICE_specifics_t asn_SPC_M3AP_Cause_specs_1;
extern asn_TYPE_member_t asn_MBR_M3AP_Cause_1[5];
extern asn_per_constraints_t asn_PER_type_M3AP_Cause_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_Cause_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_CauseMisc.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
asn_per_constraints_t asn_PER_type_M3AP_CauseMisc_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_M3AP_CauseMisc_value2enum_1[] = {
{ 0, 27, "control-processing-overload" },
{ 1, 42, "not-enough-user-plane-processing-resources" },
{ 2, 16, "hardware-failure" },
{ 3, 15, "om-intervention" },
{ 4, 11, "unspecified" }
/* This list is extensible */
};
static const unsigned int asn_MAP_M3AP_CauseMisc_enum2value_1[] = {
0, /* control-processing-overload(0) */
2, /* hardware-failure(2) */
1, /* not-enough-user-plane-processing-resources(1) */
3, /* om-intervention(3) */
4 /* unspecified(4) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseMisc_specs_1 = {
asn_MAP_M3AP_CauseMisc_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_M3AP_CauseMisc_enum2value_1, /* N => "tag"; sorted by N */
5, /* Number of elements in the maps */
6, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_M3AP_CauseMisc_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_CauseMisc = {
"CauseMisc",
"CauseMisc",
&asn_OP_NativeEnumerated,
asn_DEF_M3AP_CauseMisc_tags_1,
sizeof(asn_DEF_M3AP_CauseMisc_tags_1)
/sizeof(asn_DEF_M3AP_CauseMisc_tags_1[0]), /* 1 */
asn_DEF_M3AP_CauseMisc_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_CauseMisc_tags_1)
/sizeof(asn_DEF_M3AP_CauseMisc_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_CauseMisc_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_M3AP_CauseMisc_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_CauseMisc_H_
#define _M3AP_CauseMisc_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum M3AP_CauseMisc {
M3AP_CauseMisc_control_processing_overload = 0,
M3AP_CauseMisc_not_enough_user_plane_processing_resources = 1,
M3AP_CauseMisc_hardware_failure = 2,
M3AP_CauseMisc_om_intervention = 3,
M3AP_CauseMisc_unspecified = 4
/*
* Enumeration is extensible
*/
} e_M3AP_CauseMisc;
/* M3AP_CauseMisc */
typedef long M3AP_CauseMisc_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_CauseMisc_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_CauseMisc;
extern const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseMisc_specs_1;
asn_struct_free_f M3AP_CauseMisc_free;
asn_struct_print_f M3AP_CauseMisc_print;
asn_constr_check_f M3AP_CauseMisc_constraint;
ber_type_decoder_f M3AP_CauseMisc_decode_ber;
der_type_encoder_f M3AP_CauseMisc_encode_der;
xer_type_decoder_f M3AP_CauseMisc_decode_xer;
xer_type_encoder_f M3AP_CauseMisc_encode_xer;
per_type_decoder_f M3AP_CauseMisc_decode_uper;
per_type_encoder_f M3AP_CauseMisc_encode_uper;
per_type_decoder_f M3AP_CauseMisc_decode_aper;
per_type_encoder_f M3AP_CauseMisc_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_CauseMisc_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_CauseNAS.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
asn_per_constraints_t asn_PER_type_M3AP_CauseNAS_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_M3AP_CauseNAS_value2enum_1[] = {
{ 0, 11, "unspecified" }
/* This list is extensible */
};
static const unsigned int asn_MAP_M3AP_CauseNAS_enum2value_1[] = {
0 /* unspecified(0) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseNAS_specs_1 = {
asn_MAP_M3AP_CauseNAS_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_M3AP_CauseNAS_enum2value_1, /* N => "tag"; sorted by N */
1, /* Number of elements in the maps */
2, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_M3AP_CauseNAS_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_CauseNAS = {
"CauseNAS",
"CauseNAS",
&asn_OP_NativeEnumerated,
asn_DEF_M3AP_CauseNAS_tags_1,
sizeof(asn_DEF_M3AP_CauseNAS_tags_1)
/sizeof(asn_DEF_M3AP_CauseNAS_tags_1[0]), /* 1 */
asn_DEF_M3AP_CauseNAS_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_CauseNAS_tags_1)
/sizeof(asn_DEF_M3AP_CauseNAS_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_CauseNAS_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_M3AP_CauseNAS_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_CauseNAS_H_
#define _M3AP_CauseNAS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum M3AP_CauseNAS {
M3AP_CauseNAS_unspecified = 0
/*
* Enumeration is extensible
*/
} e_M3AP_CauseNAS;
/* M3AP_CauseNAS */
typedef long M3AP_CauseNAS_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_CauseNAS_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_CauseNAS;
extern const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseNAS_specs_1;
asn_struct_free_f M3AP_CauseNAS_free;
asn_struct_print_f M3AP_CauseNAS_print;
asn_constr_check_f M3AP_CauseNAS_constraint;
ber_type_decoder_f M3AP_CauseNAS_decode_ber;
der_type_encoder_f M3AP_CauseNAS_encode_der;
xer_type_decoder_f M3AP_CauseNAS_decode_xer;
xer_type_encoder_f M3AP_CauseNAS_encode_xer;
per_type_decoder_f M3AP_CauseNAS_decode_uper;
per_type_encoder_f M3AP_CauseNAS_encode_uper;
per_type_decoder_f M3AP_CauseNAS_decode_aper;
per_type_encoder_f M3AP_CauseNAS_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_CauseNAS_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_CauseProtocol.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
asn_per_constraints_t asn_PER_type_M3AP_CauseProtocol_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_M3AP_CauseProtocol_value2enum_1[] = {
{ 0, 21, "transfer-syntax-error" },
{ 1, 28, "abstract-syntax-error-reject" },
{ 2, 39, "abstract-syntax-error-ignore-and-notify" },
{ 3, 42, "message-not-compatible-with-receiver-state" },
{ 4, 14, "semantic-error" },
{ 5, 49, "abstract-syntax-error-falsely-constructed-message" },
{ 6, 11, "unspecified" }
/* This list is extensible */
};
static const unsigned int asn_MAP_M3AP_CauseProtocol_enum2value_1[] = {
5, /* abstract-syntax-error-falsely-constructed-message(5) */
2, /* abstract-syntax-error-ignore-and-notify(2) */
1, /* abstract-syntax-error-reject(1) */
3, /* message-not-compatible-with-receiver-state(3) */
4, /* semantic-error(4) */
0, /* transfer-syntax-error(0) */
6 /* unspecified(6) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseProtocol_specs_1 = {
asn_MAP_M3AP_CauseProtocol_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_M3AP_CauseProtocol_enum2value_1, /* N => "tag"; sorted by N */
7, /* Number of elements in the maps */
8, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_M3AP_CauseProtocol_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_CauseProtocol = {
"CauseProtocol",
"CauseProtocol",
&asn_OP_NativeEnumerated,
asn_DEF_M3AP_CauseProtocol_tags_1,
sizeof(asn_DEF_M3AP_CauseProtocol_tags_1)
/sizeof(asn_DEF_M3AP_CauseProtocol_tags_1[0]), /* 1 */
asn_DEF_M3AP_CauseProtocol_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_CauseProtocol_tags_1)
/sizeof(asn_DEF_M3AP_CauseProtocol_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_CauseProtocol_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_M3AP_CauseProtocol_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_CauseProtocol_H_
#define _M3AP_CauseProtocol_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum M3AP_CauseProtocol {
M3AP_CauseProtocol_transfer_syntax_error = 0,
M3AP_CauseProtocol_abstract_syntax_error_reject = 1,
M3AP_CauseProtocol_abstract_syntax_error_ignore_and_notify = 2,
M3AP_CauseProtocol_message_not_compatible_with_receiver_state = 3,
M3AP_CauseProtocol_semantic_error = 4,
M3AP_CauseProtocol_abstract_syntax_error_falsely_constructed_message = 5,
M3AP_CauseProtocol_unspecified = 6
/*
* Enumeration is extensible
*/
} e_M3AP_CauseProtocol;
/* M3AP_CauseProtocol */
typedef long M3AP_CauseProtocol_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_CauseProtocol_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_CauseProtocol;
extern const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseProtocol_specs_1;
asn_struct_free_f M3AP_CauseProtocol_free;
asn_struct_print_f M3AP_CauseProtocol_print;
asn_constr_check_f M3AP_CauseProtocol_constraint;
ber_type_decoder_f M3AP_CauseProtocol_decode_ber;
der_type_encoder_f M3AP_CauseProtocol_encode_der;
xer_type_decoder_f M3AP_CauseProtocol_decode_xer;
xer_type_encoder_f M3AP_CauseProtocol_encode_xer;
per_type_decoder_f M3AP_CauseProtocol_decode_uper;
per_type_encoder_f M3AP_CauseProtocol_encode_uper;
per_type_decoder_f M3AP_CauseProtocol_decode_aper;
per_type_encoder_f M3AP_CauseProtocol_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_CauseProtocol_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_CauseRadioNetwork.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
asn_per_constraints_t asn_PER_type_M3AP_CauseRadioNetwork_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_M3AP_CauseRadioNetwork_value2enum_1[] = {
{ 0, 45, "unknown-or-already-allocated-MME-MBMS-M3AP-ID" },
{ 1, 45, "unknown-or-already-allocated-MCE-MBMS-M3AP-ID" },
{ 2, 45, "unknown-or-inconsistent-pair-of-MBMS-M3AP-IDs" },
{ 3, 29, "radio-resources-not-available" },
{ 4, 23, "invalid-QoS-combination" },
{ 5, 32, "interaction-with-other-procedure" },
{ 6, 23, "not-supported-QCI-value" },
{ 7, 11, "unspecified" },
{ 8, 14, "uninvolved-MCE" }
/* This list is extensible */
};
static const unsigned int asn_MAP_M3AP_CauseRadioNetwork_enum2value_1[] = {
5, /* interaction-with-other-procedure(5) */
4, /* invalid-QoS-combination(4) */
6, /* not-supported-QCI-value(6) */
3, /* radio-resources-not-available(3) */
8, /* uninvolved-MCE(8) */
1, /* unknown-or-already-allocated-MCE-MBMS-M3AP-ID(1) */
0, /* unknown-or-already-allocated-MME-MBMS-M3AP-ID(0) */
2, /* unknown-or-inconsistent-pair-of-MBMS-M3AP-IDs(2) */
7 /* unspecified(7) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseRadioNetwork_specs_1 = {
asn_MAP_M3AP_CauseRadioNetwork_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_M3AP_CauseRadioNetwork_enum2value_1, /* N => "tag"; sorted by N */
9, /* Number of elements in the maps */
9, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_M3AP_CauseRadioNetwork_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_CauseRadioNetwork = {
"CauseRadioNetwork",
"CauseRadioNetwork",
&asn_OP_NativeEnumerated,
asn_DEF_M3AP_CauseRadioNetwork_tags_1,
sizeof(asn_DEF_M3AP_CauseRadioNetwork_tags_1)
/sizeof(asn_DEF_M3AP_CauseRadioNetwork_tags_1[0]), /* 1 */
asn_DEF_M3AP_CauseRadioNetwork_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_CauseRadioNetwork_tags_1)
/sizeof(asn_DEF_M3AP_CauseRadioNetwork_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_CauseRadioNetwork_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_M3AP_CauseRadioNetwork_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_CauseRadioNetwork_H_
#define _M3AP_CauseRadioNetwork_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum M3AP_CauseRadioNetwork {
M3AP_CauseRadioNetwork_unknown_or_already_allocated_MME_MBMS_M3AP_ID = 0,
M3AP_CauseRadioNetwork_unknown_or_already_allocated_MCE_MBMS_M3AP_ID = 1,
M3AP_CauseRadioNetwork_unknown_or_inconsistent_pair_of_MBMS_M3AP_IDs = 2,
M3AP_CauseRadioNetwork_radio_resources_not_available = 3,
M3AP_CauseRadioNetwork_invalid_QoS_combination = 4,
M3AP_CauseRadioNetwork_interaction_with_other_procedure = 5,
M3AP_CauseRadioNetwork_not_supported_QCI_value = 6,
M3AP_CauseRadioNetwork_unspecified = 7,
/*
* Enumeration is extensible
*/
M3AP_CauseRadioNetwork_uninvolved_MCE = 8
} e_M3AP_CauseRadioNetwork;
/* M3AP_CauseRadioNetwork */
typedef long M3AP_CauseRadioNetwork_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_CauseRadioNetwork_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_CauseRadioNetwork;
extern const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseRadioNetwork_specs_1;
asn_struct_free_f M3AP_CauseRadioNetwork_free;
asn_struct_print_f M3AP_CauseRadioNetwork_print;
asn_constr_check_f M3AP_CauseRadioNetwork_constraint;
ber_type_decoder_f M3AP_CauseRadioNetwork_decode_ber;
der_type_encoder_f M3AP_CauseRadioNetwork_encode_der;
xer_type_decoder_f M3AP_CauseRadioNetwork_decode_xer;
xer_type_encoder_f M3AP_CauseRadioNetwork_encode_xer;
per_type_decoder_f M3AP_CauseRadioNetwork_decode_uper;
per_type_encoder_f M3AP_CauseRadioNetwork_encode_uper;
per_type_decoder_f M3AP_CauseRadioNetwork_decode_aper;
per_type_encoder_f M3AP_CauseRadioNetwork_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_CauseRadioNetwork_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_CauseTransport.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
asn_per_constraints_t asn_PER_type_M3AP_CauseTransport_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_M3AP_CauseTransport_value2enum_1[] = {
{ 0, 30, "transport-resource-unavailable" },
{ 1, 11, "unspecified" }
/* This list is extensible */
};
static const unsigned int asn_MAP_M3AP_CauseTransport_enum2value_1[] = {
0, /* transport-resource-unavailable(0) */
1 /* unspecified(1) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseTransport_specs_1 = {
asn_MAP_M3AP_CauseTransport_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_M3AP_CauseTransport_enum2value_1, /* N => "tag"; sorted by N */
2, /* Number of elements in the maps */
3, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
static const ber_tlv_tag_t asn_DEF_M3AP_CauseTransport_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_CauseTransport = {
"CauseTransport",
"CauseTransport",
&asn_OP_NativeEnumerated,
asn_DEF_M3AP_CauseTransport_tags_1,
sizeof(asn_DEF_M3AP_CauseTransport_tags_1)
/sizeof(asn_DEF_M3AP_CauseTransport_tags_1[0]), /* 1 */
asn_DEF_M3AP_CauseTransport_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_CauseTransport_tags_1)
/sizeof(asn_DEF_M3AP_CauseTransport_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_CauseTransport_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_M3AP_CauseTransport_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_CauseTransport_H_
#define _M3AP_CauseTransport_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum M3AP_CauseTransport {
M3AP_CauseTransport_transport_resource_unavailable = 0,
M3AP_CauseTransport_unspecified = 1
/*
* Enumeration is extensible
*/
} e_M3AP_CauseTransport;
/* M3AP_CauseTransport */
typedef long M3AP_CauseTransport_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_CauseTransport_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_CauseTransport;
extern const asn_INTEGER_specifics_t asn_SPC_M3AP_CauseTransport_specs_1;
asn_struct_free_f M3AP_CauseTransport_free;
asn_struct_print_f M3AP_CauseTransport_print;
asn_constr_check_f M3AP_CauseTransport_constraint;
ber_type_decoder_f M3AP_CauseTransport_decode_ber;
der_type_encoder_f M3AP_CauseTransport_encode_der;
xer_type_decoder_f M3AP_CauseTransport_decode_xer;
xer_type_encoder_f M3AP_CauseTransport_encode_xer;
per_type_decoder_f M3AP_CauseTransport_decode_uper;
per_type_encoder_f M3AP_CauseTransport_encode_uper;
per_type_decoder_f M3AP_CauseTransport_decode_aper;
per_type_encoder_f M3AP_CauseTransport_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_CauseTransport_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-CommonDataTypes"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_Criticality.h"
/*
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
asn_per_constraints_t asn_PER_type_M3AP_Criticality_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_M3AP_Criticality_value2enum_1[] = {
{ 0, 6, "reject" },
{ 1, 6, "ignore" },
{ 2, 6, "notify" }
};
static const unsigned int asn_MAP_M3AP_Criticality_enum2value_1[] = {
1, /* ignore(1) */
2, /* notify(2) */
0 /* reject(0) */
};
const asn_INTEGER_specifics_t asn_SPC_M3AP_Criticality_specs_1 = {
asn_MAP_M3AP_Criticality_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_M3AP_Criticality_enum2value_1, /* 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_M3AP_Criticality_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_Criticality = {
"Criticality",
"Criticality",
&asn_OP_NativeEnumerated,
asn_DEF_M3AP_Criticality_tags_1,
sizeof(asn_DEF_M3AP_Criticality_tags_1)
/sizeof(asn_DEF_M3AP_Criticality_tags_1[0]), /* 1 */
asn_DEF_M3AP_Criticality_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_Criticality_tags_1)
/sizeof(asn_DEF_M3AP_Criticality_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_Criticality_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_M3AP_Criticality_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-CommonDataTypes"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_Criticality_H_
#define _M3AP_Criticality_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum M3AP_Criticality {
M3AP_Criticality_reject = 0,
M3AP_Criticality_ignore = 1,
M3AP_Criticality_notify = 2
} e_M3AP_Criticality;
/* M3AP_Criticality */
typedef long M3AP_Criticality_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_Criticality_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_Criticality;
extern const asn_INTEGER_specifics_t asn_SPC_M3AP_Criticality_specs_1;
asn_struct_free_f M3AP_Criticality_free;
asn_struct_print_f M3AP_Criticality_print;
asn_constr_check_f M3AP_Criticality_constraint;
ber_type_decoder_f M3AP_Criticality_decode_ber;
der_type_encoder_f M3AP_Criticality_encode_der;
xer_type_decoder_f M3AP_Criticality_decode_xer;
xer_type_encoder_f M3AP_Criticality_encode_xer;
per_type_decoder_f M3AP_Criticality_decode_uper;
per_type_encoder_f M3AP_Criticality_encode_uper;
per_type_decoder_f M3AP_Criticality_decode_aper;
per_type_encoder_f M3AP_Criticality_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_Criticality_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_CriticalityDiagnostics-IE-List.h"
#include "M3AP_ProtocolExtensionContainer.h"
asn_per_constraints_t asn_PER_type_M3AP_CriticalityDiagnostics_IE_List_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_M3AP_Member_2[] = {
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_CriticalityDiagnostics_IE_List__Member, iECriticality),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_Criticality,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iECriticality"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_CriticalityDiagnostics_IE_List__Member, iE_ID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_ProtocolIE_ID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-ID"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_CriticalityDiagnostics_IE_List__Member, typeOfError),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_TypeOfError,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"typeOfError"
},
{ ATF_POINTER, 1, offsetof(struct M3AP_CriticalityDiagnostics_IE_List__Member, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_ProtocolExtensionContainer_1045P2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-Extensions"
},
};
static const int asn_MAP_M3AP_Member_oms_2[] = { 3 };
static const ber_tlv_tag_t asn_DEF_M3AP_Member_tags_2[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_M3AP_Member_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iECriticality */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iE-ID */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* typeOfError */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
};
static asn_SEQUENCE_specifics_t asn_SPC_M3AP_Member_specs_2 = {
sizeof(struct M3AP_CriticalityDiagnostics_IE_List__Member),
offsetof(struct M3AP_CriticalityDiagnostics_IE_List__Member, _asn_ctx),
asn_MAP_M3AP_Member_tag2el_2,
4, /* Count of tags in the map */
asn_MAP_M3AP_Member_oms_2, /* Optional members */
1, 0, /* Root/Additions */
4, /* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_M3AP_Member_2 = {
"SEQUENCE",
"SEQUENCE",
&asn_OP_SEQUENCE,
asn_DEF_M3AP_Member_tags_2,
sizeof(asn_DEF_M3AP_Member_tags_2)
/sizeof(asn_DEF_M3AP_Member_tags_2[0]), /* 1 */
asn_DEF_M3AP_Member_tags_2, /* Same as above */
sizeof(asn_DEF_M3AP_Member_tags_2)
/sizeof(asn_DEF_M3AP_Member_tags_2[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_M3AP_Member_2,
4, /* Elements count */
&asn_SPC_M3AP_Member_specs_2 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_M3AP_CriticalityDiagnostics_IE_List_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_M3AP_Member_2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
""
},
};
static const ber_tlv_tag_t asn_DEF_M3AP_CriticalityDiagnostics_IE_List_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_SET_OF_specifics_t asn_SPC_M3AP_CriticalityDiagnostics_IE_List_specs_1 = {
sizeof(struct M3AP_CriticalityDiagnostics_IE_List),
offsetof(struct M3AP_CriticalityDiagnostics_IE_List, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_M3AP_CriticalityDiagnostics_IE_List = {
"CriticalityDiagnostics-IE-List",
"CriticalityDiagnostics-IE-List",
&asn_OP_SEQUENCE_OF,
asn_DEF_M3AP_CriticalityDiagnostics_IE_List_tags_1,
sizeof(asn_DEF_M3AP_CriticalityDiagnostics_IE_List_tags_1)
/sizeof(asn_DEF_M3AP_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
asn_DEF_M3AP_CriticalityDiagnostics_IE_List_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_CriticalityDiagnostics_IE_List_tags_1)
/sizeof(asn_DEF_M3AP_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_CriticalityDiagnostics_IE_List_constr_1, SEQUENCE_OF_constraint },
asn_MBR_M3AP_CriticalityDiagnostics_IE_List_1,
1, /* Single element */
&asn_SPC_M3AP_CriticalityDiagnostics_IE_List_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_CriticalityDiagnostics_IE_List_H_
#define _M3AP_CriticalityDiagnostics_IE_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include "M3AP_Criticality.h"
#include "M3AP_ProtocolIE-ID.h"
#include "M3AP_TypeOfError.h"
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct M3AP_ProtocolExtensionContainer;
/* Forward definitions */
typedef struct M3AP_CriticalityDiagnostics_IE_List__Member {
M3AP_Criticality_t iECriticality;
M3AP_ProtocolIE_ID_t iE_ID;
M3AP_TypeOfError_t typeOfError;
struct M3AP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} CriticalityDiagnostics_IE_List__Member;
/* M3AP_CriticalityDiagnostics-IE-List */
typedef struct M3AP_CriticalityDiagnostics_IE_List {
A_SEQUENCE_OF(CriticalityDiagnostics_IE_List__Member) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} M3AP_CriticalityDiagnostics_IE_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_M3AP_CriticalityDiagnostics_IE_List;
extern asn_SET_OF_specifics_t asn_SPC_M3AP_CriticalityDiagnostics_IE_List_specs_1;
extern asn_TYPE_member_t asn_MBR_M3AP_CriticalityDiagnostics_IE_List_1[1];
extern asn_per_constraints_t asn_PER_type_M3AP_CriticalityDiagnostics_IE_List_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_CriticalityDiagnostics_IE_List_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_CriticalityDiagnostics.h"
#include "M3AP_CriticalityDiagnostics-IE-List.h"
#include "M3AP_ProtocolExtensionContainer.h"
asn_TYPE_member_t asn_MBR_M3AP_CriticalityDiagnostics_1[] = {
{ ATF_POINTER, 5, offsetof(struct M3AP_CriticalityDiagnostics, procedureCode),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_ProcedureCode,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"procedureCode"
},
{ ATF_POINTER, 4, offsetof(struct M3AP_CriticalityDiagnostics, triggeringMessage),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_TriggeringMessage,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"triggeringMessage"
},
{ ATF_POINTER, 3, offsetof(struct M3AP_CriticalityDiagnostics, procedureCriticality),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_Criticality,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"procedureCriticality"
},
{ ATF_POINTER, 2, offsetof(struct M3AP_CriticalityDiagnostics, iEsCriticalityDiagnostics),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_CriticalityDiagnostics_IE_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iEsCriticalityDiagnostics"
},
{ ATF_POINTER, 1, offsetof(struct M3AP_CriticalityDiagnostics, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_ProtocolExtensionContainer_1045P1,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-Extensions"
},
};
static const int asn_MAP_M3AP_CriticalityDiagnostics_oms_1[] = { 0, 1, 2, 3, 4 };
static const ber_tlv_tag_t asn_DEF_M3AP_CriticalityDiagnostics_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_M3AP_CriticalityDiagnostics_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggeringMessage */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* procedureCriticality */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iEsCriticalityDiagnostics */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
};
asn_SEQUENCE_specifics_t asn_SPC_M3AP_CriticalityDiagnostics_specs_1 = {
sizeof(struct M3AP_CriticalityDiagnostics),
offsetof(struct M3AP_CriticalityDiagnostics, _asn_ctx),
asn_MAP_M3AP_CriticalityDiagnostics_tag2el_1,
5, /* Count of tags in the map */
asn_MAP_M3AP_CriticalityDiagnostics_oms_1, /* Optional members */
5, 0, /* Root/Additions */
5, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_M3AP_CriticalityDiagnostics = {
"CriticalityDiagnostics",
"CriticalityDiagnostics",
&asn_OP_SEQUENCE,
asn_DEF_M3AP_CriticalityDiagnostics_tags_1,
sizeof(asn_DEF_M3AP_CriticalityDiagnostics_tags_1)
/sizeof(asn_DEF_M3AP_CriticalityDiagnostics_tags_1[0]), /* 1 */
asn_DEF_M3AP_CriticalityDiagnostics_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_CriticalityDiagnostics_tags_1)
/sizeof(asn_DEF_M3AP_CriticalityDiagnostics_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_M3AP_CriticalityDiagnostics_1,
5, /* Elements count */
&asn_SPC_M3AP_CriticalityDiagnostics_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_CriticalityDiagnostics_H_
#define _M3AP_CriticalityDiagnostics_H_
#include <asn_application.h>
/* Including external dependencies */
#include "M3AP_ProcedureCode.h"
#include "M3AP_TriggeringMessage.h"
#include "M3AP_Criticality.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct M3AP_CriticalityDiagnostics_IE_List;
struct M3AP_ProtocolExtensionContainer;
/* M3AP_CriticalityDiagnostics */
typedef struct M3AP_CriticalityDiagnostics {
M3AP_ProcedureCode_t *procedureCode; /* OPTIONAL */
M3AP_TriggeringMessage_t *triggeringMessage; /* OPTIONAL */
M3AP_Criticality_t *procedureCriticality; /* OPTIONAL */
struct M3AP_CriticalityDiagnostics_IE_List *iEsCriticalityDiagnostics; /* OPTIONAL */
struct M3AP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} M3AP_CriticalityDiagnostics_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_M3AP_CriticalityDiagnostics;
extern asn_SEQUENCE_specifics_t asn_SPC_M3AP_CriticalityDiagnostics_specs_1;
extern asn_TYPE_member_t asn_MBR_M3AP_CriticalityDiagnostics_1[5];
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_CriticalityDiagnostics_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_ECGI.h"
#include "M3AP_ProtocolExtensionContainer.h"
asn_TYPE_member_t asn_MBR_M3AP_ECGI_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_ECGI, pLMN_Identity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_PLMN_Identity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"pLMN-Identity"
},
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_ECGI, eUTRANcellIdentifier),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_EUTRANCellIdentifier,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"eUTRANcellIdentifier"
},
{ ATF_POINTER, 1, offsetof(struct M3AP_ECGI, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_ProtocolExtensionContainer_1045P3,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-Extensions"
},
};
static const int asn_MAP_M3AP_ECGI_oms_1[] = { 2 };
static const ber_tlv_tag_t asn_DEF_M3AP_ECGI_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_M3AP_ECGI_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eUTRANcellIdentifier */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
};
asn_SEQUENCE_specifics_t asn_SPC_M3AP_ECGI_specs_1 = {
sizeof(struct M3AP_ECGI),
offsetof(struct M3AP_ECGI, _asn_ctx),
asn_MAP_M3AP_ECGI_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_M3AP_ECGI_oms_1, /* Optional members */
1, 0, /* Root/Additions */
3, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_M3AP_ECGI = {
"ECGI",
"ECGI",
&asn_OP_SEQUENCE,
asn_DEF_M3AP_ECGI_tags_1,
sizeof(asn_DEF_M3AP_ECGI_tags_1)
/sizeof(asn_DEF_M3AP_ECGI_tags_1[0]), /* 1 */
asn_DEF_M3AP_ECGI_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_ECGI_tags_1)
/sizeof(asn_DEF_M3AP_ECGI_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_M3AP_ECGI_1,
3, /* Elements count */
&asn_SPC_M3AP_ECGI_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_ECGI_H_
#define _M3AP_ECGI_H_
#include <asn_application.h>
/* Including external dependencies */
#include "M3AP_PLMN-Identity.h"
#include "M3AP_EUTRANCellIdentifier.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct M3AP_ProtocolExtensionContainer;
/* M3AP_ECGI */
typedef struct M3AP_ECGI {
M3AP_PLMN_Identity_t pLMN_Identity;
M3AP_EUTRANCellIdentifier_t eUTRANcellIdentifier;
struct M3AP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} M3AP_ECGI_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_M3AP_ECGI;
extern asn_SEQUENCE_specifics_t asn_SPC_M3AP_ECGI_specs_1;
extern asn_TYPE_member_t asn_MBR_M3AP_ECGI_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_ECGI_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_EUTRANCellIdentifier.h"
int
M3AP_EUTRANCellIdentifier_constraint(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 == 28)) {
/* 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.
*/
asn_per_constraints_t asn_PER_type_M3AP_EUTRANCellIdentifier_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 28, 28 } /* (SIZE(28..28)) */,
0, 0 /* No PER value map */
};
static const ber_tlv_tag_t asn_DEF_M3AP_EUTRANCellIdentifier_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_EUTRANCellIdentifier = {
"EUTRANCellIdentifier",
"EUTRANCellIdentifier",
&asn_OP_BIT_STRING,
asn_DEF_M3AP_EUTRANCellIdentifier_tags_1,
sizeof(asn_DEF_M3AP_EUTRANCellIdentifier_tags_1)
/sizeof(asn_DEF_M3AP_EUTRANCellIdentifier_tags_1[0]), /* 1 */
asn_DEF_M3AP_EUTRANCellIdentifier_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_EUTRANCellIdentifier_tags_1)
/sizeof(asn_DEF_M3AP_EUTRANCellIdentifier_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_M3AP_EUTRANCellIdentifier_constr_1, M3AP_EUTRANCellIdentifier_constraint },
0, 0, /* No members */
&asn_SPC_BIT_STRING_specs /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#ifndef _M3AP_EUTRANCellIdentifier_H_
#define _M3AP_EUTRANCellIdentifier_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* M3AP_EUTRANCellIdentifier */
typedef BIT_STRING_t M3AP_EUTRANCellIdentifier_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_M3AP_EUTRANCellIdentifier_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_M3AP_EUTRANCellIdentifier;
asn_struct_free_f M3AP_EUTRANCellIdentifier_free;
asn_struct_print_f M3AP_EUTRANCellIdentifier_print;
asn_constr_check_f M3AP_EUTRANCellIdentifier_constraint;
ber_type_decoder_f M3AP_EUTRANCellIdentifier_decode_ber;
der_type_encoder_f M3AP_EUTRANCellIdentifier_encode_der;
xer_type_decoder_f M3AP_EUTRANCellIdentifier_decode_xer;
xer_type_encoder_f M3AP_EUTRANCellIdentifier_encode_xer;
per_type_decoder_f M3AP_EUTRANCellIdentifier_decode_uper;
per_type_encoder_f M3AP_EUTRANCellIdentifier_encode_uper;
per_type_decoder_f M3AP_EUTRANCellIdentifier_decode_aper;
per_type_encoder_f M3AP_EUTRANCellIdentifier_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _M3AP_EUTRANCellIdentifier_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-PDU-Contents"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_ErrorIndication.h"
asn_TYPE_member_t asn_MBR_M3AP_ErrorIndication_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct M3AP_ErrorIndication, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_M3AP_ProtocolIE_Container_1004P8,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"protocolIEs"
},
};
static const ber_tlv_tag_t asn_DEF_M3AP_ErrorIndication_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_M3AP_ErrorIndication_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
};
asn_SEQUENCE_specifics_t asn_SPC_M3AP_ErrorIndication_specs_1 = {
sizeof(struct M3AP_ErrorIndication),
offsetof(struct M3AP_ErrorIndication, _asn_ctx),
asn_MAP_M3AP_ErrorIndication_tag2el_1,
1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_M3AP_ErrorIndication = {
"ErrorIndication",
"ErrorIndication",
&asn_OP_SEQUENCE,
asn_DEF_M3AP_ErrorIndication_tags_1,
sizeof(asn_DEF_M3AP_ErrorIndication_tags_1)
/sizeof(asn_DEF_M3AP_ErrorIndication_tags_1[0]), /* 1 */
asn_DEF_M3AP_ErrorIndication_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_ErrorIndication_tags_1)
/sizeof(asn_DEF_M3AP_ErrorIndication_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_M3AP_ErrorIndication_1,
1, /* Elements count */
&asn_SPC_M3AP_ErrorIndication_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "M3AP-IEs"
* found in "R14/m3ap-14.0.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -D R14/m3ap-14.0.0.gen/`
*/
#include "M3AP_MBMS-Service-Area.h"
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
static const ber_tlv_tag_t asn_DEF_M3AP_MBMS_Service_Area_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
asn_TYPE_descriptor_t asn_DEF_M3AP_MBMS_Service_Area = {
"MBMS-Service-Area",
"MBMS-Service-Area",
&asn_OP_OCTET_STRING,
asn_DEF_M3AP_MBMS_Service_Area_tags_1,
sizeof(asn_DEF_M3AP_MBMS_Service_Area_tags_1)
/sizeof(asn_DEF_M3AP_MBMS_Service_Area_tags_1[0]), /* 1 */
asn_DEF_M3AP_MBMS_Service_Area_tags_1, /* Same as above */
sizeof(asn_DEF_M3AP_MBMS_Service_Area_tags_1)
/sizeof(asn_DEF_M3AP_MBMS_Service_Area_tags_1[0]), /* 1 */
{ 0, 0, OCTET_STRING_constraint },
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs /* Additional specs */
};
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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