Commit c7445992 authored by Robert Schmidt's avatar Robert Schmidt

Build ASN1_NGAP_LIB in separate module from generated source

parent 723f2df3

Too many changes to show.

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

......@@ -406,42 +406,12 @@ target_link_libraries(S1AP_ENB PRIVATE S1AP_LIB)
# NGAP
# Same limitation as described in RRC: unknown generated file list
# so we generate it at cmake time
##############
set (NGAP_RELEASE R15)
set(NGAP_DIR ${OPENAIR3_DIR}/NGAP)
make_version(NGAP_VERSION 15 8 0)
set(NGAP_ASN_FILES "ngap-15.8.0.asn1")
add_definitions(-DNGAP_VERSION=${NGAP_VERSION})
set(NGAP_ASN_DIR ${NGAP_DIR}/MESSAGES/ASN1/ASN1_files)
set(NGAP_C_DIR ${asn1_generated_dir}/NGAP_${NGAP_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 "${NGAP_C_DIR}" "${NGAP_ASN_DIR}/${NGAP_ASN_FILES}" "NGAP_" -fno-include-deps -findirect-choice
RESULT_VARIABLE ret)
if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${ret}: error")
endif (NOT ${ret} STREQUAL 0)
file(GLOB NGAP_source ${NGAP_C_DIR}/*.c)
add_custom_target (
ngap_flag ALL
${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${NGAP_C_DIR}" "${NGAP_ASN_DIR}/${NGAP_ASN_FILES}" "NGAP_" -fno-include-deps
DEPENDS "${NGAP_ASN_DIR}/${NGAP_ASN_FILES}"
)
add_library(NGAP_LIB
${NGAP_source}
# ${NGAP_DIR}/ngap_common.c
)
add_dependencies(NGAP_LIB ngap_flag)
include_directories ("${NGAP_C_DIR}")
include_directories ("${NGAP_DIR}")
set(NGAP_DIR ${OPENAIR3_DIR}/NGAP)
add_library(NGAP_GNB
${NGAP_DIR}/ngap_gNB.c
${NGAP_DIR}/ngap_gNB_context_management_procedures.c
......@@ -456,7 +426,8 @@ add_library(NGAP_GNB
${NGAP_DIR}/ngap_gNB_trace.c
${NGAP_DIR}/ngap_gNB_ue_context.c
)
add_dependencies(NGAP_GNB ngap_flag)
target_link_libraries(NGAP_GNB PUBLIC ASN1_NGAP_LIB)
target_include_directories(NGAP_GNB PUBLIC "${NGAP_DIR}")
#M2AP
# Same limitation as described in RRC/S1AP: unknown generated file list
......@@ -1988,7 +1959,7 @@ add_library(L2_NR
${MAC_NR_SRC}
${GNB_APP_SRC}
)
target_link_libraries(L2_NR PRIVATE ASN1_S1AP_LIB)
target_link_libraries(L2_NR PRIVATE ASN1_S1AP_LIB ASN1_NGAP_LIB NGAP_GNB)
add_library(L2_LTE_NR
${L2_RRC_SRC}
......@@ -2859,7 +2830,7 @@ target_link_libraries (nr-softmodem
-Wl,--start-group
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
X2AP_LIB X2AP_ENB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
-Wl,--end-group z dl)
......@@ -2899,7 +2870,7 @@ target_link_libraries (ocp-gnb
-Wl,--start-group
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
X2AP_LIB X2AP_ENB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB SIMU_COMMON
-Wl,--end-group z dl)
......@@ -2941,7 +2912,7 @@ add_executable(nr-uesoftmodem
target_link_libraries (nr-uesoftmodem
-Wl,--start-group
RRC_LIB NR_RRC_LIB NGAP_LIB NGAP_GNB SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB
RRC_LIB NR_RRC_LIB NGAP_GNB SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB
PHY_COMMON PHY_NR_COMMON PHY_UE PHY_NR_UE PHY_RU LFDS NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB
NFAPI_USER_LIB MISC_NFAPI_NR_LIB S1AP_LIB S1AP_ENB
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${ATLAS_LIBRARIES}
......@@ -3382,7 +3353,7 @@ target_link_libraries (nr-ittisim
-Wl,--start-group
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_SIM_LIB} RRC_LIB NR_RRC_LIB
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
X2AP_LIB X2AP_ENB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
PHY_NR_UE SCHED_NR_UE_LIB NR_L2_UE
-Wl,--end-group z dl)
......
......@@ -11,10 +11,5 @@ if [ "$done_flag" -ot $ASN1_SOURCE_DIR ] ; then
rm -f "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}*.c "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}*.h
mkdir -p "$GENERATED_FULL_DIR"
asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example $options -D $GENERATED_FULL_DIR $ASN1_SOURCE_DIR |& egrep -v "^Copied|^Compiled" | sort -u
if [ "$ASN1C_PREFIX" = "NGAP_" ] ; then
sed -i 's/18446744073709551615))/18446744073709551615U))/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}VolumeTimedReport-Item.c
sed -i 's/18446744073709551615 }/18446744073709551615U }/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}VolumeTimedReport-Item.c
fi
fi
touch $done_flag
add_subdirectory(NGAP)
add_subdirectory(S1AP)
add_subdirectory(MESSAGES)
file(GLOB lte_ngap_source R15/ngap-15.8.0.gen/*.c)
add_library(ASN1_NGAP_LIB ${lte_ngap_source})
target_include_directories(ASN1_NGAP_LIB PUBLIC "R15/ngap-15.8.0.gen/")
target_compile_options(ASN1_NGAP_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 "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#include "NGAP_AMF-TNLAssociationSetupItem.h"
#include "NGAP_ProtocolExtensionContainer.h"
asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationSetupItem_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct NGAP_AMF_TNLAssociationSetupItem, aMF_TNLAssociationAddress),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_NGAP_CPTransportLayerInformation,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"aMF-TNLAssociationAddress"
},
{ ATF_POINTER, 1, offsetof(struct NGAP_AMF_TNLAssociationSetupItem, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NGAP_ProtocolExtensionContainer_6861P3,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-Extensions"
},
};
static const int asn_MAP_NGAP_AMF_TNLAssociationSetupItem_oms_1[] = { 1 };
static const ber_tlv_tag_t asn_DEF_NGAP_AMF_TNLAssociationSetupItem_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_NGAP_AMF_TNLAssociationSetupItem_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aMF-TNLAssociationAddress */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
};
asn_SEQUENCE_specifics_t asn_SPC_NGAP_AMF_TNLAssociationSetupItem_specs_1 = {
sizeof(struct NGAP_AMF_TNLAssociationSetupItem),
offsetof(struct NGAP_AMF_TNLAssociationSetupItem, _asn_ctx),
asn_MAP_NGAP_AMF_TNLAssociationSetupItem_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_NGAP_AMF_TNLAssociationSetupItem_oms_1, /* Optional members */
1, 0, /* Root/Additions */
2, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationSetupItem = {
"AMF-TNLAssociationSetupItem",
"AMF-TNLAssociationSetupItem",
&asn_OP_SEQUENCE,
asn_DEF_NGAP_AMF_TNLAssociationSetupItem_tags_1,
sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupItem_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupItem_tags_1[0]), /* 1 */
asn_DEF_NGAP_AMF_TNLAssociationSetupItem_tags_1, /* Same as above */
sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupItem_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupItem_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_NGAP_AMF_TNLAssociationSetupItem_1,
2, /* Elements count */
&asn_SPC_NGAP_AMF_TNLAssociationSetupItem_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#ifndef _NGAP_AMF_TNLAssociationSetupItem_H_
#define _NGAP_AMF_TNLAssociationSetupItem_H_
#include <asn_application.h>
/* Including external dependencies */
#include "NGAP_CPTransportLayerInformation.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct NGAP_ProtocolExtensionContainer;
/* NGAP_AMF-TNLAssociationSetupItem */
typedef struct NGAP_AMF_TNLAssociationSetupItem {
NGAP_CPTransportLayerInformation_t aMF_TNLAssociationAddress;
struct NGAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} NGAP_AMF_TNLAssociationSetupItem_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationSetupItem;
extern asn_SEQUENCE_specifics_t asn_SPC_NGAP_AMF_TNLAssociationSetupItem_specs_1;
extern asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationSetupItem_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _NGAP_AMF_TNLAssociationSetupItem_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#include "NGAP_AMF-TNLAssociationSetupList.h"
#include "NGAP_AMF-TNLAssociationSetupItem.h"
asn_per_constraints_t asn_PER_type_NGAP_AMF_TNLAssociationSetupList_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationSetupList_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_NGAP_AMF_TNLAssociationSetupItem,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
""
},
};
static const ber_tlv_tag_t asn_DEF_NGAP_AMF_TNLAssociationSetupList_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_SET_OF_specifics_t asn_SPC_NGAP_AMF_TNLAssociationSetupList_specs_1 = {
sizeof(struct NGAP_AMF_TNLAssociationSetupList),
offsetof(struct NGAP_AMF_TNLAssociationSetupList, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationSetupList = {
"AMF-TNLAssociationSetupList",
"AMF-TNLAssociationSetupList",
&asn_OP_SEQUENCE_OF,
asn_DEF_NGAP_AMF_TNLAssociationSetupList_tags_1,
sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupList_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupList_tags_1[0]), /* 1 */
asn_DEF_NGAP_AMF_TNLAssociationSetupList_tags_1, /* Same as above */
sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupList_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationSetupList_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_NGAP_AMF_TNLAssociationSetupList_constr_1, SEQUENCE_OF_constraint },
asn_MBR_NGAP_AMF_TNLAssociationSetupList_1,
1, /* Single element */
&asn_SPC_NGAP_AMF_TNLAssociationSetupList_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#ifndef _NGAP_AMF_TNLAssociationSetupList_H_
#define _NGAP_AMF_TNLAssociationSetupList_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 NGAP_AMF_TNLAssociationSetupItem;
/* NGAP_AMF-TNLAssociationSetupList */
typedef struct NGAP_AMF_TNLAssociationSetupList {
A_SEQUENCE_OF(struct NGAP_AMF_TNLAssociationSetupItem) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} NGAP_AMF_TNLAssociationSetupList_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationSetupList;
extern asn_SET_OF_specifics_t asn_SPC_NGAP_AMF_TNLAssociationSetupList_specs_1;
extern asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationSetupList_1[1];
extern asn_per_constraints_t asn_PER_type_NGAP_AMF_TNLAssociationSetupList_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _NGAP_AMF_TNLAssociationSetupList_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#include "NGAP_AMF-TNLAssociationToAddItem.h"
#include "NGAP_ProtocolExtensionContainer.h"
asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationToAddItem_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct NGAP_AMF_TNLAssociationToAddItem, aMF_TNLAssociationAddress),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_NGAP_CPTransportLayerInformation,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"aMF-TNLAssociationAddress"
},
{ ATF_POINTER, 1, offsetof(struct NGAP_AMF_TNLAssociationToAddItem, tNLAssociationUsage),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NGAP_TNLAssociationUsage,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"tNLAssociationUsage"
},
{ ATF_NOFLAGS, 0, offsetof(struct NGAP_AMF_TNLAssociationToAddItem, tNLAddressWeightFactor),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NGAP_TNLAddressWeightFactor,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"tNLAddressWeightFactor"
},
{ ATF_POINTER, 1, offsetof(struct NGAP_AMF_TNLAssociationToAddItem, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NGAP_ProtocolExtensionContainer_6861P4,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-Extensions"
},
};
static const int asn_MAP_NGAP_AMF_TNLAssociationToAddItem_oms_1[] = { 1, 3 };
static const ber_tlv_tag_t asn_DEF_NGAP_AMF_TNLAssociationToAddItem_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_NGAP_AMF_TNLAssociationToAddItem_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aMF-TNLAssociationAddress */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tNLAssociationUsage */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* tNLAddressWeightFactor */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
};
asn_SEQUENCE_specifics_t asn_SPC_NGAP_AMF_TNLAssociationToAddItem_specs_1 = {
sizeof(struct NGAP_AMF_TNLAssociationToAddItem),
offsetof(struct NGAP_AMF_TNLAssociationToAddItem, _asn_ctx),
asn_MAP_NGAP_AMF_TNLAssociationToAddItem_tag2el_1,
4, /* Count of tags in the map */
asn_MAP_NGAP_AMF_TNLAssociationToAddItem_oms_1, /* Optional members */
2, 0, /* Root/Additions */
4, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationToAddItem = {
"AMF-TNLAssociationToAddItem",
"AMF-TNLAssociationToAddItem",
&asn_OP_SEQUENCE,
asn_DEF_NGAP_AMF_TNLAssociationToAddItem_tags_1,
sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddItem_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddItem_tags_1[0]), /* 1 */
asn_DEF_NGAP_AMF_TNLAssociationToAddItem_tags_1, /* Same as above */
sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddItem_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddItem_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_NGAP_AMF_TNLAssociationToAddItem_1,
4, /* Elements count */
&asn_SPC_NGAP_AMF_TNLAssociationToAddItem_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#ifndef _NGAP_AMF_TNLAssociationToAddItem_H_
#define _NGAP_AMF_TNLAssociationToAddItem_H_
#include <asn_application.h>
/* Including external dependencies */
#include "NGAP_CPTransportLayerInformation.h"
#include "NGAP_TNLAssociationUsage.h"
#include "NGAP_TNLAddressWeightFactor.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct NGAP_ProtocolExtensionContainer;
/* NGAP_AMF-TNLAssociationToAddItem */
typedef struct NGAP_AMF_TNLAssociationToAddItem {
NGAP_CPTransportLayerInformation_t aMF_TNLAssociationAddress;
NGAP_TNLAssociationUsage_t *tNLAssociationUsage; /* OPTIONAL */
NGAP_TNLAddressWeightFactor_t tNLAddressWeightFactor;
struct NGAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} NGAP_AMF_TNLAssociationToAddItem_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationToAddItem;
extern asn_SEQUENCE_specifics_t asn_SPC_NGAP_AMF_TNLAssociationToAddItem_specs_1;
extern asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationToAddItem_1[4];
#ifdef __cplusplus
}
#endif
#endif /* _NGAP_AMF_TNLAssociationToAddItem_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#include "NGAP_AMF-TNLAssociationToAddList.h"
#include "NGAP_AMF-TNLAssociationToAddItem.h"
asn_per_constraints_t asn_PER_type_NGAP_AMF_TNLAssociationToAddList_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
0, 0 /* No PER value map */
};
asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationToAddList_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_NGAP_AMF_TNLAssociationToAddItem,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
""
},
};
static const ber_tlv_tag_t asn_DEF_NGAP_AMF_TNLAssociationToAddList_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
asn_SET_OF_specifics_t asn_SPC_NGAP_AMF_TNLAssociationToAddList_specs_1 = {
sizeof(struct NGAP_AMF_TNLAssociationToAddList),
offsetof(struct NGAP_AMF_TNLAssociationToAddList, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationToAddList = {
"AMF-TNLAssociationToAddList",
"AMF-TNLAssociationToAddList",
&asn_OP_SEQUENCE_OF,
asn_DEF_NGAP_AMF_TNLAssociationToAddList_tags_1,
sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddList_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddList_tags_1[0]), /* 1 */
asn_DEF_NGAP_AMF_TNLAssociationToAddList_tags_1, /* Same as above */
sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddList_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationToAddList_tags_1[0]), /* 1 */
{ 0, &asn_PER_type_NGAP_AMF_TNLAssociationToAddList_constr_1, SEQUENCE_OF_constraint },
asn_MBR_NGAP_AMF_TNLAssociationToAddList_1,
1, /* Single element */
&asn_SPC_NGAP_AMF_TNLAssociationToAddList_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#ifndef _NGAP_AMF_TNLAssociationToAddList_H_
#define _NGAP_AMF_TNLAssociationToAddList_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 NGAP_AMF_TNLAssociationToAddItem;
/* NGAP_AMF-TNLAssociationToAddList */
typedef struct NGAP_AMF_TNLAssociationToAddList {
A_SEQUENCE_OF(struct NGAP_AMF_TNLAssociationToAddItem) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} NGAP_AMF_TNLAssociationToAddList_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationToAddList;
extern asn_SET_OF_specifics_t asn_SPC_NGAP_AMF_TNLAssociationToAddList_specs_1;
extern asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationToAddList_1[1];
extern asn_per_constraints_t asn_PER_type_NGAP_AMF_TNLAssociationToAddList_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _NGAP_AMF_TNLAssociationToAddList_H_ */
#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#include "NGAP_AMF-TNLAssociationToRemoveItem.h"
#include "NGAP_ProtocolExtensionContainer.h"
asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationToRemoveItem_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct NGAP_AMF_TNLAssociationToRemoveItem, aMF_TNLAssociationAddress),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_NGAP_CPTransportLayerInformation,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"aMF-TNLAssociationAddress"
},
{ ATF_POINTER, 1, offsetof(struct NGAP_AMF_TNLAssociationToRemoveItem, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NGAP_ProtocolExtensionContainer_6861P5,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"iE-Extensions"
},
};
static const int asn_MAP_NGAP_AMF_TNLAssociationToRemoveItem_oms_1[] = { 1 };
static const ber_tlv_tag_t asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_NGAP_AMF_TNLAssociationToRemoveItem_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aMF-TNLAssociationAddress */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
};
asn_SEQUENCE_specifics_t asn_SPC_NGAP_AMF_TNLAssociationToRemoveItem_specs_1 = {
sizeof(struct NGAP_AMF_TNLAssociationToRemoveItem),
offsetof(struct NGAP_AMF_TNLAssociationToRemoveItem, _asn_ctx),
asn_MAP_NGAP_AMF_TNLAssociationToRemoveItem_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_NGAP_AMF_TNLAssociationToRemoveItem_oms_1, /* Optional members */
1, 0, /* Root/Additions */
2, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem = {
"AMF-TNLAssociationToRemoveItem",
"AMF-TNLAssociationToRemoveItem",
&asn_OP_SEQUENCE,
asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem_tags_1,
sizeof(asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem_tags_1[0]), /* 1 */
asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem_tags_1, /* Same as above */
sizeof(asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem_tags_1)
/sizeof(asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_NGAP_AMF_TNLAssociationToRemoveItem_1,
2, /* Elements count */
&asn_SPC_NGAP_AMF_TNLAssociationToRemoveItem_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "NGAP-IEs"
* found in "R15/ngap-15.8.0.asn1"
* `asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -fno-include-deps -findirect-choice -D R15/ngap-15.8.0.gen/`
*/
#ifndef _NGAP_AMF_TNLAssociationToRemoveItem_H_
#define _NGAP_AMF_TNLAssociationToRemoveItem_H_
#include <asn_application.h>
/* Including external dependencies */
#include "NGAP_CPTransportLayerInformation.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct NGAP_ProtocolExtensionContainer;
/* NGAP_AMF-TNLAssociationToRemoveItem */
typedef struct NGAP_AMF_TNLAssociationToRemoveItem {
NGAP_CPTransportLayerInformation_t aMF_TNLAssociationAddress;
struct NGAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} NGAP_AMF_TNLAssociationToRemoveItem_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_NGAP_AMF_TNLAssociationToRemoveItem;
extern asn_SEQUENCE_specifics_t asn_SPC_NGAP_AMF_TNLAssociationToRemoveItem_specs_1;
extern asn_TYPE_member_t asn_MBR_NGAP_AMF_TNLAssociationToRemoveItem_1[2];
#ifdef __cplusplus
}
#endif
#endif /* _NGAP_AMF_TNLAssociationToRemoveItem_H_ */
#include <asn_internal.h>
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