diff --git a/Dockerfile b/Dockerfile
index d78be01..19828bc 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -14,13 +14,15 @@
# limitations under the License.
#==================================================================================
-FROM wineslab/o-ran-sc-bldr-ubuntu18-c-go:9-u18.04 as buildenv
+FROM ubuntu:latest as buildenv
ARG log_level_e2sim=2
# log_level_e2sim = 0 -> LOG_LEVEL_UNCOND 0
# log_level_e2sim = 1 -> LOG_LEVEL_ERROR 1
# log_level_e2sim = 2 -> LOG_LEVEL_INFO 2
# log_level_e2sim = 3 -> LOG_LEVEL_DEBUG 3
+# RUN echo nameserver 8.8.8.8 > /etc/resolv.conf && echo nameserver 8.8.4.4 >> /etc/resolv.conf
+
# Install E2sim
RUN mkdir -p /workspace
RUN apt-get update && apt-get install -y build-essential git cmake libsctp-dev autoconf automake libtool bison flex libboost-all-dev
@@ -41,7 +43,7 @@ RUN ldconfig
WORKDIR /workspace
# Install ns-3
-RUN apt-get install -y g++ python3 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
+RUN apt-get install -y g++ python3
RUN git clone -b release https://github.com/wineslab/ns-o-ran-ns3-mmwave /workspace/ns3-mmwave-oran
RUN git clone -b master https://github.com/o-ran-sc/sim-ns3-o-ran-e2 /workspace/ns3-mmwave-oran/contrib/oran-interface
diff --git a/setup/sample-xapp/Dockerfile b/setup/sample-xapp/Dockerfile
index 04d4409..08e62ba 100644
--- a/setup/sample-xapp/Dockerfile
+++ b/setup/sample-xapp/Dockerfile
@@ -61,42 +61,43 @@ RUN apt-get update \
&& apt-get install -y \
python3 \
python3-pip \
-# Install mdclog using debian package hosted at packagecloud.io
- && wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/mdclog_${MDC_VER}_amd64.deb/download.deb \
+ gdb
+ # Install mdclog using debian package hosted at packagecloud.io
+RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/mdclog_${MDC_VER}_amd64.deb/download.deb \
&& wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/mdclog-dev_${MDC_VER}_amd64.deb/download.deb \
&& dpkg -i mdclog_${MDC_VER}_amd64.deb \
&& dpkg -i mdclog-dev_${MDC_VER}_amd64.deb \
- && rm mdclog_${MDC_VER}_amd64.deb mdclog-dev_${MDC_VER}_amd64.deb \
+ && rm mdclog_${MDC_VER}_amd64.deb mdclog-dev_${MDC_VER}_amd64.deb
# Install RMR using debian package hosted at packagecloud.io
- && wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr_${RMR_VER}_amd64.deb/download.deb \
+RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr_${RMR_VER}_amd64.deb/download.deb \
&& wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr-dev_${RMR_VER}_amd64.deb/download.deb \
&& dpkg -i rmr_${RMR_VER}_amd64.deb \
&& dpkg -i rmr-dev_${RMR_VER}_amd64.deb \
- && rm rmr_${RMR_VER}_amd64.deb rmr-dev_${RMR_VER}_amd64.deb \
+ && rm rmr_${RMR_VER}_amd64.deb rmr-dev_${RMR_VER}_amd64.deb
# Install RNIB libraries
- && wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rnib_${RNIB_VER}_all.deb/download.deb \
+RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rnib_${RNIB_VER}_all.deb/download.deb \
&& dpkg -i rnib_${RNIB_VER}_all.deb \
- && rm rnib_${RNIB_VER}_all.deb \
+ && rm rnib_${RNIB_VER}_all.deb
# Install dbaas
- && cd ${STAGE_DIR} \
+RUN cd ${STAGE_DIR} \
&& git clone https://gerrit.o-ran-sc.org/r/ric-plt/dbaas \
&& cd dbaas/redismodule \
&& ./autogen.sh \
&& ./configure \
&& make -j ${nproc} all \
&& make install \
- && rm -Rf ${STAGE_DIR}/dbaas \
+ && rm -Rf ${STAGE_DIR}/dbaas
# Install sdl
- && cd ${STAGE_DIR} \
+RUN cd ${STAGE_DIR} \
&& git clone https://gerrit.o-ran-sc.org/r/ric-plt/sdl \
&& cd sdl \
&& ./autogen.sh \
&& ./configure \
&& make -j ${nproc} all \
&& make install \
- && rm -Rf ${STAGE_DIR}/sdl \
+ && rm -Rf ${STAGE_DIR}/sdl
# Install rapidjson
- && cd ${STAGE_DIR} \
+RUN cd ${STAGE_DIR} \
&& git clone https://github.com/Tencent/rapidjson \
&& cd rapidjson \
&& mkdir build \
@@ -105,14 +106,13 @@ RUN apt-get update \
&& make -j ${nproc} \
&& make install \
&& cd ${STAGE_DIR} \
- && rm -rf rapidjson \
+ && rm -rf rapidjson
##-----------------------------------
# Now install the program
#------------------------------------
# build connector
- && export CPATH=$CPATH:/usr/local/include \
+RUN export CPATH=$CPATH:/usr/local/include \
&& cd src \
- && make clean \
&& make -j ${nproc} \
&& make install \
&& ldconfig \
diff --git a/setup/xapp-sm-connector/.idea/.gitignore b/setup/xapp-sm-connector/.idea/.gitignore
new file mode 100644
index 0000000..8bf4d45
--- /dev/null
+++ b/setup/xapp-sm-connector/.idea/.gitignore
@@ -0,0 +1,6 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/setup/xapp-sm-connector/.idea/misc.xml b/setup/xapp-sm-connector/.idea/misc.xml
new file mode 100644
index 0000000..a79fc2c
--- /dev/null
+++ b/setup/xapp-sm-connector/.idea/misc.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/setup/xapp-sm-connector/.idea/vcs.xml b/setup/xapp-sm-connector/.idea/vcs.xml
new file mode 100644
index 0000000..b2bdec2
--- /dev/null
+++ b/setup/xapp-sm-connector/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/setup/xapp-sm-connector/asn1c_defs/ARP.c b/setup/xapp-sm-connector/asn1c_defs/ARP.c
new file mode 100644
index 0000000..5241f50
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/ARP.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "ARP.h"
+
+int
+ARP_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 15)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ARP_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_ARP_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 15 } /* (1..15,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_ARP_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ARP = {
+ "ARP",
+ "ARP",
+ &asn_OP_NativeInteger,
+ asn_DEF_ARP_tags_1,
+ sizeof(asn_DEF_ARP_tags_1)
+ /sizeof(asn_DEF_ARP_tags_1[0]), /* 1 */
+ asn_DEF_ARP_tags_1, /* Same as above */
+ sizeof(asn_DEF_ARP_tags_1)
+ /sizeof(asn_DEF_ARP_tags_1[0]), /* 1 */
+ { &asn_OER_type_ARP_constr_1, &asn_PER_type_ARP_constr_1, ARP_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/ARP.h b/setup/xapp-sm-connector/asn1c_defs/ARP.h
new file mode 100644
index 0000000..6db961c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/ARP.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _ARP_H_
+#define _ARP_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ARP */
+typedef long ARP_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ARP_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ARP;
+asn_struct_free_f ARP_free;
+asn_struct_print_f ARP_print;
+asn_constr_check_f ARP_constraint;
+ber_type_decoder_f ARP_decode_ber;
+der_type_encoder_f ARP_encode_der;
+xer_type_decoder_f ARP_decode_xer;
+xer_type_encoder_f ARP_encode_xer;
+oer_type_decoder_f ARP_decode_oer;
+oer_type_encoder_f ARP_encode_oer;
+per_type_decoder_f ARP_decode_uper;
+per_type_encoder_f ARP_encode_uper;
+per_type_decoder_f ARP_decode_aper;
+per_type_encoder_f ARP_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ARP_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/BIT_STRING_oer.c b/setup/xapp-sm-connector/asn1c_defs/BIT_STRING_oer.c
new file mode 100644
index 0000000..aff5075
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/BIT_STRING_oer.c
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef ASN_DISABLE_OER_SUPPORT
+
+#include
+#include
+#include
+
+asn_dec_rval_t
+BIT_STRING_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
+ const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints, void **sptr,
+ const void *ptr, size_t size) {
+ BIT_STRING_t *st = (BIT_STRING_t *)*sptr;
+ const asn_oer_constraints_t *cts =
+ constraints ? constraints : td->encoding_constraints.oer_constraints;
+ ssize_t ct_size = cts ? cts->size : -1;
+ asn_dec_rval_t rval = {RC_OK, 0};
+ size_t expected_length = 0;
+
+ (void)opt_codec_ctx;
+
+ if(!st) {
+ st = (BIT_STRING_t *)(*sptr = CALLOC(1, sizeof(*st)));
+ if(!st) ASN__DECODE_FAILED;
+ }
+
+ if(ct_size >= 0) {
+ expected_length = (ct_size + 7) >> 3;
+ st->bits_unused = (8 - (ct_size & 7)) & 7;
+ } else {
+ /*
+ * X.696 (08/2015) #13.3.1
+ * Encode length determinant as _number of octets_, but only
+ * if upper bound is not equal to lower bound.
+ */
+ ssize_t len_len = oer_fetch_length(ptr, size, &expected_length);
+ if(len_len > 0) {
+ ptr = (const char *)ptr + len_len;
+ size -= len_len;
+ } else if(len_len == 0) {
+ ASN__DECODE_STARVED;
+ } else if(len_len < 0) {
+ ASN__DECODE_FAILED;
+ }
+
+ if(expected_length < 1) {
+ ASN__DECODE_FAILED;
+ } else if(expected_length > size) {
+ ASN__DECODE_STARVED;
+ }
+
+ st->bits_unused = ((const uint8_t *)ptr)[0];
+ if(st->bits_unused & ~7) {
+ ASN_DEBUG("%s: unused bits outside of 0..7 range", td->name);
+ ASN__DECODE_FAILED;
+ }
+ ptr = (const char *)ptr + 1;
+ size--;
+ expected_length--;
+ rval.consumed = len_len + 1;
+ }
+
+ if(size < expected_length) {
+ ASN__DECODE_STARVED;
+ } else {
+ uint8_t *buf = MALLOC(expected_length + 1);
+ if(buf == NULL) {
+ ASN__DECODE_FAILED;
+ } else {
+ memcpy(buf, ptr, expected_length);
+ buf[expected_length] = '\0';
+ }
+ FREEMEM(st->buf);
+ st->buf = buf;
+ st->size = expected_length;
+ if(expected_length > 0) {
+ buf[expected_length - 1] &= (0xff << st->bits_unused);
+ }
+
+ rval.consumed += expected_length;
+ return rval;
+ }
+}
+
+/*
+ * Encode as Canonical OER.
+ */
+asn_enc_rval_t
+BIT_STRING_encode_oer(const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints,
+ const void *sptr, asn_app_consume_bytes_f *cb,
+ void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ asn_enc_rval_t erval = {0, 0, 0};
+ const asn_oer_constraints_t *cts =
+ constraints ? constraints : td->encoding_constraints.oer_constraints;
+ ssize_t ct_size = cts ? cts->size : -1;
+ size_t trailing_zeros = 0;
+ int fix_last_byte = 0;
+
+ if(!st) ASN__ENCODE_FAILED;
+
+ if(st->bits_unused & ~7) {
+ ASN_DEBUG("BIT STRING unused bits %d out of 0..7 range",
+ st->bits_unused);
+ ASN__ENCODE_FAILED;
+ }
+ if(st->bits_unused && !(st->size && st->buf)) {
+ ASN_DEBUG("BIT STRING %s size 0 can't support unused bits %d", td->name,
+ st->bits_unused);
+ ASN__ENCODE_FAILED;
+ }
+
+ if(ct_size >= 0) {
+ size_t ct_bytes = (ct_size + 7) >> 3;
+ if(st->size > ct_bytes) {
+ ASN_DEBUG("More bits in BIT STRING %s (%" ASN_PRI_SSIZE ") than constrained %" ASN_PRI_SSIZE "",
+ td->name, 8 * st->size - st->bits_unused, ct_size);
+ ASN__ENCODE_FAILED;
+ }
+ trailing_zeros = ct_bytes - st->size; /* Allow larger constraint */
+ } else {
+ uint8_t ub = st->bits_unused & 7;
+ ssize_t len_len = oer_serialize_length(1 + st->size, cb, app_key);
+ if(len_len < 0) ASN__ENCODE_FAILED;
+ if(cb(&ub, 1, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+ erval.encoded += len_len + 1;
+ }
+
+ if(st->bits_unused) {
+ if(st->buf[st->size - 1] & (0xff << st->bits_unused)) {
+ fix_last_byte = 1;
+ }
+ }
+
+ if(cb(st->buf, st->size - fix_last_byte, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+
+ if(fix_last_byte) {
+ uint8_t b = st->buf[st->size - 1] & (0xff << st->bits_unused);
+ if(cb(&b, 1, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+ }
+
+ erval.encoded += st->size;
+
+ if(trailing_zeros) {
+ static uint8_t zeros[16];
+ while(trailing_zeros > 0) {
+ int ret;
+ if(trailing_zeros < sizeof(zeros)) {
+ ret = cb(zeros, trailing_zeros, app_key);
+ erval.encoded += trailing_zeros;
+ } else {
+ ret = cb(zeros, sizeof(zeros), app_key);
+ erval.encoded += sizeof(zeros);
+ }
+ if(ret < 0) ASN__ENCODE_FAILED;
+ }
+ }
+
+ return erval;
+}
+
+
+#endif /* ASN_DISABLE_OER_SUPPORT */
diff --git a/setup/xapp-sm-connector/asn1c_defs/CMakeLists.txt b/setup/xapp-sm-connector/asn1c_defs/CMakeLists.txt
new file mode 100644
index 0000000..1f96e59
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CMakeLists.txt
@@ -0,0 +1,40 @@
+
+
+#/*****************************************************************************
+# *
+# Copyright 2020 AT&T Intellectual Property *
+# *
+# Licensed under the Apache License, Version 2.0 (the "License"); *
+# you may not use this file except in compliance with the License. *
+# You may obtain a copy of the License at *
+# *
+# http://www.apache.org/licenses/LICENSE-2.0 *
+# *
+# Unless required by applicable law or agreed to in writing, software *
+# distributed under the License is distributed on an "AS IS" BASIS, *
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
+# See the License for the specific language governing permissions and *
+# limitations under the License. *
+# *
+#******************************************************************************/
+
+# For clarity: this generates object, not a lib as the CM command implies.
+#
+file(GLOB SOURCES "*.c")
+file(GLOB HEADERS "*.h")
+
+include_directories(.)
+add_library( asn1_objects OBJECT ${SOURCES})
+
+target_include_directories (asn1_objects PUBLIC
+ $
+ $
+ PRIVATE src)
+
+if( DEV_PKG )
+ install( FILES
+ ${HEADERS}
+ DESTINATION ${install_inc}
+ )
+endif()
+# ---------------------------------------------------------------------------
diff --git a/setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.c b/setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.c
new file mode 100644
index 0000000..327aeb9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CSI-RS-Index.h"
+
+int
+CSI_RS_Index_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 95)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_CSI_RS_Index_constr_1 CC_NOTUSED = {
+ { 1, 1 } /* (0..95) */,
+ -1};
+asn_per_constraints_t asn_PER_type_CSI_RS_Index_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0, 95 } /* (0..95) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_CSI_RS_Index_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CSI_RS_Index = {
+ "CSI-RS-Index",
+ "CSI-RS-Index",
+ &asn_OP_NativeInteger,
+ asn_DEF_CSI_RS_Index_tags_1,
+ sizeof(asn_DEF_CSI_RS_Index_tags_1)
+ /sizeof(asn_DEF_CSI_RS_Index_tags_1[0]), /* 1 */
+ asn_DEF_CSI_RS_Index_tags_1, /* Same as above */
+ sizeof(asn_DEF_CSI_RS_Index_tags_1)
+ /sizeof(asn_DEF_CSI_RS_Index_tags_1[0]), /* 1 */
+ { &asn_OER_type_CSI_RS_Index_constr_1, &asn_PER_type_CSI_RS_Index_constr_1, CSI_RS_Index_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.h b/setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.h
new file mode 100644
index 0000000..12169da
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _CSI_RS_Index_H_
+#define _CSI_RS_Index_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CSI-RS-Index */
+typedef long CSI_RS_Index_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CSI_RS_Index_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CSI_RS_Index;
+asn_struct_free_f CSI_RS_Index_free;
+asn_struct_print_f CSI_RS_Index_print;
+asn_constr_check_f CSI_RS_Index_constraint;
+ber_type_decoder_f CSI_RS_Index_decode_ber;
+der_type_encoder_f CSI_RS_Index_encode_der;
+xer_type_decoder_f CSI_RS_Index_decode_xer;
+xer_type_encoder_f CSI_RS_Index_encode_xer;
+oer_type_decoder_f CSI_RS_Index_decode_oer;
+oer_type_encoder_f CSI_RS_Index_encode_oer;
+per_type_decoder_f CSI_RS_Index_decode_uper;
+per_type_encoder_f CSI_RS_Index_encode_uper;
+per_type_decoder_f CSI_RS_Index_decode_aper;
+per_type_encoder_f CSI_RS_Index_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CSI_RS_Index_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.c b/setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.c
new file mode 100644
index 0000000..0e768d8
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CUUPMeasurement-Container.h"
+
+#include "PlmnID-Item.h"
+static int
+memb_plmnList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 12)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_plmnList_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..12)) */};
+static asn_per_constraints_t asn_PER_type_plmnList_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_plmnList_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..12)) */};
+static asn_per_constraints_t asn_PER_memb_plmnList_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_plmnList_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PlmnID_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_plmnList_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_plmnList_specs_2 = {
+ sizeof(struct CUUPMeasurement_Container__plmnList),
+ offsetof(struct CUUPMeasurement_Container__plmnList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_plmnList_2 = {
+ "plmnList",
+ "plmnList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_plmnList_tags_2,
+ sizeof(asn_DEF_plmnList_tags_2)
+ /sizeof(asn_DEF_plmnList_tags_2[0]) - 1, /* 1 */
+ asn_DEF_plmnList_tags_2, /* Same as above */
+ sizeof(asn_DEF_plmnList_tags_2)
+ /sizeof(asn_DEF_plmnList_tags_2[0]), /* 2 */
+ { &asn_OER_type_plmnList_constr_2, &asn_PER_type_plmnList_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_plmnList_2,
+ 1, /* Single element */
+ &asn_SPC_plmnList_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_CUUPMeasurement_Container_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CUUPMeasurement_Container, plmnList),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_plmnList_2,
+ 0,
+ { &asn_OER_memb_plmnList_constr_2, &asn_PER_memb_plmnList_constr_2, memb_plmnList_constraint_1 },
+ 0, 0, /* No default value */
+ "plmnList"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_CUUPMeasurement_Container_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CUUPMeasurement_Container_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* plmnList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CUUPMeasurement_Container_specs_1 = {
+ sizeof(struct CUUPMeasurement_Container),
+ offsetof(struct CUUPMeasurement_Container, _asn_ctx),
+ asn_MAP_CUUPMeasurement_Container_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_CUUPMeasurement_Container = {
+ "CUUPMeasurement-Container",
+ "CUUPMeasurement-Container",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CUUPMeasurement_Container_tags_1,
+ sizeof(asn_DEF_CUUPMeasurement_Container_tags_1)
+ /sizeof(asn_DEF_CUUPMeasurement_Container_tags_1[0]), /* 1 */
+ asn_DEF_CUUPMeasurement_Container_tags_1, /* Same as above */
+ sizeof(asn_DEF_CUUPMeasurement_Container_tags_1)
+ /sizeof(asn_DEF_CUUPMeasurement_Container_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_CUUPMeasurement_Container_1,
+ 1, /* Elements count */
+ &asn_SPC_CUUPMeasurement_Container_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.h b/setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.h
new file mode 100644
index 0000000..1bd12fd
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _CUUPMeasurement_Container_H_
+#define _CUUPMeasurement_Container_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct PlmnID_Item;
+
+/* CUUPMeasurement-Container */
+typedef struct CUUPMeasurement_Container {
+ struct CUUPMeasurement_Container__plmnList {
+ A_SEQUENCE_OF(struct PlmnID_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } plmnList;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CUUPMeasurement_Container_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CUUPMeasurement_Container;
+extern asn_SEQUENCE_specifics_t asn_SPC_CUUPMeasurement_Container_specs_1;
+extern asn_TYPE_member_t asn_MBR_CUUPMeasurement_Container_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CUUPMeasurement_Container_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/Cause.c b/setup/xapp-sm-connector/asn1c_defs/Cause.c
index 216f970..bdb51be 100644
--- a/setup/xapp-sm-connector/asn1c_defs/Cause.c
+++ b/setup/xapp-sm-connector/asn1c_defs/Cause.c
@@ -1,12 +1,15 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "Cause.h"
+static asn_oer_constraints_t asn_OER_type_Cause_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_Cause_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -84,7 +87,7 @@ asn_TYPE_descriptor_t asn_DEF_Cause = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { 0, &asn_PER_type_Cause_constr_1, CHOICE_constraint },
+ { &asn_OER_type_Cause_constr_1, &asn_PER_type_Cause_constr_1, CHOICE_constraint },
asn_MBR_Cause_1,
5, /* Elements count */
&asn_SPC_Cause_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/Cause.h b/setup/xapp-sm-connector/asn1c_defs/Cause.h
index 0311e82..7bd7e80 100644
--- a/setup/xapp-sm-connector/asn1c_defs/Cause.h
+++ b/setup/xapp-sm-connector/asn1c_defs/Cause.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _Cause_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseMisc.c b/setup/xapp-sm-connector/asn1c_defs/CauseMisc.c
index 98cb877..e09c0b1 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseMisc.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseMisc.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CauseMisc.h"
@@ -11,6 +11,9 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_CauseMisc_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_CauseMisc_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -52,7 +55,7 @@ asn_TYPE_descriptor_t asn_DEF_CauseMisc = {
asn_DEF_CauseMisc_tags_1, /* Same as above */
sizeof(asn_DEF_CauseMisc_tags_1)
/sizeof(asn_DEF_CauseMisc_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_CauseMisc_constr_1, NativeEnumerated_constraint },
+ { &asn_OER_type_CauseMisc_constr_1, &asn_PER_type_CauseMisc_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_CauseMisc_specs_1 /* Additional specs */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseMisc.h b/setup/xapp-sm-connector/asn1c_defs/CauseMisc.h
index fe9470a..1b1efcf 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseMisc.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseMisc.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CauseMisc_H_
@@ -43,6 +43,8 @@ ber_type_decoder_f CauseMisc_decode_ber;
der_type_encoder_f CauseMisc_encode_der;
xer_type_decoder_f CauseMisc_decode_xer;
xer_type_encoder_f CauseMisc_encode_xer;
+oer_type_decoder_f CauseMisc_decode_oer;
+oer_type_encoder_f CauseMisc_encode_oer;
per_type_decoder_f CauseMisc_decode_uper;
per_type_encoder_f CauseMisc_encode_uper;
per_type_decoder_f CauseMisc_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.c b/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.c
index 007c664..66bb383 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CauseProtocol.h"
@@ -11,6 +11,9 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_CauseProtocol_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_CauseProtocol_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -58,7 +61,7 @@ asn_TYPE_descriptor_t asn_DEF_CauseProtocol = {
asn_DEF_CauseProtocol_tags_1, /* Same as above */
sizeof(asn_DEF_CauseProtocol_tags_1)
/sizeof(asn_DEF_CauseProtocol_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_CauseProtocol_constr_1, NativeEnumerated_constraint },
+ { &asn_OER_type_CauseProtocol_constr_1, &asn_PER_type_CauseProtocol_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_CauseProtocol_specs_1 /* Additional specs */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.h b/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.h
index d074a19..8b49178 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseProtocol.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CauseProtocol_H_
@@ -46,6 +46,8 @@ ber_type_decoder_f CauseProtocol_decode_ber;
der_type_encoder_f CauseProtocol_encode_der;
xer_type_decoder_f CauseProtocol_decode_xer;
xer_type_encoder_f CauseProtocol_encode_xer;
+oer_type_decoder_f CauseProtocol_decode_oer;
+oer_type_encoder_f CauseProtocol_encode_oer;
per_type_decoder_f CauseProtocol_decode_uper;
per_type_encoder_f CauseProtocol_encode_uper;
per_type_decoder_f CauseProtocol_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseRIC.c b/setup/xapp-sm-connector/asn1c_defs/CauseRIC.c
index 81ca48b..7d94696 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseRIC.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseRIC.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CauseRIC.h"
@@ -11,6 +11,9 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_CauseRIC_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_CauseRIC_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 10 } /* (0..10,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -66,7 +69,7 @@ asn_TYPE_descriptor_t asn_DEF_CauseRIC = {
asn_DEF_CauseRIC_tags_1, /* Same as above */
sizeof(asn_DEF_CauseRIC_tags_1)
/sizeof(asn_DEF_CauseRIC_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_CauseRIC_constr_1, NativeEnumerated_constraint },
+ { &asn_OER_type_CauseRIC_constr_1, &asn_PER_type_CauseRIC_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_CauseRIC_specs_1 /* Additional specs */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseRIC.h b/setup/xapp-sm-connector/asn1c_defs/CauseRIC.h
index 9b8f9ec..92cbb95 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseRIC.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseRIC.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CauseRIC_H_
@@ -50,6 +50,8 @@ ber_type_decoder_f CauseRIC_decode_ber;
der_type_encoder_f CauseRIC_encode_der;
xer_type_decoder_f CauseRIC_decode_xer;
xer_type_encoder_f CauseRIC_encode_xer;
+oer_type_decoder_f CauseRIC_decode_oer;
+oer_type_encoder_f CauseRIC_encode_oer;
per_type_decoder_f CauseRIC_decode_uper;
per_type_encoder_f CauseRIC_encode_uper;
per_type_decoder_f CauseRIC_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.c b/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.c
index fc06d4c..c2cbccb 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CauseRICservice.h"
@@ -11,6 +11,9 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_CauseRICservice_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_CauseRICservice_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -50,7 +53,7 @@ asn_TYPE_descriptor_t asn_DEF_CauseRICservice = {
asn_DEF_CauseRICservice_tags_1, /* Same as above */
sizeof(asn_DEF_CauseRICservice_tags_1)
/sizeof(asn_DEF_CauseRICservice_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_CauseRICservice_constr_1, NativeEnumerated_constraint },
+ { &asn_OER_type_CauseRICservice_constr_1, &asn_PER_type_CauseRICservice_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_CauseRICservice_specs_1 /* Additional specs */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.h b/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.h
index 98989eb..99ec743 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseRICservice.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CauseRICservice_H_
@@ -42,6 +42,8 @@ ber_type_decoder_f CauseRICservice_decode_ber;
der_type_encoder_f CauseRICservice_encode_der;
xer_type_decoder_f CauseRICservice_decode_xer;
xer_type_encoder_f CauseRICservice_encode_xer;
+oer_type_decoder_f CauseRICservice_decode_oer;
+oer_type_encoder_f CauseRICservice_encode_oer;
per_type_decoder_f CauseRICservice_decode_uper;
per_type_encoder_f CauseRICservice_encode_uper;
per_type_decoder_f CauseRICservice_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseTransport.c b/setup/xapp-sm-connector/asn1c_defs/CauseTransport.c
index de4d52a..a0a5f38 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseTransport.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseTransport.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CauseTransport.h"
@@ -11,6 +11,9 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_CauseTransport_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_CauseTransport_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -48,7 +51,7 @@ asn_TYPE_descriptor_t asn_DEF_CauseTransport = {
asn_DEF_CauseTransport_tags_1, /* Same as above */
sizeof(asn_DEF_CauseTransport_tags_1)
/sizeof(asn_DEF_CauseTransport_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_CauseTransport_constr_1, NativeEnumerated_constraint },
+ { &asn_OER_type_CauseTransport_constr_1, &asn_PER_type_CauseTransport_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_CauseTransport_specs_1 /* Additional specs */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/CauseTransport.h b/setup/xapp-sm-connector/asn1c_defs/CauseTransport.h
index 1a7ad59..5204d28 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CauseTransport.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CauseTransport.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CauseTransport_H_
@@ -41,6 +41,8 @@ ber_type_decoder_f CauseTransport_decode_ber;
der_type_encoder_f CauseTransport_encode_der;
xer_type_decoder_f CauseTransport_decode_xer;
xer_type_encoder_f CauseTransport_encode_xer;
+oer_type_decoder_f CauseTransport_decode_oer;
+oer_type_encoder_f CauseTransport_encode_oer;
per_type_decoder_f CauseTransport_decode_uper;
per_type_encoder_f CauseTransport_encode_uper;
per_type_decoder_f CauseTransport_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/Cell-Measurement-Object-Item.c b/setup/xapp-sm-connector/asn1c_defs/Cell-Measurement-Object-Item.c
new file mode 100644
index 0000000..503b710
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/Cell-Measurement-Object-Item.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "Cell-Measurement-Object-Item.h"
+
+asn_TYPE_member_t asn_MBR_Cell_Measurement_Object_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Cell_Measurement_Object_Item, cell_object_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CellObjectID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cell-object-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct Cell_Measurement_Object_Item, cell_global_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CellGlobalID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cell-global-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_Cell_Measurement_Object_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_Cell_Measurement_Object_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cell-object-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cell-global-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_Cell_Measurement_Object_Item_specs_1 = {
+ sizeof(struct Cell_Measurement_Object_Item),
+ offsetof(struct Cell_Measurement_Object_Item, _asn_ctx),
+ asn_MAP_Cell_Measurement_Object_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_Cell_Measurement_Object_Item = {
+ "Cell-Measurement-Object-Item",
+ "Cell-Measurement-Object-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_Cell_Measurement_Object_Item_tags_1,
+ sizeof(asn_DEF_Cell_Measurement_Object_Item_tags_1)
+ /sizeof(asn_DEF_Cell_Measurement_Object_Item_tags_1[0]), /* 1 */
+ asn_DEF_Cell_Measurement_Object_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_Cell_Measurement_Object_Item_tags_1)
+ /sizeof(asn_DEF_Cell_Measurement_Object_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_Cell_Measurement_Object_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_Cell_Measurement_Object_Item_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/Cell-Measurement-Object-Item.h b/setup/xapp-sm-connector/asn1c_defs/Cell-Measurement-Object-Item.h
new file mode 100644
index 0000000..3e7230b
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/Cell-Measurement-Object-Item.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _Cell_Measurement_Object_Item_H_
+#define _Cell_Measurement_Object_Item_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "CellObjectID.h"
+#include "CellGlobalID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Cell-Measurement-Object-Item */
+typedef struct Cell_Measurement_Object_Item {
+ CellObjectID_t cell_object_ID;
+ CellGlobalID_t cell_global_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} Cell_Measurement_Object_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cell_Measurement_Object_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_Cell_Measurement_Object_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_Cell_Measurement_Object_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _Cell_Measurement_Object_Item_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/CellGlobalID.c b/setup/xapp-sm-connector/asn1c_defs/CellGlobalID.c
new file mode 100644
index 0000000..a823a89
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CellGlobalID.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "CellGlobalID.h"
+
+#include "NRCGI.h"
+#include "EUTRACGI.h"
+static asn_oer_constraints_t asn_OER_type_CellGlobalID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_CellGlobalID_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 */
+};
+asn_TYPE_member_t asn_MBR_CellGlobalID_1[] = {
+ { ATF_POINTER, 0, offsetof(struct CellGlobalID, choice.nr_CGI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NRCGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nr-CGI"
+ },
+ { ATF_POINTER, 0, offsetof(struct CellGlobalID, choice.eUTRA_CGI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EUTRACGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA-CGI"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_CellGlobalID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nr-CGI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA-CGI */
+};
+asn_CHOICE_specifics_t asn_SPC_CellGlobalID_specs_1 = {
+ sizeof(struct CellGlobalID),
+ offsetof(struct CellGlobalID, _asn_ctx),
+ offsetof(struct CellGlobalID, present),
+ sizeof(((struct CellGlobalID *)0)->present),
+ asn_MAP_CellGlobalID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CellGlobalID = {
+ "CellGlobalID",
+ "CellGlobalID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_CellGlobalID_constr_1, &asn_PER_type_CellGlobalID_constr_1, CHOICE_constraint },
+ asn_MBR_CellGlobalID_1,
+ 2, /* Elements count */
+ &asn_SPC_CellGlobalID_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/CellGlobalID.h b/setup/xapp-sm-connector/asn1c_defs/CellGlobalID.h
new file mode 100644
index 0000000..b8e0e5c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CellGlobalID.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _CellGlobalID_H_
+#define _CellGlobalID_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CellGlobalID_PR {
+ CellGlobalID_PR_NOTHING, /* No components present */
+ CellGlobalID_PR_nr_CGI,
+ CellGlobalID_PR_eUTRA_CGI
+ /* Extensions may appear below */
+
+} CellGlobalID_PR;
+
+/* Forward declarations */
+struct NRCGI;
+struct EUTRACGI;
+
+/* CellGlobalID */
+typedef struct CellGlobalID {
+ CellGlobalID_PR present;
+ union CellGlobalID_u {
+ struct NRCGI *nr_CGI;
+ struct EUTRACGI *eUTRA_CGI;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CellGlobalID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellGlobalID;
+extern asn_CHOICE_specifics_t asn_SPC_CellGlobalID_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellGlobalID_1[2];
+extern asn_per_constraints_t asn_PER_type_CellGlobalID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CellGlobalID_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/CellObjectID.c b/setup/xapp-sm-connector/asn1c_defs/CellObjectID.c
new file mode 100644
index 0000000..b6da12b
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CellObjectID.c
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CellObjectID.h"
+
+static const int permitted_alphabet_table_1[256] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
+ 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9, /* . '() +,-./ */
+10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22, /* 0123456789: = ? */
+ 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37, /* ABCDEFGHIJKLMNO */
+38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */
+ 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, /* abcdefghijklmno */
+64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0, /* pqrstuvwxyz */
+};
+static const int permitted_alphabet_code2value_1[74] = {
+32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
+55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
+75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
+97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+113,114,115,116,117,118,119,120,121,122,};
+
+
+static int check_permitted_alphabet_1(const void *sptr) {
+ const int *table = permitted_alphabet_table_1;
+ /* The underlying type is PrintableString */
+ const PrintableString_t *st = (const PrintableString_t *)sptr;
+ const uint8_t *ch = st->buf;
+ const uint8_t *end = ch + st->size;
+
+ for(; ch < end; ch++) {
+ uint8_t cv = *ch;
+ if(!table[cv]) return -1;
+ }
+ return 0;
+}
+
+int
+CellObjectID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const PrintableString_t *st = (const PrintableString_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;
+ }
+
+ size = st->size;
+
+ if((size <= 400)
+ && !check_permitted_alphabet_1(st)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int asn_PER_MAP_CellObjectID_1_v2c(unsigned int value) {
+ if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
+ return -1;
+ return permitted_alphabet_table_1[value] - 1;
+}
+static int asn_PER_MAP_CellObjectID_1_c2v(unsigned int code) {
+ if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
+ return -1;
+ return permitted_alphabet_code2value_1[code];
+}
+/*
+ * This type is implemented using PrintableString,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_CellObjectID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+asn_per_constraints_t asn_PER_type_CellObjectID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 9, 9, 0, 400 } /* (SIZE(0..400,...)) */,
+ asn_PER_MAP_CellObjectID_1_v2c, /* Value to PER code map */
+ asn_PER_MAP_CellObjectID_1_c2v /* PER code to value map */
+};
+static const ber_tlv_tag_t asn_DEF_CellObjectID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CellObjectID = {
+ "CellObjectID",
+ "CellObjectID",
+ &asn_OP_PrintableString,
+ asn_DEF_CellObjectID_tags_1,
+ sizeof(asn_DEF_CellObjectID_tags_1)
+ /sizeof(asn_DEF_CellObjectID_tags_1[0]), /* 1 */
+ asn_DEF_CellObjectID_tags_1, /* Same as above */
+ sizeof(asn_DEF_CellObjectID_tags_1)
+ /sizeof(asn_DEF_CellObjectID_tags_1[0]), /* 1 */
+ { &asn_OER_type_CellObjectID_constr_1, &asn_PER_type_CellObjectID_constr_1, CellObjectID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/CellObjectID.h b/setup/xapp-sm-connector/asn1c_defs/CellObjectID.h
new file mode 100644
index 0000000..36c987e
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CellObjectID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _CellObjectID_H_
+#define _CellObjectID_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CellObjectID */
+typedef PrintableString_t CellObjectID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CellObjectID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CellObjectID;
+asn_struct_free_f CellObjectID_free;
+asn_struct_print_f CellObjectID_print;
+asn_constr_check_f CellObjectID_constraint;
+ber_type_decoder_f CellObjectID_decode_ber;
+der_type_encoder_f CellObjectID_encode_der;
+xer_type_decoder_f CellObjectID_decode_xer;
+xer_type_encoder_f CellObjectID_encode_xer;
+oer_type_decoder_f CellObjectID_decode_oer;
+oer_type_encoder_f CellObjectID_encode_oer;
+per_type_decoder_f CellObjectID_decode_uper;
+per_type_encoder_f CellObjectID_encode_uper;
+per_type_decoder_f CellObjectID_decode_aper;
+per_type_encoder_f CellObjectID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CellObjectID_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.c b/setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.c
new file mode 100644
index 0000000..a7ce4ae
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.c
@@ -0,0 +1,228 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CellResourceReportListItem.h"
+
+#include "ServedPlmnPerCellListItem.h"
+static int
+memb_dl_TotalofAvailablePRBs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 273)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ul_TotalofAvailablePRBs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 273)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_servedPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 12)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..12)) */};
+static asn_per_constraints_t asn_PER_type_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_dl_TotalofAvailablePRBs_constr_3 CC_NOTUSED = {
+ { 2, 1 } /* (0..273) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_dl_TotalofAvailablePRBs_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ul_TotalofAvailablePRBs_constr_4 CC_NOTUSED = {
+ { 2, 1 } /* (0..273) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_ul_TotalofAvailablePRBs_constr_4 CC_NOTUSED = {
+ { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..12)) */};
+static asn_per_constraints_t asn_PER_memb_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_servedPlmnPerCellList_5[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ServedPlmnPerCellListItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_servedPlmnPerCellList_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_servedPlmnPerCellList_specs_5 = {
+ sizeof(struct CellResourceReportListItem__servedPlmnPerCellList),
+ offsetof(struct CellResourceReportListItem__servedPlmnPerCellList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_servedPlmnPerCellList_5 = {
+ "servedPlmnPerCellList",
+ "servedPlmnPerCellList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_servedPlmnPerCellList_tags_5,
+ sizeof(asn_DEF_servedPlmnPerCellList_tags_5)
+ /sizeof(asn_DEF_servedPlmnPerCellList_tags_5[0]) - 1, /* 1 */
+ asn_DEF_servedPlmnPerCellList_tags_5, /* Same as above */
+ sizeof(asn_DEF_servedPlmnPerCellList_tags_5)
+ /sizeof(asn_DEF_servedPlmnPerCellList_tags_5[0]), /* 2 */
+ { &asn_OER_type_servedPlmnPerCellList_constr_5, &asn_PER_type_servedPlmnPerCellList_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_servedPlmnPerCellList_5,
+ 1, /* Single element */
+ &asn_SPC_servedPlmnPerCellList_specs_5 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_CellResourceReportListItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CellResourceReportListItem, nRCGI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NRCGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nRCGI"
+ },
+ { ATF_POINTER, 2, offsetof(struct CellResourceReportListItem, dl_TotalofAvailablePRBs),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_dl_TotalofAvailablePRBs_constr_3, &asn_PER_memb_dl_TotalofAvailablePRBs_constr_3, memb_dl_TotalofAvailablePRBs_constraint_1 },
+ 0, 0, /* No default value */
+ "dl-TotalofAvailablePRBs"
+ },
+ { ATF_POINTER, 1, offsetof(struct CellResourceReportListItem, ul_TotalofAvailablePRBs),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_ul_TotalofAvailablePRBs_constr_4, &asn_PER_memb_ul_TotalofAvailablePRBs_constr_4, memb_ul_TotalofAvailablePRBs_constraint_1 },
+ 0, 0, /* No default value */
+ "ul-TotalofAvailablePRBs"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CellResourceReportListItem, servedPlmnPerCellList),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ 0,
+ &asn_DEF_servedPlmnPerCellList_5,
+ 0,
+ { &asn_OER_memb_servedPlmnPerCellList_constr_5, &asn_PER_memb_servedPlmnPerCellList_constr_5, memb_servedPlmnPerCellList_constraint_1 },
+ 0, 0, /* No default value */
+ "servedPlmnPerCellList"
+ },
+};
+static const int asn_MAP_CellResourceReportListItem_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_CellResourceReportListItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CellResourceReportListItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRCGI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-TotalofAvailablePRBs */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ul-TotalofAvailablePRBs */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* servedPlmnPerCellList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CellResourceReportListItem_specs_1 = {
+ sizeof(struct CellResourceReportListItem),
+ offsetof(struct CellResourceReportListItem, _asn_ctx),
+ asn_MAP_CellResourceReportListItem_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_CellResourceReportListItem_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CellResourceReportListItem = {
+ "CellResourceReportListItem",
+ "CellResourceReportListItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CellResourceReportListItem_tags_1,
+ sizeof(asn_DEF_CellResourceReportListItem_tags_1)
+ /sizeof(asn_DEF_CellResourceReportListItem_tags_1[0]), /* 1 */
+ asn_DEF_CellResourceReportListItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_CellResourceReportListItem_tags_1)
+ /sizeof(asn_DEF_CellResourceReportListItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_CellResourceReportListItem_1,
+ 4, /* Elements count */
+ &asn_SPC_CellResourceReportListItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.h b/setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.h
new file mode 100644
index 0000000..85275f3
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _CellResourceReportListItem_H_
+#define _CellResourceReportListItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "NRCGI.h"
+#include
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ServedPlmnPerCellListItem;
+
+/* CellResourceReportListItem */
+typedef struct CellResourceReportListItem {
+ NRCGI_t nRCGI;
+ long *dl_TotalofAvailablePRBs; /* OPTIONAL */
+ long *ul_TotalofAvailablePRBs; /* OPTIONAL */
+ struct CellResourceReportListItem__servedPlmnPerCellList {
+ A_SEQUENCE_OF(struct ServedPlmnPerCellListItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } servedPlmnPerCellList;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CellResourceReportListItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellResourceReportListItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellResourceReportListItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellResourceReportListItem_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CellResourceReportListItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/Criticality.c b/setup/xapp-sm-connector/asn1c_defs/Criticality.c
index e3e69c8..9bfe1ca 100644
--- a/setup/xapp-sm-connector/asn1c_defs/Criticality.c
+++ b/setup/xapp-sm-connector/asn1c_defs/Criticality.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-CommonDataTypes-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "Criticality.h"
@@ -11,6 +11,9 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_Criticality_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_Criticality_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -48,7 +51,7 @@ asn_TYPE_descriptor_t asn_DEF_Criticality = {
asn_DEF_Criticality_tags_1, /* Same as above */
sizeof(asn_DEF_Criticality_tags_1)
/sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_Criticality_constr_1, NativeEnumerated_constraint },
+ { &asn_OER_type_Criticality_constr_1, &asn_PER_type_Criticality_constr_1, NativeEnumerated_constraint },
0, 0, /* Defined elsewhere */
&asn_SPC_Criticality_specs_1 /* Additional specs */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/Criticality.h b/setup/xapp-sm-connector/asn1c_defs/Criticality.h
index 2df73f9..3d32aff 100644
--- a/setup/xapp-sm-connector/asn1c_defs/Criticality.h
+++ b/setup/xapp-sm-connector/asn1c_defs/Criticality.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-CommonDataTypes-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _Criticality_H_
@@ -39,6 +39,8 @@ ber_type_decoder_f Criticality_decode_ber;
der_type_encoder_f Criticality_encode_der;
xer_type_decoder_f Criticality_decode_xer;
xer_type_encoder_f Criticality_encode_xer;
+oer_type_decoder_f Criticality_decode_oer;
+oer_type_encoder_f Criticality_encode_oer;
per_type_decoder_f Criticality_decode_uper;
per_type_encoder_f Criticality_encode_uper;
per_type_decoder_f Criticality_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.c b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.c
index 54b3fc9..d950a0c 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CriticalityDiagnostics-IE-Item.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.h b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.h
index 3aa9196..5992ce7 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-Item.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CriticalityDiagnostics_IE_Item_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.c b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.c
index 09410ff..29ae2dd 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.c
@@ -1,13 +1,16 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CriticalityDiagnostics-IE-List.h"
#include "CriticalityDiagnostics-IE-Item.h"
+static asn_oer_constraints_t asn_OER_type_CriticalityDiagnostics_IE_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..256)) */};
asn_per_constraints_t asn_PER_type_CriticalityDiagnostics_IE_List_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
@@ -42,7 +45,7 @@ asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List = {
asn_DEF_CriticalityDiagnostics_IE_List_tags_1, /* Same as above */
sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1)
/sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_CriticalityDiagnostics_IE_List_constr_1, SEQUENCE_OF_constraint },
+ { &asn_OER_type_CriticalityDiagnostics_IE_List_constr_1, &asn_PER_type_CriticalityDiagnostics_IE_List_constr_1, SEQUENCE_OF_constraint },
asn_MBR_CriticalityDiagnostics_IE_List_1,
1, /* Single element */
&asn_SPC_CriticalityDiagnostics_IE_List_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.h b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.h
index 3bbb58b..b823da4 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics-IE-List.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CriticalityDiagnostics_IE_List_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.c b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.c
index d9b8977..c07926c 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.c
+++ b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.c
@@ -1,15 +1,15 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "CriticalityDiagnostics.h"
#include "RICrequestID.h"
#include "CriticalityDiagnostics-IE-List.h"
-static asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_1[] = {
+asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_1[] = {
{ ATF_POINTER, 5, offsetof(struct CriticalityDiagnostics, procedureCode),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
@@ -67,7 +67,7 @@ static const asn_TYPE_tag2member_t asn_MAP_CriticalityDiagnostics_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ricRequestorID */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iEsCriticalityDiagnostics */
};
-static asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_specs_1 = {
sizeof(struct CriticalityDiagnostics),
offsetof(struct CriticalityDiagnostics, _asn_ctx),
asn_MAP_CriticalityDiagnostics_tag2el_1,
diff --git a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.h b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.h
index 8c67719..ae04eef 100644
--- a/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.h
+++ b/setup/xapp-sm-connector/asn1c_defs/CriticalityDiagnostics.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _CriticalityDiagnostics_H_
@@ -43,6 +43,8 @@ typedef struct CriticalityDiagnostics {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics;
+extern asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_specs_1;
+extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_1[5];
#ifdef __cplusplus
}
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.c b/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.c
index c14802f..c8386c2 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.c
+++ b/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Descriptions-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "E2AP-PDU.h"
@@ -10,6 +10,9 @@
#include "InitiatingMessage.h"
#include "SuccessfulOutcome.h"
#include "UnsuccessfulOutcome.h"
+static asn_oer_constraints_t asn_OER_type_E2AP_PDU_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
static asn_per_constraints_t asn_PER_type_E2AP_PDU_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -67,7 +70,7 @@ asn_TYPE_descriptor_t asn_DEF_E2AP_PDU = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { 0, &asn_PER_type_E2AP_PDU_constr_1, CHOICE_constraint },
+ { &asn_OER_type_E2AP_PDU_constr_1, &asn_PER_type_E2AP_PDU_constr_1, CHOICE_constraint },
asn_MBR_E2AP_PDU_1,
3, /* Elements count */
&asn_SPC_E2AP_PDU_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.h b/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.h
index 52a19b1..1cf3fc7 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.h
+++ b/setup/xapp-sm-connector/asn1c_defs/E2AP-PDU.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Descriptions-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _E2AP_PDU_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format1.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format1.c
new file mode 100644
index 0000000..5d94a4d
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format1.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-ActionDefinition-Format1.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format1, cellObjID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CellObjectID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellObjID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format1, measInfoList),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementInfoList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measInfoList"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellObjID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measInfoList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1 = {
+ sizeof(struct E2SM_KPM_ActionDefinition_Format1),
+ offsetof(struct E2SM_KPM_ActionDefinition_Format1, _asn_ctx),
+ asn_MAP_E2SM_KPM_ActionDefinition_Format1_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format1 = {
+ "E2SM-KPM-ActionDefinition-Format1",
+ "E2SM-KPM-ActionDefinition-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_ActionDefinition_Format1_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format1.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format1.h
new file mode 100644
index 0000000..4a0e06a
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format1.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_ActionDefinition_Format1_H_
+#define _E2SM_KPM_ActionDefinition_Format1_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "CellObjectID.h"
+#include "MeasurementInfoList.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-KPM-ActionDefinition-Format1 */
+typedef struct E2SM_KPM_ActionDefinition_Format1 {
+ CellObjectID_t cellObjID;
+ MeasurementInfoList_t measInfoList;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_ActionDefinition_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format1_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_ActionDefinition_Format1_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format2.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format2.c
new file mode 100644
index 0000000..0ecdcab
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format2.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "E2SM-KPM-ActionDefinition-Format2.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format2_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format2, ueID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UE_Identity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format2, subscriptInfo),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_KPM_ActionDefinition_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "subscriptInfo"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_Format2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_Format2_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* subscriptInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format2_specs_1 = {
+ sizeof(struct E2SM_KPM_ActionDefinition_Format2),
+ offsetof(struct E2SM_KPM_ActionDefinition_Format2, _asn_ctx),
+ asn_MAP_E2SM_KPM_ActionDefinition_Format2_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format2 = {
+ "E2SM-KPM-ActionDefinition-Format2",
+ "E2SM-KPM-ActionDefinition-Format2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_ActionDefinition_Format2_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format2_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_ActionDefinition_Format2_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_ActionDefinition_Format2_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_KPM_ActionDefinition_Format2_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format2.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format2.h
new file mode 100644
index 0000000..9150e31
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format2.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _E2SM_KPM_ActionDefinition_Format2_H_
+#define _E2SM_KPM_ActionDefinition_Format2_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "UE-Identity.h"
+#include "E2SM-KPM-ActionDefinition-Format1.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-KPM-ActionDefinition-Format2 */
+typedef struct E2SM_KPM_ActionDefinition_Format2 {
+ UE_Identity_t ueID;
+ E2SM_KPM_ActionDefinition_Format1_t subscriptInfo;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_ActionDefinition_Format2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format2_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_ActionDefinition_Format2_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format3.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format3.c
new file mode 100644
index 0000000..2bacda7
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format3.c
@@ -0,0 +1,80 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "E2SM-KPM-ActionDefinition-Format3.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format3_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format3, cellObjID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CellObjectID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellObjID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format3, measCondList),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementCondList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measCondList"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format3, granulPeriod),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GranularityPeriod,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "granulPeriod"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format3, subscriptID),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SubscriptionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "subscriptID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_Format3_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_Format3_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellObjID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measCondList */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* granulPeriod */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* subscriptID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format3_specs_1 = {
+ sizeof(struct E2SM_KPM_ActionDefinition_Format3),
+ offsetof(struct E2SM_KPM_ActionDefinition_Format3, _asn_ctx),
+ asn_MAP_E2SM_KPM_ActionDefinition_Format3_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format3 = {
+ "E2SM-KPM-ActionDefinition-Format3",
+ "E2SM-KPM-ActionDefinition-Format3",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_ActionDefinition_Format3_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format3_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_ActionDefinition_Format3_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format3_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_ActionDefinition_Format3_1,
+ 4, /* Elements count */
+ &asn_SPC_E2SM_KPM_ActionDefinition_Format3_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format3.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format3.h
new file mode 100644
index 0000000..16c512d
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition-Format3.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _E2SM_KPM_ActionDefinition_Format3_H_
+#define _E2SM_KPM_ActionDefinition_Format3_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "CellObjectID.h"
+#include "MeasurementCondList.h"
+#include "GranularityPeriod.h"
+#include "SubscriptionID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-KPM-ActionDefinition-Format3 */
+typedef struct E2SM_KPM_ActionDefinition_Format3 {
+ CellObjectID_t cellObjID;
+ MeasurementCondList_t measCondList;
+ GranularityPeriod_t granulPeriod;
+ SubscriptionID_t subscriptID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_ActionDefinition_Format3_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format3;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format3_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format3_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_ActionDefinition_Format3_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.c
new file mode 100644
index 0000000..1566aa5
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.c
@@ -0,0 +1,108 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-ActionDefinition.h"
+
+#include "E2SM-KPM-ActionDefinition-Format1.h"
+static asn_oer_constraints_t asn_OER_type_actionDefinition_formats_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_actionDefinition_formats_constr_3 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 asn_TYPE_member_t asn_MBR_actionDefinition_formats_3[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, choice.actionDefinition_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_KPM_ActionDefinition_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "actionDefinition-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_actionDefinition_formats_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* actionDefinition-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_actionDefinition_formats_specs_3 = {
+ sizeof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats),
+ offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, _asn_ctx),
+ offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, present),
+ sizeof(((struct E2SM_KPM_ActionDefinition__actionDefinition_formats *)0)->present),
+ asn_MAP_actionDefinition_formats_tag2el_3,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_actionDefinition_formats_3 = {
+ "actionDefinition-formats",
+ "actionDefinition-formats",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_actionDefinition_formats_constr_3, &asn_PER_type_actionDefinition_formats_constr_3, CHOICE_constraint },
+ asn_MBR_actionDefinition_formats_3,
+ 1, /* Elements count */
+ &asn_SPC_actionDefinition_formats_specs_3 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition, ric_ReportStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ReportStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition, actionDefinition_formats),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_actionDefinition_formats_3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "actionDefinition-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ReportStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* actionDefinition-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_specs_1 = {
+ sizeof(struct E2SM_KPM_ActionDefinition),
+ offsetof(struct E2SM_KPM_ActionDefinition, _asn_ctx),
+ asn_MAP_E2SM_KPM_ActionDefinition_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition = {
+ "E2SM-KPM-ActionDefinition",
+ "E2SM-KPM-ActionDefinition",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_ActionDefinition_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_ActionDefinition_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_ActionDefinition_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_KPM_ActionDefinition_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.h
new file mode 100644
index 0000000..f5bf906
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.h
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_ActionDefinition_H_
+#define _E2SM_KPM_ActionDefinition_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "RIC-Style-Type.h"
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_KPM_ActionDefinition__actionDefinition_formats_PR {
+ E2SM_KPM_ActionDefinition__actionDefinition_formats_PR_NOTHING, /* No components present */
+ E2SM_KPM_ActionDefinition__actionDefinition_formats_PR_actionDefinition_Format1
+ /* Extensions may appear below */
+
+} E2SM_KPM_ActionDefinition__actionDefinition_formats_PR;
+
+/* Forward declarations */
+struct E2SM_KPM_ActionDefinition_Format1;
+
+/* E2SM-KPM-ActionDefinition */
+typedef struct E2SM_KPM_ActionDefinition {
+ RIC_Style_Type_t ric_ReportStyle_Type;
+ struct E2SM_KPM_ActionDefinition__actionDefinition_formats {
+ E2SM_KPM_ActionDefinition__actionDefinition_formats_PR present;
+ union E2SM_KPM_ActionDefinition__actionDefinition_formats_u {
+ struct E2SM_KPM_ActionDefinition_Format1 *actionDefinition_Format1;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } actionDefinition_formats;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_ActionDefinition_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_ActionDefinition_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition-Format1.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition-Format1.c
new file mode 100644
index 0000000..314e7f6
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition-Format1.c
@@ -0,0 +1,132 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-EventTriggerDefinition-Format1.h"
+
+#include "Trigger-ConditionIE-Item.h"
+static int
+memb_policyTest_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 15)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_policyTest_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..15)) */};
+static asn_per_constraints_t asn_PER_type_policyTest_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1, 15 } /* (SIZE(1..15)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_policyTest_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..15)) */};
+static asn_per_constraints_t asn_PER_memb_policyTest_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1, 15 } /* (SIZE(1..15)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_policyTest_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Trigger_ConditionIE_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_policyTest_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_policyTest_List_specs_2 = {
+ sizeof(struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List),
+ offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_policyTest_List_2 = {
+ "policyTest-List",
+ "policyTest-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_policyTest_List_tags_2,
+ sizeof(asn_DEF_policyTest_List_tags_2)
+ /sizeof(asn_DEF_policyTest_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_policyTest_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_policyTest_List_tags_2)
+ /sizeof(asn_DEF_policyTest_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_policyTest_List_constr_2, &asn_PER_type_policyTest_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_policyTest_List_2,
+ 1, /* Single element */
+ &asn_SPC_policyTest_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1[] = {
+ { ATF_POINTER, 1, offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1, policyTest_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_policyTest_List_2,
+ 0,
+ { &asn_OER_memb_policyTest_List_constr_2, &asn_PER_memb_policyTest_List_constr_2, memb_policyTest_List_constraint_1 },
+ 0, 0, /* No default value */
+ "policyTest-List"
+ },
+};
+static const int asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_oms_1[] = { 0 };
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* policyTest-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1 = {
+ sizeof(struct E2SM_KPM_EventTriggerDefinition_Format1),
+ offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1, _asn_ctx),
+ asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_tag2el_1,
+ 1, /* Count of tags in the map */
+ asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1 = {
+ "E2SM-KPM-EventTriggerDefinition-Format1",
+ "E2SM-KPM-EventTriggerDefinition-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition-Format1.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition-Format1.h
new file mode 100644
index 0000000..6fae26e
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition-Format1.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_EventTriggerDefinition_Format1_H_
+#define _E2SM_KPM_EventTriggerDefinition_Format1_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct Trigger_ConditionIE_Item;
+
+/* E2SM-KPM-EventTriggerDefinition-Format1 */
+typedef struct E2SM_KPM_EventTriggerDefinition_Format1 {
+ struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List {
+ A_SEQUENCE_OF(struct Trigger_ConditionIE_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *policyTest_List;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_EventTriggerDefinition_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_EventTriggerDefinition_Format1_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition.c
new file mode 100644
index 0000000..144313d
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition.c
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-EventTriggerDefinition.h"
+
+#include "E2SM-KPM-EventTriggerDefinition-Format1.h"
+static asn_oer_constraints_t asn_OER_type_E2SM_KPM_EventTriggerDefinition_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_E2SM_KPM_EventTriggerDefinition_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 asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_1[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_KPM_EventTriggerDefinition, choice.eventDefinition_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventDefinition-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_EventTriggerDefinition_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* eventDefinition-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_specs_1 = {
+ sizeof(struct E2SM_KPM_EventTriggerDefinition),
+ offsetof(struct E2SM_KPM_EventTriggerDefinition, _asn_ctx),
+ offsetof(struct E2SM_KPM_EventTriggerDefinition, present),
+ sizeof(((struct E2SM_KPM_EventTriggerDefinition *)0)->present),
+ asn_MAP_E2SM_KPM_EventTriggerDefinition_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition = {
+ "E2SM-KPM-EventTriggerDefinition",
+ "E2SM-KPM-EventTriggerDefinition",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_E2SM_KPM_EventTriggerDefinition_constr_1, &asn_PER_type_E2SM_KPM_EventTriggerDefinition_constr_1, CHOICE_constraint },
+ asn_MBR_E2SM_KPM_EventTriggerDefinition_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_KPM_EventTriggerDefinition_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition.h
new file mode 100644
index 0000000..2db9552
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-EventTriggerDefinition.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_EventTriggerDefinition_H_
+#define _E2SM_KPM_EventTriggerDefinition_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_KPM_EventTriggerDefinition_PR {
+ E2SM_KPM_EventTriggerDefinition_PR_NOTHING, /* No components present */
+ E2SM_KPM_EventTriggerDefinition_PR_eventDefinition_Format1
+ /* Extensions may appear below */
+
+} E2SM_KPM_EventTriggerDefinition_PR;
+
+/* Forward declarations */
+struct E2SM_KPM_EventTriggerDefinition_Format1;
+
+/* E2SM-KPM-EventTriggerDefinition */
+typedef struct E2SM_KPM_EventTriggerDefinition {
+ E2SM_KPM_EventTriggerDefinition_PR present;
+ union E2SM_KPM_EventTriggerDefinition_u {
+ struct E2SM_KPM_EventTriggerDefinition_Format1 *eventDefinition_Format1;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_EventTriggerDefinition_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_EventTriggerDefinition_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader-Format1.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader-Format1.c
new file mode 100644
index 0000000..be23bda
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader-Format1.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-IndicationHeader-Format1.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationHeader_Format1, collectionStartTime),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TimeStamp,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "collectionStartTime"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationHeader_Format1, id_GlobalE2node_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_GlobalE2node_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "id-GlobalE2node-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationHeader_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* collectionStartTime */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* id-GlobalE2node-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1 = {
+ sizeof(struct E2SM_KPM_IndicationHeader_Format1),
+ offsetof(struct E2SM_KPM_IndicationHeader_Format1, _asn_ctx),
+ asn_MAP_E2SM_KPM_IndicationHeader_Format1_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader_Format1 = {
+ "E2SM-KPM-IndicationHeader-Format1",
+ "E2SM-KPM-IndicationHeader-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_IndicationHeader_Format1_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader-Format1.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader-Format1.h
new file mode 100644
index 0000000..677d458
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader-Format1.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_IndicationHeader_Format1_H_
+#define _E2SM_KPM_IndicationHeader_Format1_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "TimeStamp.h"
+#include "GlobalE2node-ID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-KPM-IndicationHeader-Format1 */
+typedef struct E2SM_KPM_IndicationHeader_Format1 {
+ TimeStamp_t collectionStartTime;
+ GlobalE2node_ID_t id_GlobalE2node_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_IndicationHeader_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_Format1_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_IndicationHeader_Format1_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader.c
new file mode 100644
index 0000000..40f09a3
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader.c
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-IndicationHeader.h"
+
+#include "E2SM-KPM-IndicationHeader-Format1.h"
+static asn_oer_constraints_t asn_OER_type_E2SM_KPM_IndicationHeader_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_E2SM_KPM_IndicationHeader_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 asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_1[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_KPM_IndicationHeader, choice.indicationHeader_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_KPM_IndicationHeader_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationHeader-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationHeader_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* indicationHeader-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_specs_1 = {
+ sizeof(struct E2SM_KPM_IndicationHeader),
+ offsetof(struct E2SM_KPM_IndicationHeader, _asn_ctx),
+ offsetof(struct E2SM_KPM_IndicationHeader, present),
+ sizeof(((struct E2SM_KPM_IndicationHeader *)0)->present),
+ asn_MAP_E2SM_KPM_IndicationHeader_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader = {
+ "E2SM-KPM-IndicationHeader",
+ "E2SM-KPM-IndicationHeader",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_E2SM_KPM_IndicationHeader_constr_1, &asn_PER_type_E2SM_KPM_IndicationHeader_constr_1, CHOICE_constraint },
+ asn_MBR_E2SM_KPM_IndicationHeader_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_KPM_IndicationHeader_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader.h
new file mode 100644
index 0000000..9c6670c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationHeader.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_IndicationHeader_H_
+#define _E2SM_KPM_IndicationHeader_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_KPM_IndicationHeader_PR {
+ E2SM_KPM_IndicationHeader_PR_NOTHING, /* No components present */
+ E2SM_KPM_IndicationHeader_PR_indicationHeader_Format1
+ /* Extensions may appear below */
+
+} E2SM_KPM_IndicationHeader_PR;
+
+/* Forward declarations */
+struct E2SM_KPM_IndicationHeader_Format1;
+
+/* E2SM-KPM-IndicationHeader */
+typedef struct E2SM_KPM_IndicationHeader {
+ E2SM_KPM_IndicationHeader_PR present;
+ union E2SM_KPM_IndicationHeader_u {
+ struct E2SM_KPM_IndicationHeader_Format1 *indicationHeader_Format1;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_IndicationHeader_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_IndicationHeader_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format1.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format1.c
new file mode 100644
index 0000000..ea21e14
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format1.c
@@ -0,0 +1,322 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-IndicationMessage-Format1.h"
+
+#include "PM-Containers-Item.h"
+#include "PM-Info-Item.h"
+#include "PerUE-PM-Item.h"
+static int
+memb_pm_Containers_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 8)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_list_of_PM_Information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 2147483647)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_list_of_matched_UEs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_pm_Containers_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..8)) */};
+static asn_per_constraints_t asn_PER_type_pm_Containers_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..2147483647)) */};
+static asn_per_constraints_t asn_PER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_pm_Containers_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..8)) */};
+static asn_per_constraints_t asn_PER_memb_pm_Containers_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..2147483647)) */};
+static asn_per_constraints_t asn_PER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_pm_Containers_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PM_Containers_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_pm_Containers_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_pm_Containers_specs_2 = {
+ sizeof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers),
+ offsetof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_pm_Containers_2 = {
+ "pm-Containers",
+ "pm-Containers",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_pm_Containers_tags_2,
+ sizeof(asn_DEF_pm_Containers_tags_2)
+ /sizeof(asn_DEF_pm_Containers_tags_2[0]) - 1, /* 1 */
+ asn_DEF_pm_Containers_tags_2, /* Same as above */
+ sizeof(asn_DEF_pm_Containers_tags_2)
+ /sizeof(asn_DEF_pm_Containers_tags_2[0]), /* 2 */
+ { &asn_OER_type_pm_Containers_constr_2, &asn_PER_type_pm_Containers_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_pm_Containers_2,
+ 1, /* Single element */
+ &asn_SPC_pm_Containers_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_list_of_PM_Information_5[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PM_Info_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_list_of_PM_Information_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_list_of_PM_Information_specs_5 = {
+ sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information),
+ offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_list_of_PM_Information_5 = {
+ "list-of-PM-Information",
+ "list-of-PM-Information",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_list_of_PM_Information_tags_5,
+ sizeof(asn_DEF_list_of_PM_Information_tags_5)
+ /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]) - 1, /* 1 */
+ asn_DEF_list_of_PM_Information_tags_5, /* Same as above */
+ sizeof(asn_DEF_list_of_PM_Information_tags_5)
+ /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]), /* 2 */
+ { &asn_OER_type_list_of_PM_Information_constr_5, &asn_PER_type_list_of_PM_Information_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_list_of_PM_Information_5,
+ 1, /* Single element */
+ &asn_SPC_list_of_PM_Information_specs_5 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_list_of_matched_UEs_7[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PerUE_PM_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_list_of_matched_UEs_tags_7[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_list_of_matched_UEs_specs_7 = {
+ sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs),
+ offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_list_of_matched_UEs_7 = {
+ "list-of-matched-UEs",
+ "list-of-matched-UEs",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_list_of_matched_UEs_tags_7,
+ sizeof(asn_DEF_list_of_matched_UEs_tags_7)
+ /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]) - 1, /* 1 */
+ asn_DEF_list_of_matched_UEs_tags_7, /* Same as above */
+ sizeof(asn_DEF_list_of_matched_UEs_tags_7)
+ /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]), /* 2 */
+ { &asn_OER_type_list_of_matched_UEs_constr_7, &asn_PER_type_list_of_matched_UEs_constr_7, SEQUENCE_OF_constraint },
+ asn_MBR_list_of_matched_UEs_7,
+ 1, /* Single element */
+ &asn_SPC_list_of_matched_UEs_specs_7 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, pm_Containers),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_pm_Containers_2,
+ 0,
+ { &asn_OER_memb_pm_Containers_constr_2, &asn_PER_memb_pm_Containers_constr_2, memb_pm_Containers_constraint_1 },
+ 0, 0, /* No default value */
+ "pm-Containers"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, cellObjectID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CellObjectID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellObjectID"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_PM_Information),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_list_of_PM_Information_5,
+ 0,
+ { &asn_OER_memb_list_of_PM_Information_constr_5, &asn_PER_memb_list_of_PM_Information_constr_5, memb_list_of_PM_Information_constraint_1 },
+ 0, 0, /* No default value */
+ "list-of-PM-Information"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_matched_UEs),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ 0,
+ &asn_DEF_list_of_matched_UEs_7,
+ 0,
+ { &asn_OER_memb_list_of_matched_UEs_constr_7, &asn_PER_memb_list_of_matched_UEs_constr_7, memb_list_of_matched_UEs_constraint_1 },
+ 0, 0, /* No default value */
+ "list-of-matched-UEs"
+ },
+};
+static const int asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pm-Containers */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellObjectID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* list-of-PM-Information */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* list-of-matched-UEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 = {
+ sizeof(struct E2SM_KPM_IndicationMessage_Format1),
+ offsetof(struct E2SM_KPM_IndicationMessage_Format1, _asn_ctx),
+ asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format1 = {
+ "E2SM-KPM-IndicationMessage-Format1",
+ "E2SM-KPM-IndicationMessage-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_IndicationMessage_Format1_1,
+ 4, /* Elements count */
+ &asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format1.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format1.h
new file mode 100644
index 0000000..ad255ab
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format1.h
@@ -0,0 +1,69 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_IndicationMessage_Format1_H_
+#define _E2SM_KPM_IndicationMessage_Format1_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "CellObjectID.h"
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct PM_Containers_Item;
+struct PM_Info_Item;
+struct PerUE_PM_Item;
+
+/* E2SM-KPM-IndicationMessage-Format1 */
+typedef struct E2SM_KPM_IndicationMessage_Format1 {
+ struct E2SM_KPM_IndicationMessage_Format1__pm_Containers {
+ A_SEQUENCE_OF(struct PM_Containers_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } pm_Containers;
+ CellObjectID_t cellObjectID;
+ struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information {
+ A_SEQUENCE_OF(struct PM_Info_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *list_of_PM_Information;
+ struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs {
+ A_SEQUENCE_OF(struct PerUE_PM_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *list_of_matched_UEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_IndicationMessage_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format1_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_IndicationMessage_Format1_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format2.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format2.c
new file mode 100644
index 0000000..3496f81
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format2.c
@@ -0,0 +1,92 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "E2SM-KPM-IndicationMessage-Format2.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format2_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format2, subscriptID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SubscriptionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "subscriptID"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_KPM_IndicationMessage_Format2, cellObjID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CellObjectID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellObjID"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_KPM_IndicationMessage_Format2, granulPeriod),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GranularityPeriod,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "granulPeriod"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format2, measCondUEidList),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementCondUEidList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measCondUEidList"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format2, measData),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementData,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measData"
+ },
+};
+static const int asn_MAP_E2SM_KPM_IndicationMessage_Format2_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationMessage_Format2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_Format2_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subscriptID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellObjID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* granulPeriod */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* measCondUEidList */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* measData */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format2_specs_1 = {
+ sizeof(struct E2SM_KPM_IndicationMessage_Format2),
+ offsetof(struct E2SM_KPM_IndicationMessage_Format2, _asn_ctx),
+ asn_MAP_E2SM_KPM_IndicationMessage_Format2_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_E2SM_KPM_IndicationMessage_Format2_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 5, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format2 = {
+ "E2SM-KPM-IndicationMessage-Format2",
+ "E2SM-KPM-IndicationMessage-Format2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_IndicationMessage_Format2_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format2_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_IndicationMessage_Format2_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_IndicationMessage_Format2_1,
+ 5, /* Elements count */
+ &asn_SPC_E2SM_KPM_IndicationMessage_Format2_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format2.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format2.h
new file mode 100644
index 0000000..785f073
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage-Format2.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _E2SM_KPM_IndicationMessage_Format2_H_
+#define _E2SM_KPM_IndicationMessage_Format2_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "SubscriptionID.h"
+#include "CellObjectID.h"
+#include "GranularityPeriod.h"
+#include "MeasurementCondUEidList.h"
+#include "MeasurementData.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-KPM-IndicationMessage-Format2 */
+typedef struct E2SM_KPM_IndicationMessage_Format2 {
+ SubscriptionID_t subscriptID;
+ CellObjectID_t *cellObjID; /* OPTIONAL */
+ GranularityPeriod_t *granulPeriod; /* OPTIONAL */
+ MeasurementCondUEidList_t measCondUEidList;
+ MeasurementData_t measData;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_IndicationMessage_Format2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format2_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_IndicationMessage_Format2_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage.c
new file mode 100644
index 0000000..0b1e701
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage.c
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-IndicationMessage.h"
+
+#include "E2SM-KPM-IndicationMessage-Format1.h"
+static asn_oer_constraints_t asn_OER_type_E2SM_KPM_IndicationMessage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_E2SM_KPM_IndicationMessage_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 asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_1[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_KPM_IndicationMessage, choice.indicationMessage_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_KPM_IndicationMessage_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationMessage-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* indicationMessage-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_specs_1 = {
+ sizeof(struct E2SM_KPM_IndicationMessage),
+ offsetof(struct E2SM_KPM_IndicationMessage, _asn_ctx),
+ offsetof(struct E2SM_KPM_IndicationMessage, present),
+ sizeof(((struct E2SM_KPM_IndicationMessage *)0)->present),
+ asn_MAP_E2SM_KPM_IndicationMessage_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage = {
+ "E2SM-KPM-IndicationMessage",
+ "E2SM-KPM-IndicationMessage",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_E2SM_KPM_IndicationMessage_constr_1, &asn_PER_type_E2SM_KPM_IndicationMessage_constr_1, CHOICE_constraint },
+ asn_MBR_E2SM_KPM_IndicationMessage_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_KPM_IndicationMessage_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage.h
new file mode 100644
index 0000000..30bd902
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-IndicationMessage.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_IndicationMessage_H_
+#define _E2SM_KPM_IndicationMessage_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_KPM_IndicationMessage_PR {
+ E2SM_KPM_IndicationMessage_PR_NOTHING, /* No components present */
+ E2SM_KPM_IndicationMessage_PR_indicationMessage_Format1
+ /* Extensions may appear below */
+
+} E2SM_KPM_IndicationMessage_PR;
+
+/* Forward declarations */
+struct E2SM_KPM_IndicationMessage_Format1;
+
+/* E2SM-KPM-IndicationMessage */
+typedef struct E2SM_KPM_IndicationMessage {
+ E2SM_KPM_IndicationMessage_PR present;
+ union E2SM_KPM_IndicationMessage_u {
+ struct E2SM_KPM_IndicationMessage_Format1 *indicationMessage_Format1;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_IndicationMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_IndicationMessage_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANFunctionDefinition.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANFunctionDefinition.c
new file mode 100644
index 0000000..d87fe15
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANFunctionDefinition.c
@@ -0,0 +1,232 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-KPM-RANFunctionDefinition.h"
+
+#include "RIC-EventTriggerStyle-Item.h"
+#include "RIC-ReportStyle-Item.h"
+static int
+memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ric_ReportStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_3[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_EventTriggerStyle_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_3 = {
+ sizeof(struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List),
+ offsetof(struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_3 = {
+ "ric-EventTriggerStyle-List",
+ "ric-EventTriggerStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_EventTriggerStyle_List_tags_3,
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]) - 1, /* 1 */
+ asn_DEF_ric_EventTriggerStyle_List_tags_3, /* Same as above */
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]), /* 2 */
+ { &asn_OER_type_ric_EventTriggerStyle_List_constr_3, &asn_PER_type_ric_EventTriggerStyle_List_constr_3, SEQUENCE_OF_constraint },
+ asn_MBR_ric_EventTriggerStyle_List_3,
+ 1, /* Single element */
+ &asn_SPC_ric_EventTriggerStyle_List_specs_3 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ric_ReportStyle_List_5[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_ReportStyle_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ReportStyle_List_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ReportStyle_List_specs_5 = {
+ sizeof(struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List),
+ offsetof(struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ReportStyle_List_5 = {
+ "ric-ReportStyle-List",
+ "ric-ReportStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_ReportStyle_List_tags_5,
+ sizeof(asn_DEF_ric_ReportStyle_List_tags_5)
+ /sizeof(asn_DEF_ric_ReportStyle_List_tags_5[0]) - 1, /* 1 */
+ asn_DEF_ric_ReportStyle_List_tags_5, /* Same as above */
+ sizeof(asn_DEF_ric_ReportStyle_List_tags_5)
+ /sizeof(asn_DEF_ric_ReportStyle_List_tags_5[0]), /* 2 */
+ { &asn_OER_type_ric_ReportStyle_List_constr_5, &asn_PER_type_ric_ReportStyle_List_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_ric_ReportStyle_List_5,
+ 1, /* Single element */
+ &asn_SPC_ric_ReportStyle_List_specs_5 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_KPM_RANFunctionDefinition_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_RANFunctionDefinition, ranFunction_Name),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANfunction_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunction-Name"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_KPM_RANFunctionDefinition, ric_EventTriggerStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_ric_EventTriggerStyle_List_3,
+ 0,
+ { &asn_OER_memb_ric_EventTriggerStyle_List_constr_3, &asn_PER_memb_ric_EventTriggerStyle_List_constr_3, memb_ric_EventTriggerStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-EventTriggerStyle-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_KPM_RANFunctionDefinition, ric_ReportStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ric_ReportStyle_List_5,
+ 0,
+ { &asn_OER_memb_ric_ReportStyle_List_constr_5, &asn_PER_memb_ric_ReportStyle_List_constr_5, memb_ric_ReportStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-ReportStyle-List"
+ },
+};
+static const int asn_MAP_E2SM_KPM_RANFunctionDefinition_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_RANFunctionDefinition_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-List */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ReportStyle-List */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_RANFunctionDefinition_specs_1 = {
+ sizeof(struct E2SM_KPM_RANFunctionDefinition),
+ offsetof(struct E2SM_KPM_RANFunctionDefinition, _asn_ctx),
+ asn_MAP_E2SM_KPM_RANFunctionDefinition_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_E2SM_KPM_RANFunctionDefinition_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANFunctionDefinition = {
+ "E2SM-KPM-RANFunctionDefinition",
+ "E2SM-KPM-RANFunctionDefinition",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_RANFunctionDefinition_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_KPM_RANFunctionDefinition_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANFunctionDefinition.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANFunctionDefinition.h
new file mode 100644
index 0000000..51118f8
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANFunctionDefinition.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_KPM_RANFunctionDefinition_H_
+#define _E2SM_KPM_RANFunctionDefinition_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "RANfunction-Name.h"
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RIC_EventTriggerStyle_Item;
+struct RIC_ReportStyle_Item;
+
+/* E2SM-KPM-RANFunctionDefinition */
+typedef struct E2SM_KPM_RANFunctionDefinition {
+ RANfunction_Name_t ranFunction_Name;
+ struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List {
+ A_SEQUENCE_OF(struct RIC_EventTriggerStyle_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ric_EventTriggerStyle_List;
+ struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List {
+ A_SEQUENCE_OF(struct RIC_ReportStyle_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ric_ReportStyle_List;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_RANFunctionDefinition_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANFunctionDefinition;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_RANFunctionDefinition_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANfunction-Description.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANfunction-Description.c
new file mode 100644
index 0000000..72faedb
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANfunction-Description.c
@@ -0,0 +1,322 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "E2SM-KPM-RANfunction-Description.h"
+
+#include "RIC-KPMNode-Item.h"
+#include "RIC-EventTriggerStyle-Item.h"
+#include "RIC-ReportStyle-Item.h"
+static int
+memb_ric_KPM_Node_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 1024)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ric_ReportStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_KPM_Node_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_ric_KPM_Node_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ric_ReportStyle_List_constr_7 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_ReportStyle_List_constr_7 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_KPM_Node_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_memb_ric_KPM_Node_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ReportStyle_List_constr_7 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ReportStyle_List_constr_7 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_KPM_Node_List_3[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_KPMNode_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_KPM_Node_List_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_KPM_Node_List_specs_3 = {
+ sizeof(struct E2SM_KPM_RANfunction_Description__ric_KPM_Node_List),
+ offsetof(struct E2SM_KPM_RANfunction_Description__ric_KPM_Node_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_KPM_Node_List_3 = {
+ "ric-KPM-Node-List",
+ "ric-KPM-Node-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_KPM_Node_List_tags_3,
+ sizeof(asn_DEF_ric_KPM_Node_List_tags_3)
+ /sizeof(asn_DEF_ric_KPM_Node_List_tags_3[0]) - 1, /* 1 */
+ asn_DEF_ric_KPM_Node_List_tags_3, /* Same as above */
+ sizeof(asn_DEF_ric_KPM_Node_List_tags_3)
+ /sizeof(asn_DEF_ric_KPM_Node_List_tags_3[0]), /* 2 */
+ { &asn_OER_type_ric_KPM_Node_List_constr_3, &asn_PER_type_ric_KPM_Node_List_constr_3, SEQUENCE_OF_constraint },
+ asn_MBR_ric_KPM_Node_List_3,
+ 1, /* Single element */
+ &asn_SPC_ric_KPM_Node_List_specs_3 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_5[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_EventTriggerStyle_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_5 = {
+ sizeof(struct E2SM_KPM_RANfunction_Description__ric_EventTriggerStyle_List),
+ offsetof(struct E2SM_KPM_RANfunction_Description__ric_EventTriggerStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_5 = {
+ "ric-EventTriggerStyle-List",
+ "ric-EventTriggerStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_EventTriggerStyle_List_tags_5,
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_5)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_5[0]) - 1, /* 1 */
+ asn_DEF_ric_EventTriggerStyle_List_tags_5, /* Same as above */
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_5)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_5[0]), /* 2 */
+ { &asn_OER_type_ric_EventTriggerStyle_List_constr_5, &asn_PER_type_ric_EventTriggerStyle_List_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_ric_EventTriggerStyle_List_5,
+ 1, /* Single element */
+ &asn_SPC_ric_EventTriggerStyle_List_specs_5 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ric_ReportStyle_List_7[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_ReportStyle_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ReportStyle_List_tags_7[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ReportStyle_List_specs_7 = {
+ sizeof(struct E2SM_KPM_RANfunction_Description__ric_ReportStyle_List),
+ offsetof(struct E2SM_KPM_RANfunction_Description__ric_ReportStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ReportStyle_List_7 = {
+ "ric-ReportStyle-List",
+ "ric-ReportStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_ReportStyle_List_tags_7,
+ sizeof(asn_DEF_ric_ReportStyle_List_tags_7)
+ /sizeof(asn_DEF_ric_ReportStyle_List_tags_7[0]) - 1, /* 1 */
+ asn_DEF_ric_ReportStyle_List_tags_7, /* Same as above */
+ sizeof(asn_DEF_ric_ReportStyle_List_tags_7)
+ /sizeof(asn_DEF_ric_ReportStyle_List_tags_7[0]), /* 2 */
+ { &asn_OER_type_ric_ReportStyle_List_constr_7, &asn_PER_type_ric_ReportStyle_List_constr_7, SEQUENCE_OF_constraint },
+ asn_MBR_ric_ReportStyle_List_7,
+ 1, /* Single element */
+ &asn_SPC_ric_ReportStyle_List_specs_7 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_KPM_RANfunction_Description_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_RANfunction_Description, ranFunction_Name),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANfunction_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunction-Name"
+ },
+ { ATF_POINTER, 3, offsetof(struct E2SM_KPM_RANfunction_Description, ric_KPM_Node_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_ric_KPM_Node_List_3,
+ 0,
+ { &asn_OER_memb_ric_KPM_Node_List_constr_3, &asn_PER_memb_ric_KPM_Node_List_constr_3, memb_ric_KPM_Node_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-KPM-Node-List"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_KPM_RANfunction_Description, ric_EventTriggerStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ric_EventTriggerStyle_List_5,
+ 0,
+ { &asn_OER_memb_ric_EventTriggerStyle_List_constr_5, &asn_PER_memb_ric_EventTriggerStyle_List_constr_5, memb_ric_EventTriggerStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-EventTriggerStyle-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_KPM_RANfunction_Description, ric_ReportStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ 0,
+ &asn_DEF_ric_ReportStyle_List_7,
+ 0,
+ { &asn_OER_memb_ric_ReportStyle_List_constr_7, &asn_PER_memb_ric_ReportStyle_List_constr_7, memb_ric_ReportStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-ReportStyle-List"
+ },
+};
+static const int asn_MAP_E2SM_KPM_RANfunction_Description_oms_1[] = { 1, 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_KPM_RANfunction_Description_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_RANfunction_Description_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-KPM-Node-List */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-EventTriggerStyle-List */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ric-ReportStyle-List */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_RANfunction_Description_specs_1 = {
+ sizeof(struct E2SM_KPM_RANfunction_Description),
+ offsetof(struct E2SM_KPM_RANfunction_Description, _asn_ctx),
+ asn_MAP_E2SM_KPM_RANfunction_Description_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_E2SM_KPM_RANfunction_Description_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANfunction_Description = {
+ "E2SM-KPM-RANfunction-Description",
+ "E2SM-KPM-RANfunction-Description",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_KPM_RANfunction_Description_tags_1,
+ sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_KPM_RANfunction_Description_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1)
+ /sizeof(asn_DEF_E2SM_KPM_RANfunction_Description_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_KPM_RANfunction_Description_1,
+ 4, /* Elements count */
+ &asn_SPC_E2SM_KPM_RANfunction_Description_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANfunction-Description.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANfunction-Description.h
new file mode 100644
index 0000000..18d74de
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-RANfunction-Description.h
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _E2SM_KPM_RANfunction_Description_H_
+#define _E2SM_KPM_RANfunction_Description_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "RANfunction-Name.h"
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RIC_KPMNode_Item;
+struct RIC_EventTriggerStyle_Item;
+struct RIC_ReportStyle_Item;
+
+/* E2SM-KPM-RANfunction-Description */
+typedef struct E2SM_KPM_RANfunction_Description {
+ RANfunction_Name_t ranFunction_Name;
+ struct E2SM_KPM_RANfunction_Description__ric_KPM_Node_List {
+ A_SEQUENCE_OF(struct RIC_KPMNode_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ric_KPM_Node_List;
+ struct E2SM_KPM_RANfunction_Description__ric_EventTriggerStyle_List {
+ A_SEQUENCE_OF(struct RIC_EventTriggerStyle_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ric_EventTriggerStyle_List;
+ struct E2SM_KPM_RANfunction_Description__ric_ReportStyle_List {
+ A_SEQUENCE_OF(struct RIC_ReportStyle_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ric_ReportStyle_List;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_KPM_RANfunction_Description_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANfunction_Description;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_KPM_RANfunction_Description_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader-Format1.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader-Format1.c
new file mode 100644
index 0000000..e953ec7
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader-Format1.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlHeader-Format1.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ueId),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UE_Identity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlAction_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_ControlAction_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlAction-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueId */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ControlAction-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_ControlHeader_Format1),
+ offsetof(struct E2SM_RC_ControlHeader_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlHeader_Format1_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader_Format1 = {
+ "E2SM-RC-ControlHeader-Format1",
+ "E2SM-RC-ControlHeader-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ControlHeader_Format1_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader-Format1.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader-Format1.h
new file mode 100644
index 0000000..641739c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader-Format1.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_RC_ControlHeader_Format1_H_
+#define _E2SM_RC_ControlHeader_Format1_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "UE-Identity.h"
+#include "RIC-Style-Type.h"
+#include "RIC-ControlAction-ID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-ControlHeader-Format1 */
+typedef struct E2SM_RC_ControlHeader_Format1 {
+ UE_Identity_t ueId;
+ RIC_Style_Type_t ric_ControlStyle_Type;
+ RIC_ControlAction_ID_t ric_ControlAction_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlHeader_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_Format1_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlHeader_Format1_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.c
new file mode 100644
index 0000000..8de1e6c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.c
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlHeader.h"
+
+#include "E2SM-RC-ControlHeader-Format1.h"
+static asn_oer_constraints_t asn_OER_type_E2SM_RC_ControlHeader_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_E2SM_RC_ControlHeader_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 asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_1[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlHeader, choice.controlHeader_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_ControlHeader_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "controlHeader-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlHeader-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_E2SM_RC_ControlHeader_specs_1 = {
+ sizeof(struct E2SM_RC_ControlHeader),
+ offsetof(struct E2SM_RC_ControlHeader, _asn_ctx),
+ offsetof(struct E2SM_RC_ControlHeader, present),
+ sizeof(((struct E2SM_RC_ControlHeader *)0)->present),
+ asn_MAP_E2SM_RC_ControlHeader_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader = {
+ "E2SM-RC-ControlHeader",
+ "E2SM-RC-ControlHeader",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_E2SM_RC_ControlHeader_constr_1, &asn_PER_type_E2SM_RC_ControlHeader_constr_1, CHOICE_constraint },
+ asn_MBR_E2SM_RC_ControlHeader_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlHeader_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.h
new file mode 100644
index 0000000..aead9e3
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_RC_ControlHeader_H_
+#define _E2SM_RC_ControlHeader_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_ControlHeader_PR {
+ E2SM_RC_ControlHeader_PR_NOTHING, /* No components present */
+ E2SM_RC_ControlHeader_PR_controlHeader_Format1
+ /* Extensions may appear below */
+
+} E2SM_RC_ControlHeader_PR;
+
+/* Forward declarations */
+struct E2SM_RC_ControlHeader_Format1;
+
+/* E2SM-RC-ControlHeader */
+typedef struct E2SM_RC_ControlHeader {
+ E2SM_RC_ControlHeader_PR present;
+ union E2SM_RC_ControlHeader_u {
+ struct E2SM_RC_ControlHeader_Format1 *controlHeader_Format1;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlHeader_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlHeader_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage-Format1.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage-Format1.c
new file mode 100644
index 0000000..7ba5bba
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage-Format1.c
@@ -0,0 +1,132 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlMessage-Format1.h"
+
+#include "RANParameter-Item.h"
+static int
+memb_ranParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 4294967295)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranParameters_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..4294967295)) */};
+static asn_per_constraints_t asn_PER_type_ranParameters_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranParameters_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..4294967295)) */};
+static asn_per_constraints_t asn_PER_memb_ranParameters_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameters_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranParameters_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranParameters_List_specs_2 = {
+ sizeof(struct E2SM_RC_ControlMessage_Format1__ranParameters_List),
+ offsetof(struct E2SM_RC_ControlMessage_Format1__ranParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameters_List_2 = {
+ "ranParameters-List",
+ "ranParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranParameters_List_tags_2,
+ sizeof(asn_DEF_ranParameters_List_tags_2)
+ /sizeof(asn_DEF_ranParameters_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranParameters_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranParameters_List_tags_2)
+ /sizeof(asn_DEF_ranParameters_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranParameters_List_constr_2, &asn_PER_type_ranParameters_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranParameters_List_2,
+ 1, /* Single element */
+ &asn_SPC_ranParameters_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_Format1_1[] = {
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_ControlMessage_Format1, ranParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ranParameters_List_2,
+ 0,
+ { &asn_OER_memb_ranParameters_List_constr_2, &asn_PER_memb_ranParameters_List_constr_2, memb_ranParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranParameters-List"
+ },
+};
+static const int asn_MAP_E2SM_RC_ControlMessage_Format1_oms_1[] = { 0 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_ControlMessage_Format1),
+ offsetof(struct E2SM_RC_ControlMessage_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlMessage_Format1_tag2el_1,
+ 1, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_ControlMessage_Format1_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage_Format1 = {
+ "E2SM-RC-ControlMessage-Format1",
+ "E2SM-RC-ControlMessage-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ControlMessage_Format1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlMessage_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage-Format1.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage-Format1.h
new file mode 100644
index 0000000..ba58297
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage-Format1.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_RC_ControlMessage_Format1_H_
+#define _E2SM_RC_ControlMessage_Format1_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Item;
+
+/* E2SM-RC-ControlMessage-Format1 */
+typedef struct E2SM_RC_ControlMessage_Format1 {
+ struct E2SM_RC_ControlMessage_Format1__ranParameters_List {
+ A_SEQUENCE_OF(struct RANParameter_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ranParameters_List;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlMessage_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_Format1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlMessage_Format1_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.c
new file mode 100644
index 0000000..15a6afe
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.c
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlMessage.h"
+
+#include "E2SM-RC-ControlMessage-Format1.h"
+static asn_oer_constraints_t asn_OER_type_E2SM_RC_ControlMessage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_E2SM_RC_ControlMessage_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 asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_1[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlMessage, choice.controlMessage_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_ControlMessage_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "controlMessage-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlMessage-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_E2SM_RC_ControlMessage_specs_1 = {
+ sizeof(struct E2SM_RC_ControlMessage),
+ offsetof(struct E2SM_RC_ControlMessage, _asn_ctx),
+ offsetof(struct E2SM_RC_ControlMessage, present),
+ sizeof(((struct E2SM_RC_ControlMessage *)0)->present),
+ asn_MAP_E2SM_RC_ControlMessage_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage = {
+ "E2SM-RC-ControlMessage",
+ "E2SM-RC-ControlMessage",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_E2SM_RC_ControlMessage_constr_1, &asn_PER_type_E2SM_RC_ControlMessage_constr_1, CHOICE_constraint },
+ asn_MBR_E2SM_RC_ControlMessage_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlMessage_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.h
new file mode 100644
index 0000000..9e3d76a
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_RC_ControlMessage_H_
+#define _E2SM_RC_ControlMessage_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_ControlMessage_PR {
+ E2SM_RC_ControlMessage_PR_NOTHING, /* No components present */
+ E2SM_RC_ControlMessage_PR_controlMessage_Format1
+ /* Extensions may appear below */
+
+} E2SM_RC_ControlMessage_PR;
+
+/* Forward declarations */
+struct E2SM_RC_ControlMessage_Format1;
+
+/* E2SM-RC-ControlMessage */
+typedef struct E2SM_RC_ControlMessage {
+ E2SM_RC_ControlMessage_PR present;
+ union E2SM_RC_ControlMessage_u {
+ struct E2SM_RC_ControlMessage_Format1 *controlMessage_Format1;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlMessage_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-RANFunctionDefinition.c b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-RANFunctionDefinition.c
new file mode 100644
index 0000000..e3ff8fe
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-RANFunctionDefinition.c
@@ -0,0 +1,232 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-RANFunctionDefinition.h"
+
+#include "RIC-EventTriggerStyle-Item.h"
+#include "RIC-ControlStyle-Item.h"
+static int
+memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ric_ControlStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_3[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_EventTriggerStyle_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_3 = {
+ sizeof(struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List),
+ offsetof(struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_3 = {
+ "ric-EventTriggerStyle-List",
+ "ric-EventTriggerStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_EventTriggerStyle_List_tags_3,
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]) - 1, /* 1 */
+ asn_DEF_ric_EventTriggerStyle_List_tags_3, /* Same as above */
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]), /* 2 */
+ { &asn_OER_type_ric_EventTriggerStyle_List_constr_3, &asn_PER_type_ric_EventTriggerStyle_List_constr_3, SEQUENCE_OF_constraint },
+ asn_MBR_ric_EventTriggerStyle_List_3,
+ 1, /* Single element */
+ &asn_SPC_ric_EventTriggerStyle_List_specs_3 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ric_ControlStyle_List_5[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_ControlStyle_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ControlStyle_List_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ControlStyle_List_specs_5 = {
+ sizeof(struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List),
+ offsetof(struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ControlStyle_List_5 = {
+ "ric-ControlStyle-List",
+ "ric-ControlStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_ControlStyle_List_tags_5,
+ sizeof(asn_DEF_ric_ControlStyle_List_tags_5)
+ /sizeof(asn_DEF_ric_ControlStyle_List_tags_5[0]) - 1, /* 1 */
+ asn_DEF_ric_ControlStyle_List_tags_5, /* Same as above */
+ sizeof(asn_DEF_ric_ControlStyle_List_tags_5)
+ /sizeof(asn_DEF_ric_ControlStyle_List_tags_5[0]), /* 2 */
+ { &asn_OER_type_ric_ControlStyle_List_constr_5, &asn_PER_type_ric_ControlStyle_List_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_ric_ControlStyle_List_5,
+ 1, /* Single element */
+ &asn_SPC_ric_ControlStyle_List_specs_5 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_RANFunctionDefinition_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunction_Name),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANfunction_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunction-Name"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_RANFunctionDefinition, ric_EventTriggerStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_ric_EventTriggerStyle_List_3,
+ 0,
+ { &asn_OER_memb_ric_EventTriggerStyle_List_constr_3, &asn_PER_memb_ric_EventTriggerStyle_List_constr_3, memb_ric_EventTriggerStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-EventTriggerStyle-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_RANFunctionDefinition, ric_ControlStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ric_ControlStyle_List_5,
+ 0,
+ { &asn_OER_memb_ric_ControlStyle_List_constr_5, &asn_PER_memb_ric_ControlStyle_List_constr_5, memb_ric_ControlStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-ControlStyle-List"
+ },
+};
+static const int asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_RANFunctionDefinition_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-List */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ControlStyle-List */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_RANFunctionDefinition_specs_1 = {
+ sizeof(struct E2SM_RC_RANFunctionDefinition),
+ offsetof(struct E2SM_RC_RANFunctionDefinition, _asn_ctx),
+ asn_MAP_E2SM_RC_RANFunctionDefinition_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_RANFunctionDefinition = {
+ "E2SM-RC-RANFunctionDefinition",
+ "E2SM-RC-RANFunctionDefinition",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1,
+ sizeof(asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_RANFunctionDefinition_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_RC_RANFunctionDefinition_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-RANFunctionDefinition.h b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-RANFunctionDefinition.h
new file mode 100644
index 0000000..112fc9e
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/E2SM-RC-RANFunctionDefinition.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _E2SM_RC_RANFunctionDefinition_H_
+#define _E2SM_RC_RANFunctionDefinition_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "RANfunction-Name.h"
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RIC_EventTriggerStyle_Item;
+struct RIC_ControlStyle_Item;
+
+/* E2SM-RC-RANFunctionDefinition */
+typedef struct E2SM_RC_RANFunctionDefinition {
+ RANfunction_Name_t ranFunction_Name;
+ struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List {
+ A_SEQUENCE_OF(struct RIC_EventTriggerStyle_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ric_EventTriggerStyle_List;
+ struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List {
+ A_SEQUENCE_OF(struct RIC_ControlStyle_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *ric_ControlStyle_List;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_RANFunctionDefinition_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_RANFunctionDefinition;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_RANFunctionDefinition_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.c b/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.c
index 0fc15cd..1b0bd35 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.c
+++ b/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.c
@@ -1,17 +1,17 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "E2setupFailure.h"
-asn_TYPE_member_t asn_MBR_E2setupFailure_1[] = {
+static asn_TYPE_member_t asn_MBR_E2setupFailure_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct E2setupFailure, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_Container_1412P13,
+ &asn_DEF_ProtocolIE_Container_87P13,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
@@ -24,7 +24,7 @@ static const ber_tlv_tag_t asn_DEF_E2setupFailure_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_E2setupFailure_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
};
-asn_SEQUENCE_specifics_t asn_SPC_E2setupFailure_specs_1 = {
+static asn_SEQUENCE_specifics_t asn_SPC_E2setupFailure_specs_1 = {
sizeof(struct E2setupFailure),
offsetof(struct E2setupFailure, _asn_ctx),
asn_MAP_E2setupFailure_tag2el_1,
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.h b/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.h
index c0f0a80..9bfcf0b 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.h
+++ b/setup/xapp-sm-connector/asn1c_defs/E2setupFailure.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _E2setupFailure_H_
@@ -21,7 +21,7 @@ extern "C" {
/* E2setupFailure */
typedef struct E2setupFailure {
- ProtocolIE_Container_1412P13_t protocolIEs;
+ ProtocolIE_Container_87P13_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
@@ -33,8 +33,6 @@ typedef struct E2setupFailure {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_E2setupFailure;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupFailure_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2setupFailure_1[1];
#ifdef __cplusplus
}
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.c b/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.c
index 0f5a3a3..92fd09b 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.c
+++ b/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.c
@@ -1,17 +1,17 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "E2setupRequest.h"
-asn_TYPE_member_t asn_MBR_E2setupRequest_1[] = {
+static asn_TYPE_member_t asn_MBR_E2setupRequest_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct E2setupRequest, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_Container_1412P11,
+ &asn_DEF_ProtocolIE_Container_87P11,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
@@ -24,7 +24,7 @@ static const ber_tlv_tag_t asn_DEF_E2setupRequest_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_E2setupRequest_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
};
-asn_SEQUENCE_specifics_t asn_SPC_E2setupRequest_specs_1 = {
+static asn_SEQUENCE_specifics_t asn_SPC_E2setupRequest_specs_1 = {
sizeof(struct E2setupRequest),
offsetof(struct E2setupRequest, _asn_ctx),
asn_MAP_E2setupRequest_tag2el_1,
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.h b/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.h
index 60ac19d..c70a6a5 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.h
+++ b/setup/xapp-sm-connector/asn1c_defs/E2setupRequest.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _E2setupRequest_H_
@@ -21,7 +21,7 @@ extern "C" {
/* E2setupRequest */
typedef struct E2setupRequest {
- ProtocolIE_Container_1412P11_t protocolIEs;
+ ProtocolIE_Container_87P11_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
@@ -33,8 +33,6 @@ typedef struct E2setupRequest {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_E2setupRequest;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupRequest_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2setupRequest_1[1];
#ifdef __cplusplus
}
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.c b/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.c
index 04c0ea6..b08bc06 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.c
+++ b/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.c
@@ -1,17 +1,17 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "E2setupResponse.h"
-asn_TYPE_member_t asn_MBR_E2setupResponse_1[] = {
+static asn_TYPE_member_t asn_MBR_E2setupResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct E2setupResponse, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_Container_1412P12,
+ &asn_DEF_ProtocolIE_Container_87P12,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
@@ -24,7 +24,7 @@ static const ber_tlv_tag_t asn_DEF_E2setupResponse_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_E2setupResponse_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
};
-asn_SEQUENCE_specifics_t asn_SPC_E2setupResponse_specs_1 = {
+static asn_SEQUENCE_specifics_t asn_SPC_E2setupResponse_specs_1 = {
sizeof(struct E2setupResponse),
offsetof(struct E2setupResponse, _asn_ctx),
asn_MAP_E2setupResponse_tag2el_1,
diff --git a/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.h b/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.h
index 3feb668..f8920af 100644
--- a/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.h
+++ b/setup/xapp-sm-connector/asn1c_defs/E2setupResponse.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _E2setupResponse_H_
@@ -21,7 +21,7 @@ extern "C" {
/* E2setupResponse */
typedef struct E2setupResponse {
- ProtocolIE_Container_1412P12_t protocolIEs;
+ ProtocolIE_Container_87P12_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
@@ -33,8 +33,6 @@ typedef struct E2setupResponse {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_E2setupResponse;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupResponse_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2setupResponse_1[1];
#ifdef __cplusplus
}
diff --git a/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.c b/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.c
index 014dbeb..b95e5eb 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.c
+++ b/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "ENB-ID-Choice.h"
@@ -100,21 +100,33 @@ memb_enb_ID_longmacro_constraint_1(const asn_TYPE_descriptor_t *td, const void *
}
}
+static asn_oer_constraints_t asn_OER_memb_enb_ID_macro_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ 20 /* (SIZE(20..20)) */};
static asn_per_constraints_t asn_PER_memb_enb_ID_macro_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_memb_enb_ID_shortmacro_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ 18 /* (SIZE(18..18)) */};
static asn_per_constraints_t asn_PER_memb_enb_ID_shortmacro_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 18, 18 } /* (SIZE(18..18)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_memb_enb_ID_longmacro_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ 21 /* (SIZE(21..21)) */};
static asn_per_constraints_t asn_PER_memb_enb_ID_longmacro_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 21, 21 } /* (SIZE(21..21)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_type_ENB_ID_Choice_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_ENB_ID_Choice_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -126,7 +138,7 @@ asn_TYPE_member_t asn_MBR_ENB_ID_Choice_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_enb_ID_macro_constr_2, memb_enb_ID_macro_constraint_1 },
+ { &asn_OER_memb_enb_ID_macro_constr_2, &asn_PER_memb_enb_ID_macro_constr_2, memb_enb_ID_macro_constraint_1 },
0, 0, /* No default value */
"enb-ID-macro"
},
@@ -135,7 +147,7 @@ asn_TYPE_member_t asn_MBR_ENB_ID_Choice_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_enb_ID_shortmacro_constr_3, memb_enb_ID_shortmacro_constraint_1 },
+ { &asn_OER_memb_enb_ID_shortmacro_constr_3, &asn_PER_memb_enb_ID_shortmacro_constr_3, memb_enb_ID_shortmacro_constraint_1 },
0, 0, /* No default value */
"enb-ID-shortmacro"
},
@@ -144,7 +156,7 @@ asn_TYPE_member_t asn_MBR_ENB_ID_Choice_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_enb_ID_longmacro_constr_4, memb_enb_ID_longmacro_constraint_1 },
+ { &asn_OER_memb_enb_ID_longmacro_constr_4, &asn_PER_memb_enb_ID_longmacro_constr_4, memb_enb_ID_longmacro_constraint_1 },
0, 0, /* No default value */
"enb-ID-longmacro"
},
@@ -172,7 +184,7 @@ asn_TYPE_descriptor_t asn_DEF_ENB_ID_Choice = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { 0, &asn_PER_type_ENB_ID_Choice_constr_1, CHOICE_constraint },
+ { &asn_OER_type_ENB_ID_Choice_constr_1, &asn_PER_type_ENB_ID_Choice_constr_1, CHOICE_constraint },
asn_MBR_ENB_ID_Choice_1,
3, /* Elements count */
&asn_SPC_ENB_ID_Choice_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.h b/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.h
index 0fd9d31..0ccc3ee 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.h
+++ b/setup/xapp-sm-connector/asn1c_defs/ENB-ID-Choice.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _ENB_ID_Choice_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/ENB-ID.c b/setup/xapp-sm-connector/asn1c_defs/ENB-ID.c
index f1b3faf..96b8cb5 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ENB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/ENB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "ENB-ID.h"
@@ -131,26 +131,41 @@ memb_long_Macro_eNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void
}
}
+static asn_oer_constraints_t asn_OER_memb_macro_eNB_ID_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ 20 /* (SIZE(20..20)) */};
static asn_per_constraints_t asn_PER_memb_macro_eNB_ID_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_memb_home_eNB_ID_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ 28 /* (SIZE(28..28)) */};
static asn_per_constraints_t asn_PER_memb_home_eNB_ID_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 28, 28 } /* (SIZE(28..28)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_memb_short_Macro_eNB_ID_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ 18 /* (SIZE(18..18)) */};
static asn_per_constraints_t asn_PER_memb_short_Macro_eNB_ID_constr_5 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 18, 18 } /* (SIZE(18..18)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_memb_long_Macro_eNB_ID_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ 21 /* (SIZE(21..21)) */};
static asn_per_constraints_t asn_PER_memb_long_Macro_eNB_ID_constr_6 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 21, 21 } /* (SIZE(21..21)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_type_ENB_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_ENB_ID_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -162,7 +177,7 @@ asn_TYPE_member_t asn_MBR_ENB_ID_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_macro_eNB_ID_constr_2, memb_macro_eNB_ID_constraint_1 },
+ { &asn_OER_memb_macro_eNB_ID_constr_2, &asn_PER_memb_macro_eNB_ID_constr_2, memb_macro_eNB_ID_constraint_1 },
0, 0, /* No default value */
"macro-eNB-ID"
},
@@ -171,7 +186,7 @@ asn_TYPE_member_t asn_MBR_ENB_ID_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_home_eNB_ID_constr_3, memb_home_eNB_ID_constraint_1 },
+ { &asn_OER_memb_home_eNB_ID_constr_3, &asn_PER_memb_home_eNB_ID_constr_3, memb_home_eNB_ID_constraint_1 },
0, 0, /* No default value */
"home-eNB-ID"
},
@@ -180,7 +195,7 @@ asn_TYPE_member_t asn_MBR_ENB_ID_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_short_Macro_eNB_ID_constr_5, memb_short_Macro_eNB_ID_constraint_1 },
+ { &asn_OER_memb_short_Macro_eNB_ID_constr_5, &asn_PER_memb_short_Macro_eNB_ID_constr_5, memb_short_Macro_eNB_ID_constraint_1 },
0, 0, /* No default value */
"short-Macro-eNB-ID"
},
@@ -189,7 +204,7 @@ asn_TYPE_member_t asn_MBR_ENB_ID_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_long_Macro_eNB_ID_constr_6, memb_long_Macro_eNB_ID_constraint_1 },
+ { &asn_OER_memb_long_Macro_eNB_ID_constr_6, &asn_PER_memb_long_Macro_eNB_ID_constr_6, memb_long_Macro_eNB_ID_constraint_1 },
0, 0, /* No default value */
"long-Macro-eNB-ID"
},
@@ -218,7 +233,7 @@ asn_TYPE_descriptor_t asn_DEF_ENB_ID = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { 0, &asn_PER_type_ENB_ID_constr_1, CHOICE_constraint },
+ { &asn_OER_type_ENB_ID_constr_1, &asn_PER_type_ENB_ID_constr_1, CHOICE_constraint },
asn_MBR_ENB_ID_1,
4, /* Elements count */
&asn_SPC_ENB_ID_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/ENB-ID.h b/setup/xapp-sm-connector/asn1c_defs/ENB-ID.h
index 3f7d554..500a7d2 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ENB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/ENB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _ENB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.c
index 635de20..4bfdbd8 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "ENGNB-ID.h"
@@ -38,11 +38,17 @@ memb_gNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
}
}
+static asn_oer_constraints_t asn_OER_memb_gNB_ID_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(22..32)) */};
static asn_per_constraints_t asn_PER_memb_gNB_ID_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 4, 4, 22, 32 } /* (SIZE(22..32)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_type_ENGNB_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_ENGNB_ID_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -54,7 +60,7 @@ asn_TYPE_member_t asn_MBR_ENGNB_ID_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_gNB_ID_constr_2, memb_gNB_ID_constraint_1 },
+ { &asn_OER_memb_gNB_ID_constr_2, &asn_PER_memb_gNB_ID_constr_2, memb_gNB_ID_constraint_1 },
0, 0, /* No default value */
"gNB-ID"
},
@@ -80,7 +86,7 @@ asn_TYPE_descriptor_t asn_DEF_ENGNB_ID = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { 0, &asn_PER_type_ENGNB_ID_constr_1, CHOICE_constraint },
+ { &asn_OER_type_ENGNB_ID_constr_1, &asn_PER_type_ENGNB_ID_constr_1, CHOICE_constraint },
asn_MBR_ENGNB_ID_1,
1, /* Elements count */
&asn_SPC_ENGNB_ID_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.h
index fae9914..58a8c7c 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/ENGNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _ENGNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.c b/setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.c
new file mode 100644
index 0000000..5fb414a
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EPC-CUUP-PM-Format.h"
+
+#include "PerQCIReportListItemFormat.h"
+static int
+memb_perQCIReportList_cuup_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 256)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..256)) */};
+static asn_per_constraints_t asn_PER_type_perQCIReportList_cuup_constr_2 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_oer_constraints_t asn_OER_memb_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..256)) */};
+static asn_per_constraints_t asn_PER_memb_perQCIReportList_cuup_constr_2 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_perQCIReportList_cuup_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PerQCIReportListItemFormat,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_perQCIReportList_cuup_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_perQCIReportList_cuup_specs_2 = {
+ sizeof(struct EPC_CUUP_PM_Format__perQCIReportList_cuup),
+ offsetof(struct EPC_CUUP_PM_Format__perQCIReportList_cuup, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_perQCIReportList_cuup_2 = {
+ "perQCIReportList-cuup",
+ "perQCIReportList-cuup",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_perQCIReportList_cuup_tags_2,
+ sizeof(asn_DEF_perQCIReportList_cuup_tags_2)
+ /sizeof(asn_DEF_perQCIReportList_cuup_tags_2[0]) - 1, /* 1 */
+ asn_DEF_perQCIReportList_cuup_tags_2, /* Same as above */
+ sizeof(asn_DEF_perQCIReportList_cuup_tags_2)
+ /sizeof(asn_DEF_perQCIReportList_cuup_tags_2[0]), /* 2 */
+ { &asn_OER_type_perQCIReportList_cuup_constr_2, &asn_PER_type_perQCIReportList_cuup_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_perQCIReportList_cuup_2,
+ 1, /* Single element */
+ &asn_SPC_perQCIReportList_cuup_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EPC_CUUP_PM_Format_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EPC_CUUP_PM_Format, perQCIReportList_cuup),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_perQCIReportList_cuup_2,
+ 0,
+ { &asn_OER_memb_perQCIReportList_cuup_constr_2, &asn_PER_memb_perQCIReportList_cuup_constr_2, memb_perQCIReportList_cuup_constraint_1 },
+ 0, 0, /* No default value */
+ "perQCIReportList-cuup"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EPC_CUUP_PM_Format_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EPC_CUUP_PM_Format_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* perQCIReportList-cuup */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EPC_CUUP_PM_Format_specs_1 = {
+ sizeof(struct EPC_CUUP_PM_Format),
+ offsetof(struct EPC_CUUP_PM_Format, _asn_ctx),
+ asn_MAP_EPC_CUUP_PM_Format_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_EPC_CUUP_PM_Format = {
+ "EPC-CUUP-PM-Format",
+ "EPC-CUUP-PM-Format",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EPC_CUUP_PM_Format_tags_1,
+ sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1)
+ /sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1[0]), /* 1 */
+ asn_DEF_EPC_CUUP_PM_Format_tags_1, /* Same as above */
+ sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1)
+ /sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EPC_CUUP_PM_Format_1,
+ 1, /* Elements count */
+ &asn_SPC_EPC_CUUP_PM_Format_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.h b/setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.h
new file mode 100644
index 0000000..0846bdc
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _EPC_CUUP_PM_Format_H_
+#define _EPC_CUUP_PM_Format_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct PerQCIReportListItemFormat;
+
+/* EPC-CUUP-PM-Format */
+typedef struct EPC_CUUP_PM_Format {
+ struct EPC_CUUP_PM_Format__perQCIReportList_cuup {
+ A_SEQUENCE_OF(struct PerQCIReportListItemFormat) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } perQCIReportList_cuup;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} EPC_CUUP_PM_Format_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EPC_CUUP_PM_Format;
+extern asn_SEQUENCE_specifics_t asn_SPC_EPC_CUUP_PM_Format_specs_1;
+extern asn_TYPE_member_t asn_MBR_EPC_CUUP_PM_Format_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EPC_CUUP_PM_Format_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/EPC-DU-PM-Container.c b/setup/xapp-sm-connector/asn1c_defs/EPC-DU-PM-Container.c
new file mode 100644
index 0000000..801080e
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EPC-DU-PM-Container.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EPC-DU-PM-Container.h"
+
+#include "PerQCIReportListItem.h"
+static int
+memb_perQCIReportList_du_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 256)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_perQCIReportList_du_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..256)) */};
+static asn_per_constraints_t asn_PER_type_perQCIReportList_du_constr_2 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_oer_constraints_t asn_OER_memb_perQCIReportList_du_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..256)) */};
+static asn_per_constraints_t asn_PER_memb_perQCIReportList_du_constr_2 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_perQCIReportList_du_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PerQCIReportListItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_perQCIReportList_du_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_perQCIReportList_du_specs_2 = {
+ sizeof(struct EPC_DU_PM_Container__perQCIReportList_du),
+ offsetof(struct EPC_DU_PM_Container__perQCIReportList_du, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_perQCIReportList_du_2 = {
+ "perQCIReportList-du",
+ "perQCIReportList-du",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_perQCIReportList_du_tags_2,
+ sizeof(asn_DEF_perQCIReportList_du_tags_2)
+ /sizeof(asn_DEF_perQCIReportList_du_tags_2[0]) - 1, /* 1 */
+ asn_DEF_perQCIReportList_du_tags_2, /* Same as above */
+ sizeof(asn_DEF_perQCIReportList_du_tags_2)
+ /sizeof(asn_DEF_perQCIReportList_du_tags_2[0]), /* 2 */
+ { &asn_OER_type_perQCIReportList_du_constr_2, &asn_PER_type_perQCIReportList_du_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_perQCIReportList_du_2,
+ 1, /* Single element */
+ &asn_SPC_perQCIReportList_du_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EPC_DU_PM_Container_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EPC_DU_PM_Container, perQCIReportList_du),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_perQCIReportList_du_2,
+ 0,
+ { &asn_OER_memb_perQCIReportList_du_constr_2, &asn_PER_memb_perQCIReportList_du_constr_2, memb_perQCIReportList_du_constraint_1 },
+ 0, 0, /* No default value */
+ "perQCIReportList-du"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EPC_DU_PM_Container_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EPC_DU_PM_Container_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* perQCIReportList-du */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EPC_DU_PM_Container_specs_1 = {
+ sizeof(struct EPC_DU_PM_Container),
+ offsetof(struct EPC_DU_PM_Container, _asn_ctx),
+ asn_MAP_EPC_DU_PM_Container_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_EPC_DU_PM_Container = {
+ "EPC-DU-PM-Container",
+ "EPC-DU-PM-Container",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EPC_DU_PM_Container_tags_1,
+ sizeof(asn_DEF_EPC_DU_PM_Container_tags_1)
+ /sizeof(asn_DEF_EPC_DU_PM_Container_tags_1[0]), /* 1 */
+ asn_DEF_EPC_DU_PM_Container_tags_1, /* Same as above */
+ sizeof(asn_DEF_EPC_DU_PM_Container_tags_1)
+ /sizeof(asn_DEF_EPC_DU_PM_Container_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EPC_DU_PM_Container_1,
+ 1, /* Elements count */
+ &asn_SPC_EPC_DU_PM_Container_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/EPC-DU-PM-Container.h b/setup/xapp-sm-connector/asn1c_defs/EPC-DU-PM-Container.h
new file mode 100644
index 0000000..354e3fd
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EPC-DU-PM-Container.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _EPC_DU_PM_Container_H_
+#define _EPC_DU_PM_Container_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct PerQCIReportListItem;
+
+/* EPC-DU-PM-Container */
+typedef struct EPC_DU_PM_Container {
+ struct EPC_DU_PM_Container__perQCIReportList_du {
+ A_SEQUENCE_OF(struct PerQCIReportListItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } perQCIReportList_du;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} EPC_DU_PM_Container_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EPC_DU_PM_Container;
+extern asn_SEQUENCE_specifics_t asn_SPC_EPC_DU_PM_Container_specs_1;
+extern asn_TYPE_member_t asn_MBR_EPC_DU_PM_Container_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EPC_DU_PM_Container_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/EUTRACGI.c b/setup/xapp-sm-connector/asn1c_defs/EUTRACGI.c
new file mode 100644
index 0000000..d6a563b
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EUTRACGI.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "EUTRACGI.h"
+
+asn_TYPE_member_t asn_MBR_EUTRACGI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EUTRACGI, pLMN_Identity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMN_Identity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "pLMN-Identity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct EUTRACGI, eUTRACellIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EUTRACellIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRACellIdentity"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EUTRACGI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EUTRACGI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRACellIdentity */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EUTRACGI_specs_1 = {
+ sizeof(struct EUTRACGI),
+ offsetof(struct EUTRACGI, _asn_ctx),
+ asn_MAP_EUTRACGI_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EUTRACGI = {
+ "EUTRACGI",
+ "EUTRACGI",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EUTRACGI_tags_1,
+ sizeof(asn_DEF_EUTRACGI_tags_1)
+ /sizeof(asn_DEF_EUTRACGI_tags_1[0]), /* 1 */
+ asn_DEF_EUTRACGI_tags_1, /* Same as above */
+ sizeof(asn_DEF_EUTRACGI_tags_1)
+ /sizeof(asn_DEF_EUTRACGI_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EUTRACGI_1,
+ 2, /* Elements count */
+ &asn_SPC_EUTRACGI_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/EUTRACGI.h b/setup/xapp-sm-connector/asn1c_defs/EUTRACGI.h
new file mode 100644
index 0000000..af31896
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EUTRACGI.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _EUTRACGI_H_
+#define _EUTRACGI_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "PLMN-Identity.h"
+#include "EUTRACellIdentity.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EUTRACGI */
+typedef struct EUTRACGI {
+ PLMN_Identity_t pLMN_Identity;
+ EUTRACellIdentity_t eUTRACellIdentity;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} EUTRACGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EUTRACGI;
+extern asn_SEQUENCE_specifics_t asn_SPC_EUTRACGI_specs_1;
+extern asn_TYPE_member_t asn_MBR_EUTRACGI_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EUTRACGI_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/EUTRACellIdentity.c b/setup/xapp-sm-connector/asn1c_defs/EUTRACellIdentity.c
new file mode 100644
index 0000000..743ffc9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EUTRACellIdentity.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "EUTRACellIdentity.h"
+
+int
+EUTRACellIdentity_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.
+ */
+static asn_oer_constraints_t asn_OER_type_EUTRACellIdentity_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 28 /* (SIZE(28..28)) */};
+asn_per_constraints_t asn_PER_type_EUTRACellIdentity_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_EUTRACellIdentity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_EUTRACellIdentity = {
+ "EUTRACellIdentity",
+ "EUTRACellIdentity",
+ &asn_OP_BIT_STRING,
+ asn_DEF_EUTRACellIdentity_tags_1,
+ sizeof(asn_DEF_EUTRACellIdentity_tags_1)
+ /sizeof(asn_DEF_EUTRACellIdentity_tags_1[0]), /* 1 */
+ asn_DEF_EUTRACellIdentity_tags_1, /* Same as above */
+ sizeof(asn_DEF_EUTRACellIdentity_tags_1)
+ /sizeof(asn_DEF_EUTRACellIdentity_tags_1[0]), /* 1 */
+ { &asn_OER_type_EUTRACellIdentity_constr_1, &asn_PER_type_EUTRACellIdentity_constr_1, EUTRACellIdentity_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_BIT_STRING_specs /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/EUTRACellIdentity.h b/setup/xapp-sm-connector/asn1c_defs/EUTRACellIdentity.h
new file mode 100644
index 0000000..2e542e6
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/EUTRACellIdentity.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _EUTRACellIdentity_H_
+#define _EUTRACellIdentity_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EUTRACellIdentity */
+typedef BIT_STRING_t EUTRACellIdentity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EUTRACellIdentity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EUTRACellIdentity;
+asn_struct_free_f EUTRACellIdentity_free;
+asn_struct_print_f EUTRACellIdentity_print;
+asn_constr_check_f EUTRACellIdentity_constraint;
+ber_type_decoder_f EUTRACellIdentity_decode_ber;
+der_type_encoder_f EUTRACellIdentity_encode_der;
+xer_type_decoder_f EUTRACellIdentity_decode_xer;
+xer_type_encoder_f EUTRACellIdentity_encode_xer;
+oer_type_decoder_f EUTRACellIdentity_decode_oer;
+oer_type_encoder_f EUTRACellIdentity_encode_oer;
+per_type_decoder_f EUTRACellIdentity_decode_uper;
+per_type_encoder_f EUTRACellIdentity_encode_uper;
+per_type_decoder_f EUTRACellIdentity_decode_aper;
+per_type_encoder_f EUTRACellIdentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EUTRACellIdentity_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.c b/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.c
index 5225be3..a47c6e0 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.c
+++ b/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.c
@@ -1,17 +1,17 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "ErrorIndication.h"
-asn_TYPE_member_t asn_MBR_ErrorIndication_1[] = {
+static asn_TYPE_member_t asn_MBR_ErrorIndication_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ErrorIndication, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_Container_1412P10,
+ &asn_DEF_ProtocolIE_Container_87P10,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
@@ -24,7 +24,7 @@ static const ber_tlv_tag_t asn_DEF_ErrorIndication_tags_1[] = {
static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
};
-asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_specs_1 = {
+static asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_specs_1 = {
sizeof(struct ErrorIndication),
offsetof(struct ErrorIndication, _asn_ctx),
asn_MAP_ErrorIndication_tag2el_1,
diff --git a/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.h b/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.h
index a3db103..88e402e 100644
--- a/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.h
+++ b/setup/xapp-sm-connector/asn1c_defs/ErrorIndication.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Contents-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _ErrorIndication_H_
@@ -21,7 +21,7 @@ extern "C" {
/* ErrorIndication */
typedef struct ErrorIndication {
- ProtocolIE_Container_1412P10_t protocolIEs;
+ ProtocolIE_Container_87P10_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
@@ -33,8 +33,6 @@ typedef struct ErrorIndication {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication;
-extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_specs_1;
-extern asn_TYPE_member_t asn_MBR_ErrorIndication_1[1];
#ifdef __cplusplus
}
diff --git a/setup/xapp-sm-connector/asn1c_defs/FGC-CUUP-PM-Format.c b/setup/xapp-sm-connector/asn1c_defs/FGC-CUUP-PM-Format.c
new file mode 100644
index 0000000..634e092
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FGC-CUUP-PM-Format.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FGC-CUUP-PM-Format.h"
+
+#include "SliceToReportListItem.h"
+static int
+memb_sliceToReportList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 1024)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_sliceToReportList_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_sliceToReportList_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_sliceToReportList_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_memb_sliceToReportList_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_sliceToReportList_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_SliceToReportListItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_sliceToReportList_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_sliceToReportList_specs_2 = {
+ sizeof(struct FGC_CUUP_PM_Format__sliceToReportList),
+ offsetof(struct FGC_CUUP_PM_Format__sliceToReportList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_sliceToReportList_2 = {
+ "sliceToReportList",
+ "sliceToReportList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_sliceToReportList_tags_2,
+ sizeof(asn_DEF_sliceToReportList_tags_2)
+ /sizeof(asn_DEF_sliceToReportList_tags_2[0]) - 1, /* 1 */
+ asn_DEF_sliceToReportList_tags_2, /* Same as above */
+ sizeof(asn_DEF_sliceToReportList_tags_2)
+ /sizeof(asn_DEF_sliceToReportList_tags_2[0]), /* 2 */
+ { &asn_OER_type_sliceToReportList_constr_2, &asn_PER_type_sliceToReportList_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_sliceToReportList_2,
+ 1, /* Single element */
+ &asn_SPC_sliceToReportList_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_FGC_CUUP_PM_Format_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct FGC_CUUP_PM_Format, sliceToReportList),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_sliceToReportList_2,
+ 0,
+ { &asn_OER_memb_sliceToReportList_constr_2, &asn_PER_memb_sliceToReportList_constr_2, memb_sliceToReportList_constraint_1 },
+ 0, 0, /* No default value */
+ "sliceToReportList"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_FGC_CUUP_PM_Format_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_FGC_CUUP_PM_Format_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sliceToReportList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_FGC_CUUP_PM_Format_specs_1 = {
+ sizeof(struct FGC_CUUP_PM_Format),
+ offsetof(struct FGC_CUUP_PM_Format, _asn_ctx),
+ asn_MAP_FGC_CUUP_PM_Format_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_FGC_CUUP_PM_Format = {
+ "FGC-CUUP-PM-Format",
+ "FGC-CUUP-PM-Format",
+ &asn_OP_SEQUENCE,
+ asn_DEF_FGC_CUUP_PM_Format_tags_1,
+ sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1)
+ /sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1[0]), /* 1 */
+ asn_DEF_FGC_CUUP_PM_Format_tags_1, /* Same as above */
+ sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1)
+ /sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_FGC_CUUP_PM_Format_1,
+ 1, /* Elements count */
+ &asn_SPC_FGC_CUUP_PM_Format_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/FGC-CUUP-PM-Format.h b/setup/xapp-sm-connector/asn1c_defs/FGC-CUUP-PM-Format.h
new file mode 100644
index 0000000..73b91e8
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FGC-CUUP-PM-Format.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _FGC_CUUP_PM_Format_H_
+#define _FGC_CUUP_PM_Format_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct SliceToReportListItem;
+
+/* FGC-CUUP-PM-Format */
+typedef struct FGC_CUUP_PM_Format {
+ struct FGC_CUUP_PM_Format__sliceToReportList {
+ A_SEQUENCE_OF(struct SliceToReportListItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } sliceToReportList;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} FGC_CUUP_PM_Format_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_FGC_CUUP_PM_Format;
+extern asn_SEQUENCE_specifics_t asn_SPC_FGC_CUUP_PM_Format_specs_1;
+extern asn_TYPE_member_t asn_MBR_FGC_CUUP_PM_Format_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FGC_CUUP_PM_Format_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/FGC-DU-PM-Container.c b/setup/xapp-sm-connector/asn1c_defs/FGC-DU-PM-Container.c
new file mode 100644
index 0000000..859867f
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FGC-DU-PM-Container.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FGC-DU-PM-Container.h"
+
+#include "SlicePerPlmnPerCellListItem.h"
+static int
+memb_slicePerPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 1024)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_slicePerPlmnPerCellList_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_SlicePerPlmnPerCellListItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_slicePerPlmnPerCellList_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_slicePerPlmnPerCellList_specs_2 = {
+ sizeof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList),
+ offsetof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_slicePerPlmnPerCellList_2 = {
+ "slicePerPlmnPerCellList",
+ "slicePerPlmnPerCellList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_slicePerPlmnPerCellList_tags_2,
+ sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
+ /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]) - 1, /* 1 */
+ asn_DEF_slicePerPlmnPerCellList_tags_2, /* Same as above */
+ sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
+ /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]), /* 2 */
+ { &asn_OER_type_slicePerPlmnPerCellList_constr_2, &asn_PER_type_slicePerPlmnPerCellList_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_slicePerPlmnPerCellList_2,
+ 1, /* Single element */
+ &asn_SPC_slicePerPlmnPerCellList_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_FGC_DU_PM_Container_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct FGC_DU_PM_Container, slicePerPlmnPerCellList),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_slicePerPlmnPerCellList_2,
+ 0,
+ { &asn_OER_memb_slicePerPlmnPerCellList_constr_2, &asn_PER_memb_slicePerPlmnPerCellList_constr_2, memb_slicePerPlmnPerCellList_constraint_1 },
+ 0, 0, /* No default value */
+ "slicePerPlmnPerCellList"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_FGC_DU_PM_Container_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_FGC_DU_PM_Container_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* slicePerPlmnPerCellList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_FGC_DU_PM_Container_specs_1 = {
+ sizeof(struct FGC_DU_PM_Container),
+ offsetof(struct FGC_DU_PM_Container, _asn_ctx),
+ asn_MAP_FGC_DU_PM_Container_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_FGC_DU_PM_Container = {
+ "FGC-DU-PM-Container",
+ "FGC-DU-PM-Container",
+ &asn_OP_SEQUENCE,
+ asn_DEF_FGC_DU_PM_Container_tags_1,
+ sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
+ /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
+ asn_DEF_FGC_DU_PM_Container_tags_1, /* Same as above */
+ sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
+ /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_FGC_DU_PM_Container_1,
+ 1, /* Elements count */
+ &asn_SPC_FGC_DU_PM_Container_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/FGC-DU-PM-Container.h b/setup/xapp-sm-connector/asn1c_defs/FGC-DU-PM-Container.h
new file mode 100644
index 0000000..0d7c224
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FGC-DU-PM-Container.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _FGC_DU_PM_Container_H_
+#define _FGC_DU_PM_Container_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct SlicePerPlmnPerCellListItem;
+
+/* FGC-DU-PM-Container */
+typedef struct FGC_DU_PM_Container {
+ struct FGC_DU_PM_Container__slicePerPlmnPerCellList {
+ A_SEQUENCE_OF(struct SlicePerPlmnPerCellListItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } slicePerPlmnPerCellList;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} FGC_DU_PM_Container_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_FGC_DU_PM_Container;
+extern asn_SEQUENCE_specifics_t asn_SPC_FGC_DU_PM_Container_specs_1;
+extern asn_TYPE_member_t asn_MBR_FGC_DU_PM_Container_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FGC_DU_PM_Container_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnListItem.c b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnListItem.c
new file mode 100644
index 0000000..e875ee2
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnListItem.c
@@ -0,0 +1,150 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FQIPERSlicesPerPlmnListItem.h"
+
+static int
+memb_pDCPBytesDL_constraint_1(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;
+ }
+}
+
+static int
+memb_pDCPBytesUL_constraint_1(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;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 34, -1, 0, 10000000000 } /* (0..10000000000,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 34, -1, 0, 10000000000 } /* (0..10000000000,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnListItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct FQIPERSlicesPerPlmnListItem, fiveQI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_FiveQI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fiveQI"
+ },
+ { ATF_POINTER, 2, offsetof(struct FQIPERSlicesPerPlmnListItem, pDCPBytesDL),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_INTEGER,
+ 0,
+ { &asn_OER_memb_pDCPBytesDL_constr_3, &asn_PER_memb_pDCPBytesDL_constr_3, memb_pDCPBytesDL_constraint_1 },
+ 0, 0, /* No default value */
+ "pDCPBytesDL"
+ },
+ { ATF_POINTER, 1, offsetof(struct FQIPERSlicesPerPlmnListItem, pDCPBytesUL),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_INTEGER,
+ 0,
+ { &asn_OER_memb_pDCPBytesUL_constr_4, &asn_PER_memb_pDCPBytesUL_constr_4, memb_pDCPBytesUL_constraint_1 },
+ 0, 0, /* No default value */
+ "pDCPBytesUL"
+ },
+};
+static const int asn_MAP_FQIPERSlicesPerPlmnListItem_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_FQIPERSlicesPerPlmnListItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveQI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pDCPBytesDL */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pDCPBytesUL */
+};
+asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1 = {
+ sizeof(struct FQIPERSlicesPerPlmnListItem),
+ offsetof(struct FQIPERSlicesPerPlmnListItem, _asn_ctx),
+ asn_MAP_FQIPERSlicesPerPlmnListItem_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_FQIPERSlicesPerPlmnListItem_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnListItem = {
+ "FQIPERSlicesPerPlmnListItem",
+ "FQIPERSlicesPerPlmnListItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1,
+ sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1)
+ /sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[0]), /* 1 */
+ asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1)
+ /sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_FQIPERSlicesPerPlmnListItem_1,
+ 3, /* Elements count */
+ &asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnListItem.h b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnListItem.h
new file mode 100644
index 0000000..93cbd5f
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnListItem.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _FQIPERSlicesPerPlmnListItem_H_
+#define _FQIPERSlicesPerPlmnListItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "FiveQI.h"
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FQIPERSlicesPerPlmnListItem */
+typedef struct FQIPERSlicesPerPlmnListItem {
+ FiveQI_t fiveQI;
+ INTEGER_t *pDCPBytesDL; /* OPTIONAL */
+ INTEGER_t *pDCPBytesUL; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} FQIPERSlicesPerPlmnListItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnListItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnListItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FQIPERSlicesPerPlmnListItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnPerCellListItem.c b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnPerCellListItem.c
new file mode 100644
index 0000000..d69f8a1
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnPerCellListItem.c
@@ -0,0 +1,138 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FQIPERSlicesPerPlmnPerCellListItem.h"
+
+static int
+memb_dl_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 273)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ul_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 273)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
+ { 2, 1 } /* (0..273) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
+ { 2, 1 } /* (0..273) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
+ { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, fiveQI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_FiveQI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fiveQI"
+ },
+ { ATF_POINTER, 2, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, dl_PRBUsage),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_dl_PRBUsage_constr_3, &asn_PER_memb_dl_PRBUsage_constr_3, memb_dl_PRBUsage_constraint_1 },
+ 0, 0, /* No default value */
+ "dl-PRBUsage"
+ },
+ { ATF_POINTER, 1, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, ul_PRBUsage),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_ul_PRBUsage_constr_4, &asn_PER_memb_ul_PRBUsage_constr_4, memb_ul_PRBUsage_constraint_1 },
+ 0, 0, /* No default value */
+ "ul-PRBUsage"
+ },
+};
+static const int asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveQI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-PRBUsage */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ul-PRBUsage */
+};
+asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1 = {
+ sizeof(struct FQIPERSlicesPerPlmnPerCellListItem),
+ offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, _asn_ctx),
+ asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem = {
+ "FQIPERSlicesPerPlmnPerCellListItem",
+ "FQIPERSlicesPerPlmnPerCellListItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1,
+ sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1)
+ /sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[0]), /* 1 */
+ asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1)
+ /sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1,
+ 3, /* Elements count */
+ &asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnPerCellListItem.h b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnPerCellListItem.h
new file mode 100644
index 0000000..c805b5f
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FQIPERSlicesPerPlmnPerCellListItem.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _FQIPERSlicesPerPlmnPerCellListItem_H_
+#define _FQIPERSlicesPerPlmnPerCellListItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "FiveQI.h"
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FQIPERSlicesPerPlmnPerCellListItem */
+typedef struct FQIPERSlicesPerPlmnPerCellListItem {
+ FiveQI_t fiveQI;
+ long *dl_PRBUsage; /* OPTIONAL */
+ long *ul_PRBUsage; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} FQIPERSlicesPerPlmnPerCellListItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FQIPERSlicesPerPlmnPerCellListItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/FiveQI.c b/setup/xapp-sm-connector/asn1c_defs/FiveQI.c
new file mode 100644
index 0000000..15d32c9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FiveQI.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FiveQI.h"
+
+int
+FiveQI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 255)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_FiveQI_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_FiveQI_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 0, 255 } /* (0..255,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_FiveQI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_FiveQI = {
+ "FiveQI",
+ "FiveQI",
+ &asn_OP_NativeInteger,
+ asn_DEF_FiveQI_tags_1,
+ sizeof(asn_DEF_FiveQI_tags_1)
+ /sizeof(asn_DEF_FiveQI_tags_1[0]), /* 1 */
+ asn_DEF_FiveQI_tags_1, /* Same as above */
+ sizeof(asn_DEF_FiveQI_tags_1)
+ /sizeof(asn_DEF_FiveQI_tags_1[0]), /* 1 */
+ { &asn_OER_type_FiveQI_constr_1, &asn_PER_type_FiveQI_constr_1, FiveQI_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/FiveQI.h b/setup/xapp-sm-connector/asn1c_defs/FiveQI.h
new file mode 100644
index 0000000..79e7340
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/FiveQI.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _FiveQI_H_
+#define _FiveQI_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FiveQI */
+typedef long FiveQI_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_FiveQI_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_FiveQI;
+asn_struct_free_f FiveQI_free;
+asn_struct_print_f FiveQI_print;
+asn_constr_check_f FiveQI_constraint;
+ber_type_decoder_f FiveQI_decode_ber;
+der_type_encoder_f FiveQI_encode_der;
+xer_type_decoder_f FiveQI_decode_xer;
+xer_type_encoder_f FiveQI_encode_xer;
+oer_type_decoder_f FiveQI_decode_oer;
+oer_type_encoder_f FiveQI_encode_oer;
+per_type_decoder_f FiveQI_decode_uper;
+per_type_encoder_f FiveQI_encode_uper;
+per_type_decoder_f FiveQI_decode_aper;
+per_type_encoder_f FiveQI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FiveQI_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.c b/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.c
index 7fccd5d..8f960e2 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GNB-CU-UP-ID.h"
@@ -42,6 +42,9 @@ GNB_CU_UP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_GNB_CU_UP_ID_constr_1 CC_NOTUSED = {
+ { 8, 1 } /* (0..68719476735) */,
+ -1};
asn_per_constraints_t asn_PER_type_GNB_CU_UP_ID_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 36, -1, 0, 68719476735 } /* (0..68719476735) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -60,7 +63,7 @@ asn_TYPE_descriptor_t asn_DEF_GNB_CU_UP_ID = {
asn_DEF_GNB_CU_UP_ID_tags_1, /* Same as above */
sizeof(asn_DEF_GNB_CU_UP_ID_tags_1)
/sizeof(asn_DEF_GNB_CU_UP_ID_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_GNB_CU_UP_ID_constr_1, GNB_CU_UP_ID_constraint },
+ { &asn_OER_type_GNB_CU_UP_ID_constr_1, &asn_PER_type_GNB_CU_UP_ID_constr_1, GNB_CU_UP_ID_constraint },
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.h b/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.h
index 231a64e..d7df7d8 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GNB-CU-UP-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GNB_CU_UP_ID_H_
@@ -31,6 +31,8 @@ ber_type_decoder_f GNB_CU_UP_ID_decode_ber;
der_type_encoder_f GNB_CU_UP_ID_encode_der;
xer_type_decoder_f GNB_CU_UP_ID_decode_xer;
xer_type_encoder_f GNB_CU_UP_ID_encode_xer;
+oer_type_decoder_f GNB_CU_UP_ID_decode_oer;
+oer_type_encoder_f GNB_CU_UP_ID_encode_oer;
per_type_decoder_f GNB_CU_UP_ID_decode_uper;
per_type_encoder_f GNB_CU_UP_ID_encode_uper;
per_type_decoder_f GNB_CU_UP_ID_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.c b/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.c
index 76534e9..6c0940d 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GNB-DU-ID.h"
@@ -42,6 +42,9 @@ GNB_DU_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
+static asn_oer_constraints_t asn_OER_type_GNB_DU_ID_constr_1 CC_NOTUSED = {
+ { 8, 1 } /* (0..68719476735) */,
+ -1};
asn_per_constraints_t asn_PER_type_GNB_DU_ID_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 36, -1, 0, 68719476735 } /* (0..68719476735) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -60,7 +63,7 @@ asn_TYPE_descriptor_t asn_DEF_GNB_DU_ID = {
asn_DEF_GNB_DU_ID_tags_1, /* Same as above */
sizeof(asn_DEF_GNB_DU_ID_tags_1)
/sizeof(asn_DEF_GNB_DU_ID_tags_1[0]), /* 1 */
- { 0, &asn_PER_type_GNB_DU_ID_constr_1, GNB_DU_ID_constraint },
+ { &asn_OER_type_GNB_DU_ID_constr_1, &asn_PER_type_GNB_DU_ID_constr_1, GNB_DU_ID_constraint },
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.h b/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.h
index 29b510c..b0889fe 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GNB-DU-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GNB_DU_ID_H_
@@ -31,6 +31,8 @@ ber_type_decoder_f GNB_DU_ID_decode_ber;
der_type_encoder_f GNB_DU_ID_encode_der;
xer_type_decoder_f GNB_DU_ID_decode_xer;
xer_type_encoder_f GNB_DU_ID_encode_xer;
+oer_type_decoder_f GNB_DU_ID_decode_oer;
+oer_type_encoder_f GNB_DU_ID_encode_oer;
per_type_decoder_f GNB_DU_ID_decode_uper;
per_type_encoder_f GNB_DU_ID_encode_uper;
per_type_decoder_f GNB_DU_ID_decode_aper;
diff --git a/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.c b/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.c
index 538454e..085a942 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GNB-ID-Choice.h"
@@ -38,11 +38,17 @@ memb_gnb_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
}
}
+static asn_oer_constraints_t asn_OER_memb_gnb_ID_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(22..32)) */};
static asn_per_constraints_t asn_PER_memb_gnb_ID_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 4, 4, 22, 32 } /* (SIZE(22..32)) */,
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_type_GNB_ID_Choice_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
asn_per_constraints_t asn_PER_type_GNB_ID_Choice_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -54,7 +60,7 @@ asn_TYPE_member_t asn_MBR_GNB_ID_Choice_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_gnb_ID_constr_2, memb_gnb_ID_constraint_1 },
+ { &asn_OER_memb_gnb_ID_constr_2, &asn_PER_memb_gnb_ID_constr_2, memb_gnb_ID_constraint_1 },
0, 0, /* No default value */
"gnb-ID"
},
@@ -80,7 +86,7 @@ asn_TYPE_descriptor_t asn_DEF_GNB_ID_Choice = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { 0, &asn_PER_type_GNB_ID_Choice_constr_1, CHOICE_constraint },
+ { &asn_OER_type_GNB_ID_Choice_constr_1, &asn_PER_type_GNB_ID_Choice_constr_1, CHOICE_constraint },
asn_MBR_GNB_ID_Choice_1,
1, /* Elements count */
&asn_SPC_GNB_ID_Choice_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.h b/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.h
index c51b572..ec65f85 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GNB-ID-Choice.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GNB_ID_Choice_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.c
index a0c6820..13a8295 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalE2node-ID.h"
@@ -11,12 +11,15 @@
#include "GlobalE2node-en-gNB-ID.h"
#include "GlobalE2node-ng-eNB-ID.h"
#include "GlobalE2node-eNB-ID.h"
-static asn_per_constraints_t asn_PER_type_GlobalE2node_ID_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_GlobalE2node_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_GlobalE2node_ID_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_GlobalE2node_ID_1[] = {
+asn_TYPE_member_t asn_MBR_GlobalE2node_ID_1[] = {
{ ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.gNB),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
@@ -60,7 +63,7 @@ static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_ID_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* eNB */
};
-static asn_CHOICE_specifics_t asn_SPC_GlobalE2node_ID_specs_1 = {
+asn_CHOICE_specifics_t asn_SPC_GlobalE2node_ID_specs_1 = {
sizeof(struct GlobalE2node_ID),
offsetof(struct GlobalE2node_ID, _asn_ctx),
offsetof(struct GlobalE2node_ID, present),
@@ -78,7 +81,7 @@ asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ID = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { 0, &asn_PER_type_GlobalE2node_ID_constr_1, CHOICE_constraint },
+ { &asn_OER_type_GlobalE2node_ID_constr_1, &asn_PER_type_GlobalE2node_ID_constr_1, CHOICE_constraint },
asn_MBR_GlobalE2node_ID_1,
4, /* Elements count */
&asn_SPC_GlobalE2node_ID_specs_1 /* Additional specs */
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.h
index 7868eb7..843e1c2 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalE2node_ID_H_
@@ -55,6 +55,9 @@ typedef struct GlobalE2node_ID {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ID;
+extern asn_CHOICE_specifics_t asn_SPC_GlobalE2node_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalE2node_ID_1[4];
+extern asn_per_constraints_t asn_PER_type_GlobalE2node_ID_constr_1;
#ifdef __cplusplus
}
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.c
index 14513f5..7cb93f1 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalE2node-eNB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.h
index 779350e..c92e774 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-eNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalE2node_eNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.c
index c0b3768..6444325 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalE2node-en-gNB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.h
index 19e5500..b13588a 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-en-gNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalE2node_en_gNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.c
index 518e0f3..31bf024 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalE2node-gNB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.h
index f31f72b..a2121b9 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-gNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalE2node_gNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.c
index 58b345f..b3bb491 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalE2node-ng-eNB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.h
index bac3c1a..7a3e0f5 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalE2node-ng-eNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalE2node_ng_eNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.c
index 781c474..9c34820 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalENB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.h
index bd2c018..2b6cf1c 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalENB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalENB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ID.c
new file mode 100644
index 0000000..409a975
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ID.c
@@ -0,0 +1,89 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "GlobalKPMnode-ID.h"
+
+#include "GlobalKPMnode-gNB-ID.h"
+#include "GlobalKPMnode-en-gNB-ID.h"
+#include "GlobalKPMnode-ng-eNB-ID.h"
+#include "GlobalKPMnode-eNB-ID.h"
+static asn_oer_constraints_t asn_OER_type_GlobalKPMnode_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_GlobalKPMnode_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_GlobalKPMnode_ID_1[] = {
+ { ATF_POINTER, 0, offsetof(struct GlobalKPMnode_ID, choice.gNB),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalKPMnode_gNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB"
+ },
+ { ATF_POINTER, 0, offsetof(struct GlobalKPMnode_ID, choice.en_gNB),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalKPMnode_en_gNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "en-gNB"
+ },
+ { ATF_POINTER, 0, offsetof(struct GlobalKPMnode_ID, choice.ng_eNB),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalKPMnode_ng_eNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ng-eNB"
+ },
+ { ATF_POINTER, 0, offsetof(struct GlobalKPMnode_ID, choice.eNB),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalKPMnode_eNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eNB"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* eNB */
+};
+asn_CHOICE_specifics_t asn_SPC_GlobalKPMnode_ID_specs_1 = {
+ sizeof(struct GlobalKPMnode_ID),
+ offsetof(struct GlobalKPMnode_ID, _asn_ctx),
+ offsetof(struct GlobalKPMnode_ID, present),
+ sizeof(((struct GlobalKPMnode_ID *)0)->present),
+ asn_MAP_GlobalKPMnode_ID_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0, 0,
+ 4 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ID = {
+ "GlobalKPMnode-ID",
+ "GlobalKPMnode-ID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_GlobalKPMnode_ID_constr_1, &asn_PER_type_GlobalKPMnode_ID_constr_1, CHOICE_constraint },
+ asn_MBR_GlobalKPMnode_ID_1,
+ 4, /* Elements count */
+ &asn_SPC_GlobalKPMnode_ID_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ID.h
new file mode 100644
index 0000000..609c68f
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ID.h
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _GlobalKPMnode_ID_H_
+#define _GlobalKPMnode_ID_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GlobalKPMnode_ID_PR {
+ GlobalKPMnode_ID_PR_NOTHING, /* No components present */
+ GlobalKPMnode_ID_PR_gNB,
+ GlobalKPMnode_ID_PR_en_gNB,
+ GlobalKPMnode_ID_PR_ng_eNB,
+ GlobalKPMnode_ID_PR_eNB
+ /* Extensions may appear below */
+
+} GlobalKPMnode_ID_PR;
+
+/* Forward declarations */
+struct GlobalKPMnode_gNB_ID;
+struct GlobalKPMnode_en_gNB_ID;
+struct GlobalKPMnode_ng_eNB_ID;
+struct GlobalKPMnode_eNB_ID;
+
+/* GlobalKPMnode-ID */
+typedef struct GlobalKPMnode_ID {
+ GlobalKPMnode_ID_PR present;
+ union GlobalKPMnode_ID_u {
+ struct GlobalKPMnode_gNB_ID *gNB;
+ struct GlobalKPMnode_en_gNB_ID *en_gNB;
+ struct GlobalKPMnode_ng_eNB_ID *ng_eNB;
+ struct GlobalKPMnode_eNB_ID *eNB;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} GlobalKPMnode_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ID;
+extern asn_CHOICE_specifics_t asn_SPC_GlobalKPMnode_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_ID_1[4];
+extern asn_per_constraints_t asn_PER_type_GlobalKPMnode_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalKPMnode_ID_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-eNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-eNB-ID.c
new file mode 100644
index 0000000..712b6ee
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-eNB-ID.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "GlobalKPMnode-eNB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalKPMnode_eNB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_eNB_ID, global_eNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-eNB-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_eNB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_eNB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-eNB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_eNB_ID_specs_1 = {
+ sizeof(struct GlobalKPMnode_eNB_ID),
+ offsetof(struct GlobalKPMnode_eNB_ID, _asn_ctx),
+ asn_MAP_GlobalKPMnode_eNB_ID_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_GlobalKPMnode_eNB_ID = {
+ "GlobalKPMnode-eNB-ID",
+ "GlobalKPMnode-eNB-ID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GlobalKPMnode_eNB_ID_tags_1,
+ sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1[0]), /* 1 */
+ asn_DEF_GlobalKPMnode_eNB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GlobalKPMnode_eNB_ID_1,
+ 1, /* Elements count */
+ &asn_SPC_GlobalKPMnode_eNB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-eNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-eNB-ID.h
new file mode 100644
index 0000000..778a011
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-eNB-ID.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _GlobalKPMnode_eNB_ID_H_
+#define _GlobalKPMnode_eNB_ID_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "GlobalENB-ID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GlobalKPMnode-eNB-ID */
+typedef struct GlobalKPMnode_eNB_ID {
+ GlobalENB_ID_t global_eNB_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} GlobalKPMnode_eNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_eNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_eNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_eNB_ID_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalKPMnode_eNB_ID_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-en-gNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-en-gNB-ID.c
new file mode 100644
index 0000000..4ab0526
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-en-gNB-ID.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "GlobalKPMnode-en-gNB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalKPMnode_en_gNB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_en_gNB_ID, global_gNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalenGNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-gNB-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct GlobalKPMnode_en_gNB_ID, gNB_CU_UP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_UP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UP-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct GlobalKPMnode_en_gNB_ID, gNB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_DU_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-DU-ID"
+ },
+};
+static const int asn_MAP_GlobalKPMnode_en_gNB_ID_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_en_gNB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-gNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-CU-UP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1 = {
+ sizeof(struct GlobalKPMnode_en_gNB_ID),
+ offsetof(struct GlobalKPMnode_en_gNB_ID, _asn_ctx),
+ asn_MAP_GlobalKPMnode_en_gNB_ID_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_GlobalKPMnode_en_gNB_ID_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_en_gNB_ID = {
+ "GlobalKPMnode-en-gNB-ID",
+ "GlobalKPMnode-en-gNB-ID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1,
+ sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[0]), /* 1 */
+ asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GlobalKPMnode_en_gNB_ID_1,
+ 3, /* Elements count */
+ &asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-en-gNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-en-gNB-ID.h
new file mode 100644
index 0000000..54203fa
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-en-gNB-ID.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _GlobalKPMnode_en_gNB_ID_H_
+#define _GlobalKPMnode_en_gNB_ID_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "GlobalenGNB-ID.h"
+#include "GNB-CU-UP-ID.h"
+#include "GNB-DU-ID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GlobalKPMnode-en-gNB-ID */
+typedef struct GlobalKPMnode_en_gNB_ID {
+ GlobalenGNB_ID_t global_gNB_ID;
+ GNB_CU_UP_ID_t *gNB_CU_UP_ID; /* OPTIONAL */
+ GNB_DU_ID_t *gNB_DU_ID; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} GlobalKPMnode_en_gNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_en_gNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_en_gNB_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalKPMnode_en_gNB_ID_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-gNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-gNB-ID.c
new file mode 100644
index 0000000..20cb2b3
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-gNB-ID.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "GlobalKPMnode-gNB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalKPMnode_gNB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_gNB_ID, global_gNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalgNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-gNB-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct GlobalKPMnode_gNB_ID, gNB_CU_UP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_UP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UP-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct GlobalKPMnode_gNB_ID, gNB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_DU_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-DU-ID"
+ },
+};
+static const int asn_MAP_GlobalKPMnode_gNB_ID_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_gNB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_gNB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-gNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-CU-UP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_gNB_ID_specs_1 = {
+ sizeof(struct GlobalKPMnode_gNB_ID),
+ offsetof(struct GlobalKPMnode_gNB_ID, _asn_ctx),
+ asn_MAP_GlobalKPMnode_gNB_ID_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_GlobalKPMnode_gNB_ID_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_gNB_ID = {
+ "GlobalKPMnode-gNB-ID",
+ "GlobalKPMnode-gNB-ID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GlobalKPMnode_gNB_ID_tags_1,
+ sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1[0]), /* 1 */
+ asn_DEF_GlobalKPMnode_gNB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GlobalKPMnode_gNB_ID_1,
+ 3, /* Elements count */
+ &asn_SPC_GlobalKPMnode_gNB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-gNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-gNB-ID.h
new file mode 100644
index 0000000..e8febde
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-gNB-ID.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _GlobalKPMnode_gNB_ID_H_
+#define _GlobalKPMnode_gNB_ID_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "GlobalgNB-ID.h"
+#include "GNB-CU-UP-ID.h"
+#include "GNB-DU-ID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GlobalKPMnode-gNB-ID */
+typedef struct GlobalKPMnode_gNB_ID {
+ GlobalgNB_ID_t global_gNB_ID;
+ GNB_CU_UP_ID_t *gNB_CU_UP_ID; /* OPTIONAL */
+ GNB_DU_ID_t *gNB_DU_ID; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} GlobalKPMnode_gNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_gNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_gNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_gNB_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalKPMnode_gNB_ID_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ng-eNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ng-eNB-ID.c
new file mode 100644
index 0000000..54048ea
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ng-eNB-ID.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "GlobalKPMnode-ng-eNB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalKPMnode_ng_eNB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ng_eNB_ID, global_ng_eNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalngeNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-ng-eNB-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct GlobalKPMnode_ng_eNB_ID, gNB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_DU_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-DU-ID"
+ },
+};
+static const int asn_MAP_GlobalKPMnode_ng_eNB_ID_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_ng_eNB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-ng-eNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1 = {
+ sizeof(struct GlobalKPMnode_ng_eNB_ID),
+ offsetof(struct GlobalKPMnode_ng_eNB_ID, _asn_ctx),
+ asn_MAP_GlobalKPMnode_ng_eNB_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_GlobalKPMnode_ng_eNB_ID_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ng_eNB_ID = {
+ "GlobalKPMnode-ng-eNB-ID",
+ "GlobalKPMnode-ng-eNB-ID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1,
+ sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[0]), /* 1 */
+ asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GlobalKPMnode_ng_eNB_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ng-eNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ng-eNB-ID.h
new file mode 100644
index 0000000..d2d604b
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalKPMnode-ng-eNB-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _GlobalKPMnode_ng_eNB_ID_H_
+#define _GlobalKPMnode_ng_eNB_ID_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "GlobalngeNB-ID.h"
+#include "GNB-DU-ID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GlobalKPMnode-ng-eNB-ID */
+typedef struct GlobalKPMnode_ng_eNB_ID {
+ GlobalngeNB_ID_t global_ng_eNB_ID;
+ GNB_DU_ID_t *gNB_DU_ID; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} GlobalKPMnode_ng_eNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ng_eNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_ng_eNB_ID_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalKPMnode_ng_eNB_ID_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.c
index 327ab7a..c027c79 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalRIC-ID.h"
@@ -38,12 +38,15 @@ memb_ric_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
}
}
+static asn_oer_constraints_t asn_OER_memb_ric_ID_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ 20 /* (SIZE(20..20)) */};
static asn_per_constraints_t asn_PER_memb_ric_ID_constr_3 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */,
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_GlobalRIC_ID_1[] = {
+asn_TYPE_member_t asn_MBR_GlobalRIC_ID_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct GlobalRIC_ID, pLMN_Identity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
@@ -58,7 +61,7 @@ static asn_TYPE_member_t asn_MBR_GlobalRIC_ID_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
0,
- { 0, &asn_PER_memb_ric_ID_constr_3, memb_ric_ID_constraint_1 },
+ { &asn_OER_memb_ric_ID_constr_3, &asn_PER_memb_ric_ID_constr_3, memb_ric_ID_constraint_1 },
0, 0, /* No default value */
"ric-ID"
},
@@ -70,7 +73,7 @@ static const asn_TYPE_tag2member_t asn_MAP_GlobalRIC_ID_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ric-ID */
};
-static asn_SEQUENCE_specifics_t asn_SPC_GlobalRIC_ID_specs_1 = {
+asn_SEQUENCE_specifics_t asn_SPC_GlobalRIC_ID_specs_1 = {
sizeof(struct GlobalRIC_ID),
offsetof(struct GlobalRIC_ID, _asn_ctx),
asn_MAP_GlobalRIC_ID_tag2el_1,
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.h
index 2e53f41..ad389c3 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalRIC-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalRIC_ID_H_
@@ -35,6 +35,8 @@ typedef struct GlobalRIC_ID {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_GlobalRIC_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalRIC_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalRIC_ID_1[2];
#ifdef __cplusplus
}
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.c
index f97c722..2599aae 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalenGNB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.h
index e6e8ae8..7df68b1 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalenGNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalenGNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.c
index 318370f..2150089 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalgNB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.h
index 52efce0..242edf2 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalgNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalgNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.c b/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.c
index 650ae98..97d1f41 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.c
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "GlobalngeNB-ID.h"
diff --git a/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.h b/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.h
index 177a467..8aba4cc 100644
--- a/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.h
+++ b/setup/xapp-sm-connector/asn1c_defs/GlobalngeNB-ID.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-IEs-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _GlobalngeNB_ID_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/GranularityPeriod.c b/setup/xapp-sm-connector/asn1c_defs/GranularityPeriod.c
new file mode 100644
index 0000000..974e426
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GranularityPeriod.c
@@ -0,0 +1,31 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "GranularityPeriod.h"
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static const ber_tlv_tag_t asn_DEF_GranularityPeriod_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_GranularityPeriod = {
+ "GranularityPeriod",
+ "GranularityPeriod",
+ &asn_OP_NativeInteger,
+ asn_DEF_GranularityPeriod_tags_1,
+ sizeof(asn_DEF_GranularityPeriod_tags_1)
+ /sizeof(asn_DEF_GranularityPeriod_tags_1[0]), /* 1 */
+ asn_DEF_GranularityPeriod_tags_1, /* Same as above */
+ sizeof(asn_DEF_GranularityPeriod_tags_1)
+ /sizeof(asn_DEF_GranularityPeriod_tags_1[0]), /* 1 */
+ { 0, 0, NativeInteger_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/GranularityPeriod.h b/setup/xapp-sm-connector/asn1c_defs/GranularityPeriod.h
new file mode 100644
index 0000000..4ac6358
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/GranularityPeriod.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _GranularityPeriod_H_
+#define _GranularityPeriod_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GranularityPeriod */
+typedef long GranularityPeriod_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GranularityPeriod;
+asn_struct_free_f GranularityPeriod_free;
+asn_struct_print_f GranularityPeriod_print;
+asn_constr_check_f GranularityPeriod_constraint;
+ber_type_decoder_f GranularityPeriod_decode_ber;
+der_type_encoder_f GranularityPeriod_encode_der;
+xer_type_decoder_f GranularityPeriod_decode_xer;
+xer_type_encoder_f GranularityPeriod_encode_xer;
+oer_type_decoder_f GranularityPeriod_decode_oer;
+oer_type_encoder_f GranularityPeriod_encode_oer;
+per_type_decoder_f GranularityPeriod_decode_uper;
+per_type_encoder_f GranularityPeriod_encode_uper;
+per_type_decoder_f GranularityPeriod_decode_aper;
+per_type_encoder_f GranularityPeriod_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GranularityPeriod_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/INTEGER_oer.c b/setup/xapp-sm-connector/asn1c_defs/INTEGER_oer.c
new file mode 100644
index 0000000..110689b
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/INTEGER_oer.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef ASN_DISABLE_OER_SUPPORT
+
+#include
+#include
+#include
+
+asn_dec_rval_t
+INTEGER_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
+ const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints, void **sptr,
+ const void *ptr, size_t size) {
+ const asn_INTEGER_specifics_t *specs =
+ (const asn_INTEGER_specifics_t *)td->specifics;
+ asn_dec_rval_t rval = {RC_OK, 0};
+ INTEGER_t *st = (INTEGER_t *)*sptr;
+ struct asn_oer_constraint_number_s ct = {0, 0};
+ size_t req_bytes;
+
+ (void)opt_codec_ctx;
+ (void)specs;
+
+ if(!st) {
+ st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st)));
+ if(!st) ASN__DECODE_FAILED;
+ }
+
+ FREEMEM(st->buf);
+ st->buf = 0;
+ st->size = 0;
+
+ if(!constraints) constraints = td->encoding_constraints.oer_constraints;
+ if(constraints) ct = constraints->value;
+
+ if(ct.width) {
+ req_bytes = ct.width;
+ } else {
+ /* No lower bound and no upper bound, effectively */
+
+ ssize_t consumed = oer_fetch_length(ptr, size, &req_bytes);
+ if(consumed == 0) {
+ ASN__DECODE_STARVED;
+ } else if(consumed == -1) {
+ ASN__DECODE_FAILED;
+ }
+ rval.consumed += consumed;
+ ptr = (const char *)ptr + consumed;
+ size -= consumed;
+ }
+
+ if(req_bytes > size) {
+ ASN__DECODE_STARVED;
+ }
+
+ if(ct.positive) {
+ /* X.969 08/2015 10.2(a) */
+ unsigned msb; /* Most significant bit */
+ size_t useful_size;
+
+ /* Check most significant bit */
+ msb = *(const uint8_t *)ptr >> 7; /* yields 0 or 1 */
+ useful_size = msb + req_bytes;
+ st->buf = (uint8_t *)MALLOC(useful_size + 1);
+ if(!st->buf) {
+ ASN__DECODE_FAILED;
+ }
+
+ /*
+ * Record a large unsigned in a way not to confuse it
+ * with signed value.
+ */
+ st->buf[0] = '\0';
+ memcpy(st->buf + msb, ptr, req_bytes);
+ st->buf[useful_size] = '\0'; /* Just in case, 0-terminate */
+ st->size = useful_size;
+
+ rval.consumed += req_bytes;
+ return rval;
+ } else {
+ /* X.969 08/2015 10.2(b) */
+ st->buf = (uint8_t *)MALLOC(req_bytes + 1);
+ if(!st->buf) {
+ ASN__DECODE_FAILED;
+ }
+
+ memcpy(st->buf, ptr, req_bytes);
+ st->buf[req_bytes] = '\0'; /* Just in case, 0-terminate */
+ st->size = req_bytes;
+
+ rval.consumed += req_bytes;
+ return rval;
+ }
+}
+
+/*
+ * Encode as Canonical OER.
+ */
+asn_enc_rval_t
+INTEGER_encode_oer(const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints, const void *sptr,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ const INTEGER_t *st = sptr;
+ asn_enc_rval_t er = {0,0,0};
+ struct asn_oer_constraint_number_s ct = {0, 0};
+ const uint8_t *buf;
+ const uint8_t *end;
+ size_t useful_bytes;
+ size_t req_bytes = 0;
+ int sign = 0;
+
+ if(!st || st->size == 0) ASN__ENCODE_FAILED;
+
+ if(!constraints) constraints = td->encoding_constraints.oer_constraints;
+ if(constraints) ct = constraints->value;
+
+ er.encoded = 0;
+
+ buf = st->buf;
+ end = buf + st->size;
+
+ sign = (buf && buf < end) ? buf[0] & 0x80 : 0;
+
+ /* Ignore 9 leading zeroes or ones */
+ if(ct.positive) {
+ if(sign) {
+ /* The value given is a signed value. Can't proceed. */
+ ASN__ENCODE_FAILED;
+ }
+ /* Remove leading zeros. */
+ for(; buf + 1 < end; buf++) {
+ if(buf[0] != 0x0) break;
+ }
+ } else {
+ for(; buf + 1 < end; buf++) {
+ if(buf[0] == 0x0 && (buf[1] & 0x80) == 0) {
+ continue;
+ } else if(buf[0] == 0xff && (buf[1] & 0x80) != 0) {
+ continue;
+ }
+ break;
+ }
+ }
+
+ useful_bytes = end - buf;
+ if(ct.width) {
+ req_bytes = ct.width;
+ } else {
+ ssize_t r = oer_serialize_length(useful_bytes, cb, app_key);
+ if(r < 0) {
+ ASN__ENCODE_FAILED;
+ }
+ er.encoded += r;
+ req_bytes = useful_bytes;
+ }
+
+ if(req_bytes < useful_bytes) {
+ ASN__ENCODE_FAILED;
+ }
+
+ er.encoded += req_bytes;
+
+ for(; req_bytes > useful_bytes; req_bytes--) {
+ if(cb(sign?"\xff":"\0", 1, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+ }
+
+ if(cb(buf, useful_bytes, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+
+ ASN__ENCODED_OK(er);
+}
+
+#endif /* ASN_DISABLE_OER_SUPPORT */
diff --git a/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.c b/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.c
index 9c34727..6a6bfdb 100644
--- a/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.c
+++ b/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.c
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Descriptions-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "InitiatingMessage.h"
@@ -192,16 +192,25 @@ memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
+static asn_oer_constraints_t asn_OER_memb_procedureCode_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (0..255) */,
+ -1};
static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
+static asn_oer_constraints_t asn_OER_memb_value_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
@@ -332,7 +341,7 @@ asn_TYPE_member_t asn_MBR_InitiatingMessage_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProcedureCode,
0,
- { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 },
+ { &asn_OER_memb_procedureCode_constr_2, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 },
0, 0, /* No default value */
"procedureCode"
},
@@ -341,7 +350,7 @@ asn_TYPE_member_t asn_MBR_InitiatingMessage_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_Criticality,
select_InitiatingMessage_criticality_type,
- { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 },
+ { &asn_OER_memb_criticality_constr_3, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 },
0, 0, /* No default value */
"criticality"
},
@@ -350,7 +359,7 @@ asn_TYPE_member_t asn_MBR_InitiatingMessage_1[] = {
+1, /* EXPLICIT tag at current level */
&asn_DEF_value_4,
select_InitiatingMessage_value_type,
- { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 },
+ { &asn_OER_memb_value_constr_4, &asn_PER_memb_value_constr_4, memb_value_constraint_1 },
0, 0, /* No default value */
"value"
},
diff --git a/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.h b/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.h
index 1072067..fd10bc7 100644
--- a/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.h
+++ b/setup/xapp-sm-connector/asn1c_defs/InitiatingMessage.h
@@ -1,8 +1,8 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "/home/sjana/ASN-Defns/e2ap-oran-wg3-v01.00.asn"
- * `asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
+ * found in "E2AP-PDU-Descriptions-v01.00.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#ifndef _InitiatingMessage_H_
diff --git a/setup/xapp-sm-connector/asn1c_defs/L3-RRC-Measurements.c b/setup/xapp-sm-connector/asn1c_defs/L3-RRC-Measurements.c
new file mode 100644
index 0000000..df7009d
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/L3-RRC-Measurements.c
@@ -0,0 +1,74 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "L3-RRC-Measurements.h"
+
+#include "ServingCellMeasurements.h"
+#include "MeasResultNeighCells.h"
+asn_TYPE_member_t asn_MBR_L3_RRC_Measurements_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct L3_RRC_Measurements, rrcEvent),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RRCEvent,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rrcEvent"
+ },
+ { ATF_POINTER, 2, offsetof(struct L3_RRC_Measurements, servingCellMeasurements),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ServingCellMeasurements,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "servingCellMeasurements"
+ },
+ { ATF_POINTER, 1, offsetof(struct L3_RRC_Measurements, measResultNeighCells),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_MeasResultNeighCells,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measResultNeighCells"
+ },
+};
+static const int asn_MAP_L3_RRC_Measurements_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_L3_RRC_Measurements_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_L3_RRC_Measurements_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rrcEvent */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servingCellMeasurements */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* measResultNeighCells */
+};
+asn_SEQUENCE_specifics_t asn_SPC_L3_RRC_Measurements_specs_1 = {
+ sizeof(struct L3_RRC_Measurements),
+ offsetof(struct L3_RRC_Measurements, _asn_ctx),
+ asn_MAP_L3_RRC_Measurements_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_L3_RRC_Measurements_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_L3_RRC_Measurements = {
+ "L3-RRC-Measurements",
+ "L3-RRC-Measurements",
+ &asn_OP_SEQUENCE,
+ asn_DEF_L3_RRC_Measurements_tags_1,
+ sizeof(asn_DEF_L3_RRC_Measurements_tags_1)
+ /sizeof(asn_DEF_L3_RRC_Measurements_tags_1[0]), /* 1 */
+ asn_DEF_L3_RRC_Measurements_tags_1, /* Same as above */
+ sizeof(asn_DEF_L3_RRC_Measurements_tags_1)
+ /sizeof(asn_DEF_L3_RRC_Measurements_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_L3_RRC_Measurements_1,
+ 3, /* Elements count */
+ &asn_SPC_L3_RRC_Measurements_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/L3-RRC-Measurements.h b/setup/xapp-sm-connector/asn1c_defs/L3-RRC-Measurements.h
new file mode 100644
index 0000000..eb51c5c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/L3-RRC-Measurements.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _L3_RRC_Measurements_H_
+#define _L3_RRC_Measurements_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "RRCEvent.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ServingCellMeasurements;
+struct MeasResultNeighCells;
+
+/* L3-RRC-Measurements */
+typedef struct L3_RRC_Measurements {
+ RRCEvent_t rrcEvent;
+ struct ServingCellMeasurements *servingCellMeasurements; /* OPTIONAL */
+ struct MeasResultNeighCells *measResultNeighCells; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} L3_RRC_Measurements_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_L3_RRC_Measurements;
+extern asn_SEQUENCE_specifics_t asn_SPC_L3_RRC_Measurements_specs_1;
+extern asn_TYPE_member_t asn_MBR_L3_RRC_Measurements_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _L3_RRC_Measurements_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/LabelInfoItem.c b/setup/xapp-sm-connector/asn1c_defs/LabelInfoItem.c
new file mode 100644
index 0000000..f8c566c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/LabelInfoItem.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "LabelInfoItem.h"
+
+asn_TYPE_member_t asn_MBR_LabelInfoItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct LabelInfoItem, measLabel),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementLabel,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measLabel"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_LabelInfoItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_LabelInfoItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* measLabel */
+};
+asn_SEQUENCE_specifics_t asn_SPC_LabelInfoItem_specs_1 = {
+ sizeof(struct LabelInfoItem),
+ offsetof(struct LabelInfoItem, _asn_ctx),
+ asn_MAP_LabelInfoItem_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_LabelInfoItem = {
+ "LabelInfoItem",
+ "LabelInfoItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_LabelInfoItem_tags_1,
+ sizeof(asn_DEF_LabelInfoItem_tags_1)
+ /sizeof(asn_DEF_LabelInfoItem_tags_1[0]), /* 1 */
+ asn_DEF_LabelInfoItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_LabelInfoItem_tags_1)
+ /sizeof(asn_DEF_LabelInfoItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_LabelInfoItem_1,
+ 1, /* Elements count */
+ &asn_SPC_LabelInfoItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/LabelInfoItem.h b/setup/xapp-sm-connector/asn1c_defs/LabelInfoItem.h
new file mode 100644
index 0000000..4641dcb
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/LabelInfoItem.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _LabelInfoItem_H_
+#define _LabelInfoItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "MeasurementLabel.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LabelInfoItem */
+typedef struct LabelInfoItem {
+ MeasurementLabel_t measLabel;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} LabelInfoItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LabelInfoItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_LabelInfoItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_LabelInfoItem_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LabelInfoItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/LabelInfoList.c b/setup/xapp-sm-connector/asn1c_defs/LabelInfoList.c
new file mode 100644
index 0000000..aea5bea
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/LabelInfoList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "LabelInfoList.h"
+
+#include "LabelInfoItem.h"
+static asn_oer_constraints_t asn_OER_type_LabelInfoList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..2147483647)) */};
+asn_per_constraints_t asn_PER_type_LabelInfoList_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_LabelInfoList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_LabelInfoItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_LabelInfoList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_LabelInfoList_specs_1 = {
+ sizeof(struct LabelInfoList),
+ offsetof(struct LabelInfoList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_LabelInfoList = {
+ "LabelInfoList",
+ "LabelInfoList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_LabelInfoList_tags_1,
+ sizeof(asn_DEF_LabelInfoList_tags_1)
+ /sizeof(asn_DEF_LabelInfoList_tags_1[0]), /* 1 */
+ asn_DEF_LabelInfoList_tags_1, /* Same as above */
+ sizeof(asn_DEF_LabelInfoList_tags_1)
+ /sizeof(asn_DEF_LabelInfoList_tags_1[0]), /* 1 */
+ { &asn_OER_type_LabelInfoList_constr_1, &asn_PER_type_LabelInfoList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_LabelInfoList_1,
+ 1, /* Single element */
+ &asn_SPC_LabelInfoList_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/LabelInfoList.h b/setup/xapp-sm-connector/asn1c_defs/LabelInfoList.h
new file mode 100644
index 0000000..3f4437d
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/LabelInfoList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _LabelInfoList_H_
+#define _LabelInfoList_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct LabelInfoItem;
+
+/* LabelInfoList */
+typedef struct LabelInfoList {
+ A_SEQUENCE_OF(struct LabelInfoItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} LabelInfoList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LabelInfoList;
+extern asn_SET_OF_specifics_t asn_SPC_LabelInfoList_specs_1;
+extern asn_TYPE_member_t asn_MBR_LabelInfoList_1[1];
+extern asn_per_constraints_t asn_PER_type_LabelInfoList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LabelInfoList_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/Makefile.am.asn1convert b/setup/xapp-sm-connector/asn1c_defs/Makefile.am.asn1convert
new file mode 100644
index 0000000..ec2cb71
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/Makefile.am.asn1convert
@@ -0,0 +1,14 @@
+include ./Makefile.am.libasncodec
+
+bin_PROGRAMS += asn1convert
+asn1convert_CFLAGS = $(ASN_MODULE_CFLAGS) -DASN_PDU_COLLECTION
+asn1convert_CPPFLAGS = -I$(top_srcdir)/./
+asn1convert_LDADD = libasncodec.la
+asn1convert_SOURCES = \
+ ./converter-example.c\
+ ./pdu_collection.c
+regen: regenerate-from-asn1-source
+
+regenerate-from-asn1-source:
+ asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -D . e2sm-kpm-rc.asn
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/Makefile.am.libasncodec b/setup/xapp-sm-connector/asn1c_defs/Makefile.am.libasncodec
new file mode 100644
index 0000000..5493495
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/Makefile.am.libasncodec
@@ -0,0 +1,344 @@
+ASN_MODULE_SRCS= \
+ ./Criticality.c \
+ ./Presence.c \
+ ./ProcedureCode.c \
+ ./ProtocolIE-ID.c \
+ ./TriggeringMessage.c \
+ ./E2SM-KPM-RANFunctionDefinition.c \
+ ./RIC-ReportStyle-Item.c \
+ ./E2SM-KPM-ActionDefinition.c \
+ ./E2SM-KPM-ActionDefinition-Format1.c \
+ ./E2SM-KPM-IndicationHeader.c \
+ ./E2SM-KPM-IndicationHeader-Format1.c \
+ ./E2SM-KPM-IndicationMessage.c \
+ ./E2SM-KPM-IndicationMessage-Format1.c \
+ ./PM-Containers-Item.c \
+ ./PerUE-PM-Item.c \
+ ./PM-Info-Item.c \
+ ./PF-Container.c \
+ ./ODU-PF-Container.c \
+ ./CellResourceReportListItem.c \
+ ./ServedPlmnPerCellListItem.c \
+ ./FGC-DU-PM-Container.c \
+ ./SlicePerPlmnPerCellListItem.c \
+ ./FQIPERSlicesPerPlmnPerCellListItem.c \
+ ./EPC-DU-PM-Container.c \
+ ./PerQCIReportListItem.c \
+ ./OCUCP-PF-Container.c \
+ ./OCUUP-PF-Container.c \
+ ./PF-ContainerListItem.c \
+ ./CUUPMeasurement-Container.c \
+ ./PlmnID-Item.c \
+ ./FGC-CUUP-PM-Format.c \
+ ./SliceToReportListItem.c \
+ ./FQIPERSlicesPerPlmnListItem.c \
+ ./EPC-CUUP-PM-Format.c \
+ ./PerQCIReportListItemFormat.c \
+ ./MeasurementValue.c \
+ ./L3-RRC-Measurements.c \
+ ./RRCEvent.c \
+ ./ServingCellMeasurements.c \
+ ./MeasResultServMOList.c \
+ ./MeasResultServMO.c \
+ ./MeasResultNR.c \
+ ./MeasResultListEUTRA.c \
+ ./MeasResultEUTRA.c \
+ ./MeasResultPCell.c \
+ ./MeasResultNeighCells.c \
+ ./MeasResultListNR.c \
+ ./PhysCellId.c \
+ ./ServCellIndex.c \
+ ./MeasQuantityResults.c \
+ ./MeasQuantityResultsEUTRA.c \
+ ./RSRP-RangeEUTRA.c \
+ ./RSRQ-RangeEUTRA.c \
+ ./SINR-RangeEUTRA.c \
+ ./ResultsPerSSB-IndexList.c \
+ ./ResultsPerSSB-Index.c \
+ ./ResultsPerCSI-RS-IndexList.c \
+ ./ResultsPerCSI-RS-Index.c \
+ ./SSB-Index.c \
+ ./CSI-RS-Index.c \
+ ./RSRP-Range.c \
+ ./RSRQ-Range.c \
+ ./SINR-Range.c \
+ ./TimeStamp.c \
+ ./CellObjectID.c \
+ ./MeasurementInfoList.c \
+ ./MeasurementInfoItem.c \
+ ./MeasurementType.c \
+ ./NRCGI.c \
+ ./NRCellIdentity.c \
+ ./S-NSSAI.c \
+ ./MeasurementTypeName.c \
+ ./MeasurementTypeID.c \
+ ./FiveQI.c \
+ ./QCI.c \
+ ./NI-Type.c \
+ ./RAN-Container.c \
+ ./E2SM-RC-RANFunctionDefinition.c \
+ ./RANfunction-Name.c \
+ ./RIC-EventTriggerStyle-Item.c \
+ ./RIC-ControlStyle-Item.c \
+ ./RIC-ControlAction-Item.c \
+ ./RAN-ControlParameter-Item.c \
+ ./E2SM-RC-ControlHeader.c \
+ ./E2SM-RC-ControlHeader-Format1.c \
+ ./E2SM-RC-ControlMessage.c \
+ ./E2SM-RC-ControlMessage-Format1.c \
+ ./RANParameter-Item.c \
+ ./RANParameter-ValueType.c \
+ ./RANParameter-ELEMENT.c \
+ ./RANParameter-STRUCTURE.c \
+ ./RANParameter-LIST.c \
+ ./RANParameter-Value.c \
+ ./UE-Identity.c \
+ ./RIC-Style-Type.c \
+ ./RIC-Style-Name.c \
+ ./RIC-Format-Type.c \
+ ./RANParameter-ID.c \
+ ./RANParameter-Name.c \
+ ./RIC-ControlAction-ID.c \
+ ./RIC-ControlAction-Name.c \
+ ./E2SM-KPM-EventTriggerDefinition.c \
+ ./E2SM-KPM-EventTriggerDefinition-Format1.c \
+ ./Trigger-ConditionIE-Item.c \
+ ./RT-Period-IE.c \
+ ./RANcallProcess-ID-string.c \
+ ./PLMN-Identity.c \
+ ./GlobalE2node-ID.c \
+ ./GlobalE2node-en-gNB-ID.c \
+ ./GlobalE2node-eNB-ID.c \
+ ./GlobalE2node-gNB-ID.c \
+ ./GlobalE2node-ng-eNB-ID.c \
+ ./GlobalENB-ID.c \
+ ./GlobalenGNB-ID.c \
+ ./GlobalgNB-ID.c \
+ ./GlobalngeNB-ID.c \
+ ./GNB-ID-Choice.c \
+ ./ENB-ID-Choice.c \
+ ./ENB-ID.c \
+ ./ENGNB-ID.c \
+ ./GNB-CU-UP-ID.c \
+ ./GNB-DU-ID.c
+
+ASN_MODULE_HDRS= \
+ ./Criticality.h \
+ ./Presence.h \
+ ./ProcedureCode.h \
+ ./ProtocolIE-ID.h \
+ ./TriggeringMessage.h \
+ ./E2SM-KPM-RANFunctionDefinition.h \
+ ./RIC-ReportStyle-Item.h \
+ ./E2SM-KPM-ActionDefinition.h \
+ ./E2SM-KPM-ActionDefinition-Format1.h \
+ ./E2SM-KPM-IndicationHeader.h \
+ ./E2SM-KPM-IndicationHeader-Format1.h \
+ ./E2SM-KPM-IndicationMessage.h \
+ ./E2SM-KPM-IndicationMessage-Format1.h \
+ ./PM-Containers-Item.h \
+ ./PerUE-PM-Item.h \
+ ./PM-Info-Item.h \
+ ./PF-Container.h \
+ ./ODU-PF-Container.h \
+ ./CellResourceReportListItem.h \
+ ./ServedPlmnPerCellListItem.h \
+ ./FGC-DU-PM-Container.h \
+ ./SlicePerPlmnPerCellListItem.h \
+ ./FQIPERSlicesPerPlmnPerCellListItem.h \
+ ./EPC-DU-PM-Container.h \
+ ./PerQCIReportListItem.h \
+ ./OCUCP-PF-Container.h \
+ ./OCUUP-PF-Container.h \
+ ./PF-ContainerListItem.h \
+ ./CUUPMeasurement-Container.h \
+ ./PlmnID-Item.h \
+ ./FGC-CUUP-PM-Format.h \
+ ./SliceToReportListItem.h \
+ ./FQIPERSlicesPerPlmnListItem.h \
+ ./EPC-CUUP-PM-Format.h \
+ ./PerQCIReportListItemFormat.h \
+ ./MeasurementValue.h \
+ ./L3-RRC-Measurements.h \
+ ./RRCEvent.h \
+ ./ServingCellMeasurements.h \
+ ./MeasResultServMOList.h \
+ ./MeasResultServMO.h \
+ ./MeasResultNR.h \
+ ./MeasResultListEUTRA.h \
+ ./MeasResultEUTRA.h \
+ ./MeasResultPCell.h \
+ ./MeasResultNeighCells.h \
+ ./MeasResultListNR.h \
+ ./PhysCellId.h \
+ ./ServCellIndex.h \
+ ./MeasQuantityResults.h \
+ ./MeasQuantityResultsEUTRA.h \
+ ./RSRP-RangeEUTRA.h \
+ ./RSRQ-RangeEUTRA.h \
+ ./SINR-RangeEUTRA.h \
+ ./ResultsPerSSB-IndexList.h \
+ ./ResultsPerSSB-Index.h \
+ ./ResultsPerCSI-RS-IndexList.h \
+ ./ResultsPerCSI-RS-Index.h \
+ ./SSB-Index.h \
+ ./CSI-RS-Index.h \
+ ./RSRP-Range.h \
+ ./RSRQ-Range.h \
+ ./SINR-Range.h \
+ ./TimeStamp.h \
+ ./CellObjectID.h \
+ ./MeasurementInfoList.h \
+ ./MeasurementInfoItem.h \
+ ./MeasurementType.h \
+ ./NRCGI.h \
+ ./NRCellIdentity.h \
+ ./S-NSSAI.h \
+ ./MeasurementTypeName.h \
+ ./MeasurementTypeID.h \
+ ./FiveQI.h \
+ ./QCI.h \
+ ./NI-Type.h \
+ ./RAN-Container.h \
+ ./E2SM-RC-RANFunctionDefinition.h \
+ ./RANfunction-Name.h \
+ ./RIC-EventTriggerStyle-Item.h \
+ ./RIC-ControlStyle-Item.h \
+ ./RIC-ControlAction-Item.h \
+ ./RAN-ControlParameter-Item.h \
+ ./E2SM-RC-ControlHeader.h \
+ ./E2SM-RC-ControlHeader-Format1.h \
+ ./E2SM-RC-ControlMessage.h \
+ ./E2SM-RC-ControlMessage-Format1.h \
+ ./RANParameter-Item.h \
+ ./RANParameter-ValueType.h \
+ ./RANParameter-ELEMENT.h \
+ ./RANParameter-STRUCTURE.h \
+ ./RANParameter-LIST.h \
+ ./RANParameter-Value.h \
+ ./UE-Identity.h \
+ ./RIC-Style-Type.h \
+ ./RIC-Style-Name.h \
+ ./RIC-Format-Type.h \
+ ./RANParameter-ID.h \
+ ./RANParameter-Name.h \
+ ./RIC-ControlAction-ID.h \
+ ./RIC-ControlAction-Name.h \
+ ./E2SM-KPM-EventTriggerDefinition.h \
+ ./E2SM-KPM-EventTriggerDefinition-Format1.h \
+ ./Trigger-ConditionIE-Item.h \
+ ./RT-Period-IE.h \
+ ./RANcallProcess-ID-string.h \
+ ./PLMN-Identity.h \
+ ./GlobalE2node-ID.h \
+ ./GlobalE2node-en-gNB-ID.h \
+ ./GlobalE2node-eNB-ID.h \
+ ./GlobalE2node-gNB-ID.h \
+ ./GlobalE2node-ng-eNB-ID.h \
+ ./GlobalENB-ID.h \
+ ./GlobalenGNB-ID.h \
+ ./GlobalgNB-ID.h \
+ ./GlobalngeNB-ID.h \
+ ./GNB-ID-Choice.h \
+ ./ENB-ID-Choice.h \
+ ./ENB-ID.h \
+ ./ENGNB-ID.h \
+ ./GNB-CU-UP-ID.h \
+ ./GNB-DU-ID.h
+
+ASN_MODULE_HDRS+=./OPEN_TYPE.h
+ASN_MODULE_SRCS+=./OPEN_TYPE.c
+ASN_MODULE_HDRS+=./constr_CHOICE.h
+ASN_MODULE_HDRS+=./BOOLEAN.h
+ASN_MODULE_SRCS+=./BOOLEAN.c
+ASN_MODULE_HDRS+=./INTEGER.h
+ASN_MODULE_SRCS+=./INTEGER.c
+ASN_MODULE_HDRS+=./NULL.h
+ASN_MODULE_SRCS+=./NULL.c
+ASN_MODULE_HDRS+=./NativeEnumerated.h
+ASN_MODULE_SRCS+=./NativeEnumerated.c
+ASN_MODULE_HDRS+=./NativeInteger.h
+ASN_MODULE_SRCS+=./NativeInteger.c
+ASN_MODULE_HDRS+=./NativeReal.h
+ASN_MODULE_SRCS+=./NativeReal.c
+ASN_MODULE_HDRS+=./REAL.h
+ASN_MODULE_HDRS+=./PrintableString.h
+ASN_MODULE_SRCS+=./PrintableString.c
+ASN_MODULE_HDRS+=./OCTET_STRING.h
+ASN_MODULE_SRCS+=./REAL.c
+ASN_MODULE_HDRS+=./asn_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./asn_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./asn_SET_OF.h
+ASN_MODULE_SRCS+=./asn_SET_OF.c
+ASN_MODULE_SRCS+=./constr_CHOICE.c
+ASN_MODULE_HDRS+=./constr_SEQUENCE.h
+ASN_MODULE_SRCS+=./constr_SEQUENCE.c
+ASN_MODULE_HDRS+=./constr_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./constr_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./constr_SET_OF.h
+ASN_MODULE_SRCS+=./constr_SET_OF.c
+ASN_MODULE_HDRS+=./asn_application.h
+ASN_MODULE_SRCS+=./asn_application.c
+ASN_MODULE_HDRS+=./asn_ioc.h
+ASN_MODULE_HDRS+=./asn_system.h
+ASN_MODULE_HDRS+=./asn_codecs.h
+ASN_MODULE_HDRS+=./asn_internal.h
+ASN_MODULE_SRCS+=./asn_internal.c
+ASN_MODULE_HDRS+=./asn_random_fill.h
+ASN_MODULE_SRCS+=./asn_random_fill.c
+ASN_MODULE_HDRS+=./asn_bit_data.h
+ASN_MODULE_SRCS+=./asn_bit_data.c
+ASN_MODULE_SRCS+=./OCTET_STRING.c
+ASN_MODULE_HDRS+=./BIT_STRING.h
+ASN_MODULE_SRCS+=./BIT_STRING.c
+ASN_MODULE_SRCS+=./asn_codecs_prim.c
+ASN_MODULE_HDRS+=./asn_codecs_prim.h
+ASN_MODULE_HDRS+=./ber_tlv_length.h
+ASN_MODULE_SRCS+=./ber_tlv_length.c
+ASN_MODULE_HDRS+=./ber_tlv_tag.h
+ASN_MODULE_SRCS+=./ber_tlv_tag.c
+ASN_MODULE_HDRS+=./ber_decoder.h
+ASN_MODULE_SRCS+=./ber_decoder.c
+ASN_MODULE_HDRS+=./der_encoder.h
+ASN_MODULE_SRCS+=./der_encoder.c
+ASN_MODULE_HDRS+=./constr_TYPE.h
+ASN_MODULE_SRCS+=./constr_TYPE.c
+ASN_MODULE_HDRS+=./constraints.h
+ASN_MODULE_SRCS+=./constraints.c
+ASN_MODULE_HDRS+=./xer_support.h
+ASN_MODULE_SRCS+=./xer_support.c
+ASN_MODULE_HDRS+=./xer_decoder.h
+ASN_MODULE_SRCS+=./xer_decoder.c
+ASN_MODULE_HDRS+=./xer_encoder.h
+ASN_MODULE_SRCS+=./xer_encoder.c
+ASN_MODULE_HDRS+=./per_support.h
+ASN_MODULE_SRCS+=./per_support.c
+ASN_MODULE_HDRS+=./per_decoder.h
+ASN_MODULE_SRCS+=./per_decoder.c
+ASN_MODULE_HDRS+=./per_encoder.h
+ASN_MODULE_SRCS+=./per_encoder.c
+ASN_MODULE_HDRS+=./per_opentype.h
+ASN_MODULE_SRCS+=./per_opentype.c
+ASN_MODULE_HDRS+=./oer_decoder.h
+ASN_MODULE_HDRS+=./oer_encoder.h
+ASN_MODULE_HDRS+=./oer_support.h
+ASN_MODULE_SRCS+=./oer_decoder.c
+ASN_MODULE_SRCS+=./oer_encoder.c
+ASN_MODULE_SRCS+=./oer_support.c
+ASN_MODULE_SRCS+=./OPEN_TYPE_oer.c
+ASN_MODULE_SRCS+=./INTEGER_oer.c
+ASN_MODULE_SRCS+=./BIT_STRING_oer.c
+ASN_MODULE_SRCS+=./OCTET_STRING_oer.c
+ASN_MODULE_SRCS+=./NativeInteger_oer.c
+ASN_MODULE_SRCS+=./NativeEnumerated_oer.c
+ASN_MODULE_SRCS+=./constr_CHOICE_oer.c
+ASN_MODULE_SRCS+=./constr_SEQUENCE_oer.c
+ASN_MODULE_SRCS+=./constr_SET_OF_oer.c
+
+ASN_MODULE_CFLAGS=
+
+lib_LTLIBRARIES+=libasncodec.la
+libasncodec_la_SOURCES=$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS)
+libasncodec_la_CPPFLAGS=-I$(top_srcdir)/./
+libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS)
+libasncodec_la_LDFLAGS=-lm
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingCondItem.c b/setup/xapp-sm-connector/asn1c_defs/MatchingCondItem.c
new file mode 100644
index 0000000..0d77c32
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingCondItem.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MatchingCondItem.h"
+
+#include "MeasurementLabel.h"
+#include "TestCondInfo.h"
+static asn_oer_constraints_t asn_OER_type_MatchingCondItem_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_MatchingCondItem_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 */
+};
+asn_TYPE_member_t asn_MBR_MatchingCondItem_1[] = {
+ { ATF_POINTER, 0, offsetof(struct MatchingCondItem, choice.measLabel),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementLabel,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measLabel"
+ },
+ { ATF_POINTER, 0, offsetof(struct MatchingCondItem, choice.testCondInfo),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TestCondInfo,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "testCondInfo"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_MatchingCondItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measLabel */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* testCondInfo */
+};
+asn_CHOICE_specifics_t asn_SPC_MatchingCondItem_specs_1 = {
+ sizeof(struct MatchingCondItem),
+ offsetof(struct MatchingCondItem, _asn_ctx),
+ offsetof(struct MatchingCondItem, present),
+ sizeof(((struct MatchingCondItem *)0)->present),
+ asn_MAP_MatchingCondItem_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_MatchingCondItem = {
+ "MatchingCondItem",
+ "MatchingCondItem",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_MatchingCondItem_constr_1, &asn_PER_type_MatchingCondItem_constr_1, CHOICE_constraint },
+ asn_MBR_MatchingCondItem_1,
+ 2, /* Elements count */
+ &asn_SPC_MatchingCondItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingCondItem.h b/setup/xapp-sm-connector/asn1c_defs/MatchingCondItem.h
new file mode 100644
index 0000000..94d3360
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingCondItem.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MatchingCondItem_H_
+#define _MatchingCondItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MatchingCondItem_PR {
+ MatchingCondItem_PR_NOTHING, /* No components present */
+ MatchingCondItem_PR_measLabel,
+ MatchingCondItem_PR_testCondInfo
+ /* Extensions may appear below */
+
+} MatchingCondItem_PR;
+
+/* Forward declarations */
+struct MeasurementLabel;
+struct TestCondInfo;
+
+/* MatchingCondItem */
+typedef struct MatchingCondItem {
+ MatchingCondItem_PR present;
+ union MatchingCondItem_u {
+ struct MeasurementLabel *measLabel;
+ struct TestCondInfo *testCondInfo;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MatchingCondItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MatchingCondItem;
+extern asn_CHOICE_specifics_t asn_SPC_MatchingCondItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_MatchingCondItem_1[2];
+extern asn_per_constraints_t asn_PER_type_MatchingCondItem_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MatchingCondItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingCondList.c b/setup/xapp-sm-connector/asn1c_defs/MatchingCondList.c
new file mode 100644
index 0000000..32f2b14
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingCondList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MatchingCondList.h"
+
+#include "MatchingCondItem.h"
+static asn_oer_constraints_t asn_OER_type_MatchingCondList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..32768)) */};
+asn_per_constraints_t asn_PER_type_MatchingCondList_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 15, 15, 1, 32768 } /* (SIZE(1..32768)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MatchingCondList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_MatchingCondItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MatchingCondList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MatchingCondList_specs_1 = {
+ sizeof(struct MatchingCondList),
+ offsetof(struct MatchingCondList, _asn_ctx),
+ 2, /* XER encoding is XMLValueList */
+};
+asn_TYPE_descriptor_t asn_DEF_MatchingCondList = {
+ "MatchingCondList",
+ "MatchingCondList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MatchingCondList_tags_1,
+ sizeof(asn_DEF_MatchingCondList_tags_1)
+ /sizeof(asn_DEF_MatchingCondList_tags_1[0]), /* 1 */
+ asn_DEF_MatchingCondList_tags_1, /* Same as above */
+ sizeof(asn_DEF_MatchingCondList_tags_1)
+ /sizeof(asn_DEF_MatchingCondList_tags_1[0]), /* 1 */
+ { &asn_OER_type_MatchingCondList_constr_1, &asn_PER_type_MatchingCondList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MatchingCondList_1,
+ 1, /* Single element */
+ &asn_SPC_MatchingCondList_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingCondList.h b/setup/xapp-sm-connector/asn1c_defs/MatchingCondList.h
new file mode 100644
index 0000000..52ed95b
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingCondList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MatchingCondList_H_
+#define _MatchingCondList_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MatchingCondItem;
+
+/* MatchingCondList */
+typedef struct MatchingCondList {
+ A_SEQUENCE_OF(struct MatchingCondItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MatchingCondList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MatchingCondList;
+extern asn_SET_OF_specifics_t asn_SPC_MatchingCondList_specs_1;
+extern asn_TYPE_member_t asn_MBR_MatchingCondList_1[1];
+extern asn_per_constraints_t asn_PER_type_MatchingCondList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MatchingCondList_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingUEidItem.c b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidItem.c
new file mode 100644
index 0000000..b9cbcf8
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidItem.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MatchingUEidItem.h"
+
+asn_TYPE_member_t asn_MBR_MatchingUEidItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MatchingUEidItem, ueID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UE_Identity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MatchingUEidItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MatchingUEidItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MatchingUEidItem_specs_1 = {
+ sizeof(struct MatchingUEidItem),
+ offsetof(struct MatchingUEidItem, _asn_ctx),
+ asn_MAP_MatchingUEidItem_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_MatchingUEidItem = {
+ "MatchingUEidItem",
+ "MatchingUEidItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MatchingUEidItem_tags_1,
+ sizeof(asn_DEF_MatchingUEidItem_tags_1)
+ /sizeof(asn_DEF_MatchingUEidItem_tags_1[0]), /* 1 */
+ asn_DEF_MatchingUEidItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_MatchingUEidItem_tags_1)
+ /sizeof(asn_DEF_MatchingUEidItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MatchingUEidItem_1,
+ 1, /* Elements count */
+ &asn_SPC_MatchingUEidItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingUEidItem.h b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidItem.h
new file mode 100644
index 0000000..f02ba9b
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidItem.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MatchingUEidItem_H_
+#define _MatchingUEidItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "UE-Identity.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MatchingUEidItem */
+typedef struct MatchingUEidItem {
+ UE_Identity_t ueID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MatchingUEidItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MatchingUEidItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_MatchingUEidItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_MatchingUEidItem_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MatchingUEidItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingUEidList.c b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidList.c
new file mode 100644
index 0000000..58e1988
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MatchingUEidList.h"
+
+#include "MatchingUEidItem.h"
+static asn_oer_constraints_t asn_OER_type_MatchingUEidList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_MatchingUEidList_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MatchingUEidList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MatchingUEidItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MatchingUEidList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MatchingUEidList_specs_1 = {
+ sizeof(struct MatchingUEidList),
+ offsetof(struct MatchingUEidList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MatchingUEidList = {
+ "MatchingUEidList",
+ "MatchingUEidList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MatchingUEidList_tags_1,
+ sizeof(asn_DEF_MatchingUEidList_tags_1)
+ /sizeof(asn_DEF_MatchingUEidList_tags_1[0]), /* 1 */
+ asn_DEF_MatchingUEidList_tags_1, /* Same as above */
+ sizeof(asn_DEF_MatchingUEidList_tags_1)
+ /sizeof(asn_DEF_MatchingUEidList_tags_1[0]), /* 1 */
+ { &asn_OER_type_MatchingUEidList_constr_1, &asn_PER_type_MatchingUEidList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MatchingUEidList_1,
+ 1, /* Single element */
+ &asn_SPC_MatchingUEidList_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MatchingUEidList.h b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidList.h
new file mode 100644
index 0000000..b03c075
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MatchingUEidList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MatchingUEidList_H_
+#define _MatchingUEidList_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MatchingUEidItem;
+
+/* MatchingUEidList */
+typedef struct MatchingUEidList {
+ A_SEQUENCE_OF(struct MatchingUEidItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MatchingUEidList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MatchingUEidList;
+extern asn_SET_OF_specifics_t asn_SPC_MatchingUEidList_specs_1;
+extern asn_TYPE_member_t asn_MBR_MatchingUEidList_1[1];
+extern asn_per_constraints_t asn_PER_type_MatchingUEidList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MatchingUEidList_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResults.c b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResults.c
new file mode 100644
index 0000000..71a2de9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResults.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasQuantityResults.h"
+
+asn_TYPE_member_t asn_MBR_MeasQuantityResults_1[] = {
+ { ATF_POINTER, 3, offsetof(struct MeasQuantityResults, rsrp),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RSRP_Range,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rsrp"
+ },
+ { ATF_POINTER, 2, offsetof(struct MeasQuantityResults, rsrq),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RSRQ_Range,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rsrq"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasQuantityResults, sinr),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SINR_Range,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "sinr"
+ },
+};
+static const int asn_MAP_MeasQuantityResults_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_MeasQuantityResults_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasQuantityResults_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rsrp */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrq */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sinr */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResults_specs_1 = {
+ sizeof(struct MeasQuantityResults),
+ offsetof(struct MeasQuantityResults, _asn_ctx),
+ asn_MAP_MeasQuantityResults_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_MeasQuantityResults_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasQuantityResults = {
+ "MeasQuantityResults",
+ "MeasQuantityResults",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasQuantityResults_tags_1,
+ sizeof(asn_DEF_MeasQuantityResults_tags_1)
+ /sizeof(asn_DEF_MeasQuantityResults_tags_1[0]), /* 1 */
+ asn_DEF_MeasQuantityResults_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasQuantityResults_tags_1)
+ /sizeof(asn_DEF_MeasQuantityResults_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasQuantityResults_1,
+ 3, /* Elements count */
+ &asn_SPC_MeasQuantityResults_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResults.h b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResults.h
new file mode 100644
index 0000000..a597b72
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResults.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasQuantityResults_H_
+#define _MeasQuantityResults_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "RSRP-Range.h"
+#include "RSRQ-Range.h"
+#include "SINR-Range.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasQuantityResults */
+typedef struct MeasQuantityResults {
+ RSRP_Range_t *rsrp; /* OPTIONAL */
+ RSRQ_Range_t *rsrq; /* OPTIONAL */
+ SINR_Range_t *sinr; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasQuantityResults_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasQuantityResults;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResults_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasQuantityResults_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasQuantityResults_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResultsEUTRA.c b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResultsEUTRA.c
new file mode 100644
index 0000000..8dfe36d
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResultsEUTRA.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasQuantityResultsEUTRA.h"
+
+asn_TYPE_member_t asn_MBR_MeasQuantityResultsEUTRA_1[] = {
+ { ATF_POINTER, 3, offsetof(struct MeasQuantityResultsEUTRA, rsrp),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RSRP_RangeEUTRA,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rsrp"
+ },
+ { ATF_POINTER, 2, offsetof(struct MeasQuantityResultsEUTRA, rsrq),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RSRQ_RangeEUTRA,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rsrq"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasQuantityResultsEUTRA, sinr),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SINR_RangeEUTRA,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "sinr"
+ },
+};
+static const int asn_MAP_MeasQuantityResultsEUTRA_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_MeasQuantityResultsEUTRA_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasQuantityResultsEUTRA_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rsrp */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrq */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sinr */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResultsEUTRA_specs_1 = {
+ sizeof(struct MeasQuantityResultsEUTRA),
+ offsetof(struct MeasQuantityResultsEUTRA, _asn_ctx),
+ asn_MAP_MeasQuantityResultsEUTRA_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_MeasQuantityResultsEUTRA_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasQuantityResultsEUTRA = {
+ "MeasQuantityResultsEUTRA",
+ "MeasQuantityResultsEUTRA",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasQuantityResultsEUTRA_tags_1,
+ sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1)
+ /sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1[0]), /* 1 */
+ asn_DEF_MeasQuantityResultsEUTRA_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1)
+ /sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasQuantityResultsEUTRA_1,
+ 3, /* Elements count */
+ &asn_SPC_MeasQuantityResultsEUTRA_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResultsEUTRA.h b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResultsEUTRA.h
new file mode 100644
index 0000000..1be9197
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasQuantityResultsEUTRA.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasQuantityResultsEUTRA_H_
+#define _MeasQuantityResultsEUTRA_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "RSRP-RangeEUTRA.h"
+#include "RSRQ-RangeEUTRA.h"
+#include "SINR-RangeEUTRA.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasQuantityResultsEUTRA */
+typedef struct MeasQuantityResultsEUTRA {
+ RSRP_RangeEUTRA_t *rsrp; /* OPTIONAL */
+ RSRQ_RangeEUTRA_t *rsrq; /* OPTIONAL */
+ SINR_RangeEUTRA_t *sinr; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasQuantityResultsEUTRA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasQuantityResultsEUTRA;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResultsEUTRA_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasQuantityResultsEUTRA_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasQuantityResultsEUTRA_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultEUTRA.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultEUTRA.c
new file mode 100644
index 0000000..b3713d9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultEUTRA.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultEUTRA.h"
+
+asn_TYPE_member_t asn_MBR_MeasResultEUTRA_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultEUTRA, eutra_PhysCellId),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PhysCellId,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eutra-PhysCellId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultEUTRA, measResult),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasQuantityResultsEUTRA,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measResult"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasResultEUTRA_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasResultEUTRA_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eutra-PhysCellId */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResult */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasResultEUTRA_specs_1 = {
+ sizeof(struct MeasResultEUTRA),
+ offsetof(struct MeasResultEUTRA, _asn_ctx),
+ asn_MAP_MeasResultEUTRA_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultEUTRA = {
+ "MeasResultEUTRA",
+ "MeasResultEUTRA",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasResultEUTRA_tags_1,
+ sizeof(asn_DEF_MeasResultEUTRA_tags_1)
+ /sizeof(asn_DEF_MeasResultEUTRA_tags_1[0]), /* 1 */
+ asn_DEF_MeasResultEUTRA_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasResultEUTRA_tags_1)
+ /sizeof(asn_DEF_MeasResultEUTRA_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasResultEUTRA_1,
+ 2, /* Elements count */
+ &asn_SPC_MeasResultEUTRA_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultEUTRA.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultEUTRA.h
new file mode 100644
index 0000000..61e8b9a
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultEUTRA.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultEUTRA_H_
+#define _MeasResultEUTRA_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "PhysCellId.h"
+#include "MeasQuantityResultsEUTRA.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasResultEUTRA */
+typedef struct MeasResultEUTRA {
+ PhysCellId_t eutra_PhysCellId;
+ MeasQuantityResultsEUTRA_t measResult;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultEUTRA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultEUTRA;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultEUTRA_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultEUTRA_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultEUTRA_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultListEUTRA.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultListEUTRA.c
new file mode 100644
index 0000000..b7a963e
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultListEUTRA.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultListEUTRA.h"
+
+#include "MeasResultEUTRA.h"
+static asn_oer_constraints_t asn_OER_type_MeasResultListEUTRA_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..8)) */};
+asn_per_constraints_t asn_PER_type_MeasResultListEUTRA_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasResultListEUTRA_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasResultEUTRA,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasResultListEUTRA_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasResultListEUTRA_specs_1 = {
+ sizeof(struct MeasResultListEUTRA),
+ offsetof(struct MeasResultListEUTRA, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultListEUTRA = {
+ "MeasResultListEUTRA",
+ "MeasResultListEUTRA",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasResultListEUTRA_tags_1,
+ sizeof(asn_DEF_MeasResultListEUTRA_tags_1)
+ /sizeof(asn_DEF_MeasResultListEUTRA_tags_1[0]), /* 1 */
+ asn_DEF_MeasResultListEUTRA_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasResultListEUTRA_tags_1)
+ /sizeof(asn_DEF_MeasResultListEUTRA_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasResultListEUTRA_constr_1, &asn_PER_type_MeasResultListEUTRA_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasResultListEUTRA_1,
+ 1, /* Single element */
+ &asn_SPC_MeasResultListEUTRA_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultListEUTRA.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultListEUTRA.h
new file mode 100644
index 0000000..5f9d8e6
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultListEUTRA.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultListEUTRA_H_
+#define _MeasResultListEUTRA_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasResultEUTRA;
+
+/* MeasResultListEUTRA */
+typedef struct MeasResultListEUTRA {
+ A_SEQUENCE_OF(struct MeasResultEUTRA) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultListEUTRA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultListEUTRA;
+extern asn_SET_OF_specifics_t asn_SPC_MeasResultListEUTRA_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultListEUTRA_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasResultListEUTRA_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultListEUTRA_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultListNR.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultListNR.c
new file mode 100644
index 0000000..d5edda9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultListNR.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultListNR.h"
+
+#include "MeasResultNR.h"
+static asn_oer_constraints_t asn_OER_type_MeasResultListNR_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..8)) */};
+asn_per_constraints_t asn_PER_type_MeasResultListNR_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasResultListNR_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasResultNR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasResultListNR_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasResultListNR_specs_1 = {
+ sizeof(struct MeasResultListNR),
+ offsetof(struct MeasResultListNR, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultListNR = {
+ "MeasResultListNR",
+ "MeasResultListNR",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasResultListNR_tags_1,
+ sizeof(asn_DEF_MeasResultListNR_tags_1)
+ /sizeof(asn_DEF_MeasResultListNR_tags_1[0]), /* 1 */
+ asn_DEF_MeasResultListNR_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasResultListNR_tags_1)
+ /sizeof(asn_DEF_MeasResultListNR_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasResultListNR_constr_1, &asn_PER_type_MeasResultListNR_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasResultListNR_1,
+ 1, /* Single element */
+ &asn_SPC_MeasResultListNR_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultListNR.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultListNR.h
new file mode 100644
index 0000000..3617658
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultListNR.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultListNR_H_
+#define _MeasResultListNR_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasResultNR;
+
+/* MeasResultListNR */
+typedef struct MeasResultListNR {
+ A_SEQUENCE_OF(struct MeasResultNR) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultListNR_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultListNR;
+extern asn_SET_OF_specifics_t asn_SPC_MeasResultListNR_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultListNR_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasResultListNR_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultListNR_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultNR.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultNR.c
new file mode 100644
index 0000000..fa4dae8
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultNR.c
@@ -0,0 +1,230 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultNR.h"
+
+#include "MeasQuantityResults.h"
+#include "ResultsPerSSB-IndexList.h"
+#include "ResultsPerCSI-RS-IndexList.h"
+static asn_TYPE_member_t asn_MBR_cellResults_4[] = {
+ { ATF_POINTER, 2, offsetof(struct MeasResultNR__measResult__cellResults, resultsSSB_Cell),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasQuantityResults,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "resultsSSB-Cell"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult__cellResults, resultsCSI_RS_Cell),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasQuantityResults,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "resultsCSI-RS-Cell"
+ },
+};
+static const int asn_MAP_cellResults_oms_4[] = { 0, 1 };
+static const ber_tlv_tag_t asn_DEF_cellResults_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_cellResults_tag2el_4[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resultsSSB-Cell */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* resultsCSI-RS-Cell */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_cellResults_specs_4 = {
+ sizeof(struct MeasResultNR__measResult__cellResults),
+ offsetof(struct MeasResultNR__measResult__cellResults, _asn_ctx),
+ asn_MAP_cellResults_tag2el_4,
+ 2, /* Count of tags in the map */
+ asn_MAP_cellResults_oms_4, /* Optional members */
+ 2, 0, /* Root/Additions */
+ -1, /* First extension addition */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellResults_4 = {
+ "cellResults",
+ "cellResults",
+ &asn_OP_SEQUENCE,
+ asn_DEF_cellResults_tags_4,
+ sizeof(asn_DEF_cellResults_tags_4)
+ /sizeof(asn_DEF_cellResults_tags_4[0]) - 1, /* 1 */
+ asn_DEF_cellResults_tags_4, /* Same as above */
+ sizeof(asn_DEF_cellResults_tags_4)
+ /sizeof(asn_DEF_cellResults_tags_4[0]), /* 2 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_cellResults_4,
+ 2, /* Elements count */
+ &asn_SPC_cellResults_specs_4 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_rsIndexResults_7[] = {
+ { ATF_POINTER, 2, offsetof(struct MeasResultNR__measResult__rsIndexResults, resultsSSB_Indexes),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ResultsPerSSB_IndexList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "resultsSSB-Indexes"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult__rsIndexResults, resultsCSI_RS_Indexes),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ResultsPerCSI_RS_IndexList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "resultsCSI-RS-Indexes"
+ },
+};
+static const int asn_MAP_rsIndexResults_oms_7[] = { 0, 1 };
+static const ber_tlv_tag_t asn_DEF_rsIndexResults_tags_7[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_rsIndexResults_tag2el_7[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resultsSSB-Indexes */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* resultsCSI-RS-Indexes */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_rsIndexResults_specs_7 = {
+ sizeof(struct MeasResultNR__measResult__rsIndexResults),
+ offsetof(struct MeasResultNR__measResult__rsIndexResults, _asn_ctx),
+ asn_MAP_rsIndexResults_tag2el_7,
+ 2, /* Count of tags in the map */
+ asn_MAP_rsIndexResults_oms_7, /* Optional members */
+ 2, 0, /* Root/Additions */
+ -1, /* First extension addition */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rsIndexResults_7 = {
+ "rsIndexResults",
+ "rsIndexResults",
+ &asn_OP_SEQUENCE,
+ asn_DEF_rsIndexResults_tags_7,
+ sizeof(asn_DEF_rsIndexResults_tags_7)
+ /sizeof(asn_DEF_rsIndexResults_tags_7[0]) - 1, /* 1 */
+ asn_DEF_rsIndexResults_tags_7, /* Same as above */
+ sizeof(asn_DEF_rsIndexResults_tags_7)
+ /sizeof(asn_DEF_rsIndexResults_tags_7[0]), /* 2 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_rsIndexResults_7,
+ 2, /* Elements count */
+ &asn_SPC_rsIndexResults_specs_7 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_measResult_3[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultNR__measResult, cellResults),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_cellResults_4,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellResults"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult, rsIndexResults),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_rsIndexResults_7,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rsIndexResults"
+ },
+};
+static const int asn_MAP_measResult_oms_3[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_measResult_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_measResult_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellResults */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rsIndexResults */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_measResult_specs_3 = {
+ sizeof(struct MeasResultNR__measResult),
+ offsetof(struct MeasResultNR__measResult, _asn_ctx),
+ asn_MAP_measResult_tag2el_3,
+ 2, /* Count of tags in the map */
+ asn_MAP_measResult_oms_3, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* First extension addition */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_measResult_3 = {
+ "measResult",
+ "measResult",
+ &asn_OP_SEQUENCE,
+ asn_DEF_measResult_tags_3,
+ sizeof(asn_DEF_measResult_tags_3)
+ /sizeof(asn_DEF_measResult_tags_3[0]) - 1, /* 1 */
+ asn_DEF_measResult_tags_3, /* Same as above */
+ sizeof(asn_DEF_measResult_tags_3)
+ /sizeof(asn_DEF_measResult_tags_3[0]), /* 2 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_measResult_3,
+ 2, /* Elements count */
+ &asn_SPC_measResult_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_MeasResultNR_1[] = {
+ { ATF_POINTER, 1, offsetof(struct MeasResultNR, physCellId),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PhysCellId,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "physCellId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultNR, measResult),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_measResult_3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measResult"
+ },
+};
+static const int asn_MAP_MeasResultNR_oms_1[] = { 0 };
+static const ber_tlv_tag_t asn_DEF_MeasResultNR_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasResultNR_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* physCellId */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResult */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasResultNR_specs_1 = {
+ sizeof(struct MeasResultNR),
+ offsetof(struct MeasResultNR, _asn_ctx),
+ asn_MAP_MeasResultNR_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_MeasResultNR_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultNR = {
+ "MeasResultNR",
+ "MeasResultNR",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasResultNR_tags_1,
+ sizeof(asn_DEF_MeasResultNR_tags_1)
+ /sizeof(asn_DEF_MeasResultNR_tags_1[0]), /* 1 */
+ asn_DEF_MeasResultNR_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasResultNR_tags_1)
+ /sizeof(asn_DEF_MeasResultNR_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasResultNR_1,
+ 2, /* Elements count */
+ &asn_SPC_MeasResultNR_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultNR.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultNR.h
new file mode 100644
index 0000000..8f9e1d4
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultNR.h
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultNR_H_
+#define _MeasResultNR_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "PhysCellId.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasQuantityResults;
+struct ResultsPerSSB_IndexList;
+struct ResultsPerCSI_RS_IndexList;
+
+/* MeasResultNR */
+typedef struct MeasResultNR {
+ PhysCellId_t *physCellId; /* OPTIONAL */
+ struct MeasResultNR__measResult {
+ struct MeasResultNR__measResult__cellResults {
+ struct MeasQuantityResults *resultsSSB_Cell; /* OPTIONAL */
+ struct MeasQuantityResults *resultsCSI_RS_Cell; /* OPTIONAL */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } cellResults;
+ struct MeasResultNR__measResult__rsIndexResults {
+ struct ResultsPerSSB_IndexList *resultsSSB_Indexes; /* OPTIONAL */
+ struct ResultsPerCSI_RS_IndexList *resultsCSI_RS_Indexes; /* OPTIONAL */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *rsIndexResults;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } measResult;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultNR_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultNR;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultNR_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultNR_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultNR_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultNeighCells.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultNeighCells.c
new file mode 100644
index 0000000..3f87d70
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultNeighCells.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultNeighCells.h"
+
+#include "MeasResultListNR.h"
+#include "MeasResultListEUTRA.h"
+static asn_oer_constraints_t asn_OER_type_MeasResultNeighCells_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_MeasResultNeighCells_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 */
+};
+asn_TYPE_member_t asn_MBR_MeasResultNeighCells_1[] = {
+ { ATF_POINTER, 0, offsetof(struct MeasResultNeighCells, choice.measResultListNR),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasResultListNR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measResultListNR"
+ },
+ { ATF_POINTER, 0, offsetof(struct MeasResultNeighCells, choice.measResultListEUTRA),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasResultListEUTRA,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measResultListEUTRA"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasResultNeighCells_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measResultListNR */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResultListEUTRA */
+};
+asn_CHOICE_specifics_t asn_SPC_MeasResultNeighCells_specs_1 = {
+ sizeof(struct MeasResultNeighCells),
+ offsetof(struct MeasResultNeighCells, _asn_ctx),
+ offsetof(struct MeasResultNeighCells, present),
+ sizeof(((struct MeasResultNeighCells *)0)->present),
+ asn_MAP_MeasResultNeighCells_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultNeighCells = {
+ "MeasResultNeighCells",
+ "MeasResultNeighCells",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_MeasResultNeighCells_constr_1, &asn_PER_type_MeasResultNeighCells_constr_1, CHOICE_constraint },
+ asn_MBR_MeasResultNeighCells_1,
+ 2, /* Elements count */
+ &asn_SPC_MeasResultNeighCells_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultNeighCells.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultNeighCells.h
new file mode 100644
index 0000000..f841bb5
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultNeighCells.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultNeighCells_H_
+#define _MeasResultNeighCells_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MeasResultNeighCells_PR {
+ MeasResultNeighCells_PR_NOTHING, /* No components present */
+ MeasResultNeighCells_PR_measResultListNR,
+ MeasResultNeighCells_PR_measResultListEUTRA
+ /* Extensions may appear below */
+
+} MeasResultNeighCells_PR;
+
+/* Forward declarations */
+struct MeasResultListNR;
+struct MeasResultListEUTRA;
+
+/* MeasResultNeighCells */
+typedef struct MeasResultNeighCells {
+ MeasResultNeighCells_PR present;
+ union MeasResultNeighCells_u {
+ struct MeasResultListNR *measResultListNR;
+ struct MeasResultListEUTRA *measResultListEUTRA;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultNeighCells_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultNeighCells;
+extern asn_CHOICE_specifics_t asn_SPC_MeasResultNeighCells_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultNeighCells_1[2];
+extern asn_per_constraints_t asn_PER_type_MeasResultNeighCells_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultNeighCells_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultPCell.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultPCell.c
new file mode 100644
index 0000000..cbd74f8
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultPCell.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultPCell.h"
+
+asn_TYPE_member_t asn_MBR_MeasResultPCell_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, eutra_PhysCellId),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PhysCellId,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eutra-PhysCellId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, rsrpResult),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RSRP_Range,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rsrpResult"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, rsrqResult),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RSRQ_Range,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rsrqResult"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasResultPCell_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasResultPCell_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eutra-PhysCellId */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrpResult */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rsrqResult */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasResultPCell_specs_1 = {
+ sizeof(struct MeasResultPCell),
+ offsetof(struct MeasResultPCell, _asn_ctx),
+ asn_MAP_MeasResultPCell_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultPCell = {
+ "MeasResultPCell",
+ "MeasResultPCell",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasResultPCell_tags_1,
+ sizeof(asn_DEF_MeasResultPCell_tags_1)
+ /sizeof(asn_DEF_MeasResultPCell_tags_1[0]), /* 1 */
+ asn_DEF_MeasResultPCell_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasResultPCell_tags_1)
+ /sizeof(asn_DEF_MeasResultPCell_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasResultPCell_1,
+ 3, /* Elements count */
+ &asn_SPC_MeasResultPCell_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultPCell.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultPCell.h
new file mode 100644
index 0000000..ad0fb7e
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultPCell.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultPCell_H_
+#define _MeasResultPCell_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "PhysCellId.h"
+#include "RSRP-Range.h"
+#include "RSRQ-Range.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasResultPCell */
+typedef struct MeasResultPCell {
+ PhysCellId_t eutra_PhysCellId;
+ RSRP_Range_t rsrpResult;
+ RSRQ_Range_t rsrqResult;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultPCell_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultPCell;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultPCell_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultPCell_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultPCell_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultServMO.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMO.c
new file mode 100644
index 0000000..346f5fe
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMO.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultServMO.h"
+
+#include "MeasResultNR.h"
+asn_TYPE_member_t asn_MBR_MeasResultServMO_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultServMO, servCellId),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ServCellIndex,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "servCellId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MeasResultServMO, measResultServingCell),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasResultNR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measResultServingCell"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasResultServMO, measResultBestNeighCell),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasResultNR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measResultBestNeighCell"
+ },
+};
+static const int asn_MAP_MeasResultServMO_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_MeasResultServMO_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasResultServMO_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servCellId */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measResultServingCell */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* measResultBestNeighCell */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasResultServMO_specs_1 = {
+ sizeof(struct MeasResultServMO),
+ offsetof(struct MeasResultServMO, _asn_ctx),
+ asn_MAP_MeasResultServMO_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_MeasResultServMO_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultServMO = {
+ "MeasResultServMO",
+ "MeasResultServMO",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasResultServMO_tags_1,
+ sizeof(asn_DEF_MeasResultServMO_tags_1)
+ /sizeof(asn_DEF_MeasResultServMO_tags_1[0]), /* 1 */
+ asn_DEF_MeasResultServMO_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasResultServMO_tags_1)
+ /sizeof(asn_DEF_MeasResultServMO_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasResultServMO_1,
+ 3, /* Elements count */
+ &asn_SPC_MeasResultServMO_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultServMO.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMO.h
new file mode 100644
index 0000000..67e3676
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMO.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultServMO_H_
+#define _MeasResultServMO_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "ServCellIndex.h"
+#include "MeasResultNR.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasResultNR;
+
+/* MeasResultServMO */
+typedef struct MeasResultServMO {
+ ServCellIndex_t servCellId;
+ MeasResultNR_t measResultServingCell;
+ struct MeasResultNR *measResultBestNeighCell; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultServMO_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultServMO;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultServMO_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultServMO_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultServMO_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultServMOList.c b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMOList.c
new file mode 100644
index 0000000..2798a7e
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMOList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasResultServMOList.h"
+
+#include "MeasResultServMO.h"
+static asn_oer_constraints_t asn_OER_type_MeasResultServMOList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..32)) */};
+asn_per_constraints_t asn_PER_type_MeasResultServMOList_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_MeasResultServMOList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasResultServMO,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasResultServMOList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasResultServMOList_specs_1 = {
+ sizeof(struct MeasResultServMOList),
+ offsetof(struct MeasResultServMOList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasResultServMOList = {
+ "MeasResultServMOList",
+ "MeasResultServMOList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasResultServMOList_tags_1,
+ sizeof(asn_DEF_MeasResultServMOList_tags_1)
+ /sizeof(asn_DEF_MeasResultServMOList_tags_1[0]), /* 1 */
+ asn_DEF_MeasResultServMOList_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasResultServMOList_tags_1)
+ /sizeof(asn_DEF_MeasResultServMOList_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasResultServMOList_constr_1, &asn_PER_type_MeasResultServMOList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasResultServMOList_1,
+ 1, /* Single element */
+ &asn_SPC_MeasResultServMOList_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasResultServMOList.h b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMOList.h
new file mode 100644
index 0000000..422db0f
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasResultServMOList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasResultServMOList_H_
+#define _MeasResultServMOList_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasResultServMO;
+
+/* MeasResultServMOList */
+typedef struct MeasResultServMOList {
+ A_SEQUENCE_OF(struct MeasResultServMO) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasResultServMOList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasResultServMOList;
+extern asn_SET_OF_specifics_t asn_SPC_MeasResultServMOList_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasResultServMOList_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasResultServMOList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasResultServMOList_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondItem.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondItem.c
new file mode 100644
index 0000000..56700cf
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondItem.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementCondItem.h"
+
+asn_TYPE_member_t asn_MBR_MeasurementCondItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasurementCondItem, measType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_MeasurementType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MeasurementCondItem, matchingCond),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MatchingCondList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "matchingCond"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementCondItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasurementCondItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* matchingCond */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasurementCondItem_specs_1 = {
+ sizeof(struct MeasurementCondItem),
+ offsetof(struct MeasurementCondItem, _asn_ctx),
+ asn_MAP_MeasurementCondItem_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementCondItem = {
+ "MeasurementCondItem",
+ "MeasurementCondItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasurementCondItem_tags_1,
+ sizeof(asn_DEF_MeasurementCondItem_tags_1)
+ /sizeof(asn_DEF_MeasurementCondItem_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementCondItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementCondItem_tags_1)
+ /sizeof(asn_DEF_MeasurementCondItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasurementCondItem_1,
+ 2, /* Elements count */
+ &asn_SPC_MeasurementCondItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondItem.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondItem.h
new file mode 100644
index 0000000..6467534
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondItem.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementCondItem_H_
+#define _MeasurementCondItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "MeasurementType.h"
+#include "MatchingCondList.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasurementCondItem */
+typedef struct MeasurementCondItem {
+ MeasurementType_t measType;
+ MatchingCondList_t matchingCond;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementCondItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementCondItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementCondItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementCondItem_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementCondItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondList.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondList.c
new file mode 100644
index 0000000..c1d6e29
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementCondList.h"
+
+#include "MeasurementCondItem.h"
+static asn_oer_constraints_t asn_OER_type_MeasurementCondList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_MeasurementCondList_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasurementCondList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasurementCondItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementCondList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasurementCondList_specs_1 = {
+ sizeof(struct MeasurementCondList),
+ offsetof(struct MeasurementCondList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementCondList = {
+ "MeasurementCondList",
+ "MeasurementCondList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasurementCondList_tags_1,
+ sizeof(asn_DEF_MeasurementCondList_tags_1)
+ /sizeof(asn_DEF_MeasurementCondList_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementCondList_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementCondList_tags_1)
+ /sizeof(asn_DEF_MeasurementCondList_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasurementCondList_constr_1, &asn_PER_type_MeasurementCondList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasurementCondList_1,
+ 1, /* Single element */
+ &asn_SPC_MeasurementCondList_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondList.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondList.h
new file mode 100644
index 0000000..cee1073
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementCondList_H_
+#define _MeasurementCondList_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasurementCondItem;
+
+/* MeasurementCondList */
+typedef struct MeasurementCondList {
+ A_SEQUENCE_OF(struct MeasurementCondItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementCondList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementCondList;
+extern asn_SET_OF_specifics_t asn_SPC_MeasurementCondList_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementCondList_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasurementCondList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementCondList_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidItem.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidItem.c
new file mode 100644
index 0000000..0968946
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidItem.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementCondUEidItem.h"
+
+#include "MatchingUEidList.h"
+asn_TYPE_member_t asn_MBR_MeasurementCondUEidItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasurementCondUEidItem, measType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_MeasurementType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MeasurementCondUEidItem, matchingCond),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MatchingCondList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "matchingCond"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasurementCondUEidItem, matchingUEidList),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MatchingUEidList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "matchingUEidList"
+ },
+};
+static const int asn_MAP_MeasurementCondUEidItem_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_MeasurementCondUEidItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasurementCondUEidItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* matchingCond */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* matchingUEidList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasurementCondUEidItem_specs_1 = {
+ sizeof(struct MeasurementCondUEidItem),
+ offsetof(struct MeasurementCondUEidItem, _asn_ctx),
+ asn_MAP_MeasurementCondUEidItem_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_MeasurementCondUEidItem_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementCondUEidItem = {
+ "MeasurementCondUEidItem",
+ "MeasurementCondUEidItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasurementCondUEidItem_tags_1,
+ sizeof(asn_DEF_MeasurementCondUEidItem_tags_1)
+ /sizeof(asn_DEF_MeasurementCondUEidItem_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementCondUEidItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementCondUEidItem_tags_1)
+ /sizeof(asn_DEF_MeasurementCondUEidItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasurementCondUEidItem_1,
+ 3, /* Elements count */
+ &asn_SPC_MeasurementCondUEidItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidItem.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidItem.h
new file mode 100644
index 0000000..e49d2b9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidItem.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementCondUEidItem_H_
+#define _MeasurementCondUEidItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "MeasurementType.h"
+#include "MatchingCondList.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MatchingUEidList;
+
+/* MeasurementCondUEidItem */
+typedef struct MeasurementCondUEidItem {
+ MeasurementType_t measType;
+ MatchingCondList_t matchingCond;
+ struct MatchingUEidList *matchingUEidList; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementCondUEidItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementCondUEidItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementCondUEidItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementCondUEidItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementCondUEidItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidList.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidList.c
new file mode 100644
index 0000000..c024837
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementCondUEidList.h"
+
+#include "MeasurementCondUEidItem.h"
+static asn_oer_constraints_t asn_OER_type_MeasurementCondUEidList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_MeasurementCondUEidList_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasurementCondUEidList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasurementCondUEidItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementCondUEidList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasurementCondUEidList_specs_1 = {
+ sizeof(struct MeasurementCondUEidList),
+ offsetof(struct MeasurementCondUEidList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementCondUEidList = {
+ "MeasurementCondUEidList",
+ "MeasurementCondUEidList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasurementCondUEidList_tags_1,
+ sizeof(asn_DEF_MeasurementCondUEidList_tags_1)
+ /sizeof(asn_DEF_MeasurementCondUEidList_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementCondUEidList_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementCondUEidList_tags_1)
+ /sizeof(asn_DEF_MeasurementCondUEidList_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasurementCondUEidList_constr_1, &asn_PER_type_MeasurementCondUEidList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasurementCondUEidList_1,
+ 1, /* Single element */
+ &asn_SPC_MeasurementCondUEidList_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidList.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidList.h
new file mode 100644
index 0000000..88768c1
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementCondUEidList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementCondUEidList_H_
+#define _MeasurementCondUEidList_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasurementCondUEidItem;
+
+/* MeasurementCondUEidList */
+typedef struct MeasurementCondUEidList {
+ A_SEQUENCE_OF(struct MeasurementCondUEidItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementCondUEidList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementCondUEidList;
+extern asn_SET_OF_specifics_t asn_SPC_MeasurementCondUEidList_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementCondUEidList_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasurementCondUEidList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementCondUEidList_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementData.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementData.c
new file mode 100644
index 0000000..5cadb7c
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementData.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementData.h"
+
+#include "MeasurementRecord.h"
+static asn_oer_constraints_t asn_OER_type_MeasurementData_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_MeasurementData_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasurementData_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasurementRecord,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementData_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasurementData_specs_1 = {
+ sizeof(struct MeasurementData),
+ offsetof(struct MeasurementData, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementData = {
+ "MeasurementData",
+ "MeasurementData",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasurementData_tags_1,
+ sizeof(asn_DEF_MeasurementData_tags_1)
+ /sizeof(asn_DEF_MeasurementData_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementData_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementData_tags_1)
+ /sizeof(asn_DEF_MeasurementData_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasurementData_constr_1, &asn_PER_type_MeasurementData_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasurementData_1,
+ 1, /* Single element */
+ &asn_SPC_MeasurementData_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementData.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementData.h
new file mode 100644
index 0000000..31dc470
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementData.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementData_H_
+#define _MeasurementData_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasurementRecord;
+
+/* MeasurementData */
+typedef struct MeasurementData {
+ A_SEQUENCE_OF(struct MeasurementRecord) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementData_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementData;
+extern asn_SET_OF_specifics_t asn_SPC_MeasurementData_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementData_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasurementData_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementData_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-Item.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-Item.c
new file mode 100644
index 0000000..e18ced9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-Item.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementInfo-Action-Item.h"
+
+asn_TYPE_member_t asn_MBR_MeasurementInfo_Action_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasurementInfo_Action_Item, measName),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementTypeName,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measName"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasurementInfo_Action_Item, measID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MeasurementTypeID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measID"
+ },
+};
+static const int asn_MAP_MeasurementInfo_Action_Item_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_MeasurementInfo_Action_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasurementInfo_Action_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measName */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasurementInfo_Action_Item_specs_1 = {
+ sizeof(struct MeasurementInfo_Action_Item),
+ offsetof(struct MeasurementInfo_Action_Item, _asn_ctx),
+ asn_MAP_MeasurementInfo_Action_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_MeasurementInfo_Action_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementInfo_Action_Item = {
+ "MeasurementInfo-Action-Item",
+ "MeasurementInfo-Action-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasurementInfo_Action_Item_tags_1,
+ sizeof(asn_DEF_MeasurementInfo_Action_Item_tags_1)
+ /sizeof(asn_DEF_MeasurementInfo_Action_Item_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementInfo_Action_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementInfo_Action_Item_tags_1)
+ /sizeof(asn_DEF_MeasurementInfo_Action_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasurementInfo_Action_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_MeasurementInfo_Action_Item_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-Item.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-Item.h
new file mode 100644
index 0000000..c3840d4
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-Item.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementInfo_Action_Item_H_
+#define _MeasurementInfo_Action_Item_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "MeasurementTypeName.h"
+#include "MeasurementTypeID.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasurementInfo-Action-Item */
+typedef struct MeasurementInfo_Action_Item {
+ MeasurementTypeName_t measName;
+ MeasurementTypeID_t *measID; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementInfo_Action_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementInfo_Action_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementInfo_Action_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementInfo_Action_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementInfo_Action_Item_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-List.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-List.c
new file mode 100644
index 0000000..3816e86
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-List.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementInfo-Action-List.h"
+
+#include "MeasurementInfo-Action-Item.h"
+static asn_oer_constraints_t asn_OER_type_MeasurementInfo_Action_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_MeasurementInfo_Action_List_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasurementInfo_Action_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasurementInfo_Action_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementInfo_Action_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasurementInfo_Action_List_specs_1 = {
+ sizeof(struct MeasurementInfo_Action_List),
+ offsetof(struct MeasurementInfo_Action_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementInfo_Action_List = {
+ "MeasurementInfo-Action-List",
+ "MeasurementInfo-Action-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasurementInfo_Action_List_tags_1,
+ sizeof(asn_DEF_MeasurementInfo_Action_List_tags_1)
+ /sizeof(asn_DEF_MeasurementInfo_Action_List_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementInfo_Action_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementInfo_Action_List_tags_1)
+ /sizeof(asn_DEF_MeasurementInfo_Action_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasurementInfo_Action_List_constr_1, &asn_PER_type_MeasurementInfo_Action_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasurementInfo_Action_List_1,
+ 1, /* Single element */
+ &asn_SPC_MeasurementInfo_Action_List_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-List.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-List.h
new file mode 100644
index 0000000..896c317
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfo-Action-List.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementInfo_Action_List_H_
+#define _MeasurementInfo_Action_List_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasurementInfo_Action_Item;
+
+/* MeasurementInfo-Action-List */
+typedef struct MeasurementInfo_Action_List {
+ A_SEQUENCE_OF(struct MeasurementInfo_Action_Item) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementInfo_Action_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementInfo_Action_List;
+extern asn_SET_OF_specifics_t asn_SPC_MeasurementInfo_Action_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementInfo_Action_List_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasurementInfo_Action_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementInfo_Action_List_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoItem.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoItem.c
new file mode 100644
index 0000000..5edae52
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoItem.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasurementInfoItem.h"
+
+asn_TYPE_member_t asn_MBR_MeasurementInfoItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MeasurementInfoItem, measType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_MeasurementType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "measType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementInfoItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasurementInfoItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* measType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasurementInfoItem_specs_1 = {
+ sizeof(struct MeasurementInfoItem),
+ offsetof(struct MeasurementInfoItem, _asn_ctx),
+ asn_MAP_MeasurementInfoItem_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_MeasurementInfoItem = {
+ "MeasurementInfoItem",
+ "MeasurementInfoItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasurementInfoItem_tags_1,
+ sizeof(asn_DEF_MeasurementInfoItem_tags_1)
+ /sizeof(asn_DEF_MeasurementInfoItem_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementInfoItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementInfoItem_tags_1)
+ /sizeof(asn_DEF_MeasurementInfoItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasurementInfoItem_1,
+ 1, /* Elements count */
+ &asn_SPC_MeasurementInfoItem_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoItem.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoItem.h
new file mode 100644
index 0000000..171c1c5
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoItem.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasurementInfoItem_H_
+#define _MeasurementInfoItem_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "MeasurementType.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasurementInfoItem */
+typedef struct MeasurementInfoItem {
+ MeasurementType_t measType;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementInfoItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementInfoItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementInfoItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementInfoItem_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementInfoItem_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoList.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoList.c
new file mode 100644
index 0000000..9e7aed9
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MeasurementInfoList.h"
+
+#include "MeasurementInfoItem.h"
+static asn_oer_constraints_t asn_OER_type_MeasurementInfoList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_MeasurementInfoList_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasurementInfoList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MeasurementInfoItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementInfoList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasurementInfoList_specs_1 = {
+ sizeof(struct MeasurementInfoList),
+ offsetof(struct MeasurementInfoList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementInfoList = {
+ "MeasurementInfoList",
+ "MeasurementInfoList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasurementInfoList_tags_1,
+ sizeof(asn_DEF_MeasurementInfoList_tags_1)
+ /sizeof(asn_DEF_MeasurementInfoList_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementInfoList_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementInfoList_tags_1)
+ /sizeof(asn_DEF_MeasurementInfoList_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasurementInfoList_constr_1, &asn_PER_type_MeasurementInfoList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasurementInfoList_1,
+ 1, /* Single element */
+ &asn_SPC_MeasurementInfoList_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoList.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoList.h
new file mode 100644
index 0000000..f58fabe
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementInfoList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-RC"
+ * found in "e2sm-kpm-rc.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef _MeasurementInfoList_H_
+#define _MeasurementInfoList_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MeasurementInfoItem;
+
+/* MeasurementInfoList */
+typedef struct MeasurementInfoList {
+ A_SEQUENCE_OF(struct MeasurementInfoItem) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementInfoList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementInfoList;
+extern asn_SET_OF_specifics_t asn_SPC_MeasurementInfoList_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementInfoList_1[1];
+extern asn_per_constraints_t asn_PER_type_MeasurementInfoList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementInfoList_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementLabel.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementLabel.c
new file mode 100644
index 0000000..f5e19bb
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementLabel.c
@@ -0,0 +1,527 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementLabel.h"
+
+#include "SNSSAI.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_bitrateRange_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65536)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_layerMU_MIMO_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65536)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_distBinX_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65536)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_distBinY_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65536)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_distBinZ_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65536)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_sUM_constr_13 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_sUM_constr_13 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 asn_oer_constraints_t asn_OER_type_preLabelOverride_constr_19 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_preLabelOverride_constr_19 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 asn_oer_constraints_t asn_OER_type_startEndInd_constr_22 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_startEndInd_constr_22 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 asn_oer_constraints_t asn_OER_memb_bitrateRange_constr_11 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_bitrateRange_constr_11 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, -1, 1, 65536 } /* (1..65536,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_layerMU_MIMO_constr_12 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_layerMU_MIMO_constr_12 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, -1, 1, 65536 } /* (1..65536,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_distBinX_constr_16 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_distBinX_constr_16 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, -1, 1, 65536 } /* (1..65536,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_distBinY_constr_17 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_distBinY_constr_17 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, -1, 1, 65536 } /* (1..65536,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_distBinZ_constr_18 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_distBinZ_constr_18 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, -1, 1, 65536 } /* (1..65536,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_sUM_value2enum_13[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_sUM_enum2value_13[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_sUM_specs_13 = {
+ asn_MAP_sUM_value2enum_13, /* "tag" => N; sorted by tag */
+ asn_MAP_sUM_enum2value_13, /* 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_sUM_tags_13[] = {
+ (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_sUM_13 = {
+ "sUM",
+ "sUM",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_sUM_tags_13,
+ sizeof(asn_DEF_sUM_tags_13)
+ /sizeof(asn_DEF_sUM_tags_13[0]) - 1, /* 1 */
+ asn_DEF_sUM_tags_13, /* Same as above */
+ sizeof(asn_DEF_sUM_tags_13)
+ /sizeof(asn_DEF_sUM_tags_13[0]), /* 2 */
+ { &asn_OER_type_sUM_constr_13, &asn_PER_type_sUM_constr_13, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_sUM_specs_13 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_preLabelOverride_value2enum_19[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_preLabelOverride_enum2value_19[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_preLabelOverride_specs_19 = {
+ asn_MAP_preLabelOverride_value2enum_19, /* "tag" => N; sorted by tag */
+ asn_MAP_preLabelOverride_enum2value_19, /* 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_preLabelOverride_tags_19[] = {
+ (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_preLabelOverride_19 = {
+ "preLabelOverride",
+ "preLabelOverride",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_preLabelOverride_tags_19,
+ sizeof(asn_DEF_preLabelOverride_tags_19)
+ /sizeof(asn_DEF_preLabelOverride_tags_19[0]) - 1, /* 1 */
+ asn_DEF_preLabelOverride_tags_19, /* Same as above */
+ sizeof(asn_DEF_preLabelOverride_tags_19)
+ /sizeof(asn_DEF_preLabelOverride_tags_19[0]), /* 2 */
+ { &asn_OER_type_preLabelOverride_constr_19, &asn_PER_type_preLabelOverride_constr_19, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_preLabelOverride_specs_19 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_startEndInd_value2enum_22[] = {
+ { 0, 5, "start" },
+ { 1, 3, "end" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_startEndInd_enum2value_22[] = {
+ 1, /* end(1) */
+ 0 /* start(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_startEndInd_specs_22 = {
+ asn_MAP_startEndInd_value2enum_22, /* "tag" => N; sorted by tag */
+ asn_MAP_startEndInd_enum2value_22, /* 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_startEndInd_tags_22[] = {
+ (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_startEndInd_22 = {
+ "startEndInd",
+ "startEndInd",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_startEndInd_tags_22,
+ sizeof(asn_DEF_startEndInd_tags_22)
+ /sizeof(asn_DEF_startEndInd_tags_22[0]) - 1, /* 1 */
+ asn_DEF_startEndInd_tags_22, /* Same as above */
+ sizeof(asn_DEF_startEndInd_tags_22)
+ /sizeof(asn_DEF_startEndInd_tags_22[0]), /* 2 */
+ { &asn_OER_type_startEndInd_constr_22, &asn_PER_type_startEndInd_constr_22, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_startEndInd_specs_22 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_MeasurementLabel_1[] = {
+ { ATF_POINTER, 17, offsetof(struct MeasurementLabel, plmnID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMN_Identity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "plmnID"
+ },
+ { ATF_POINTER, 16, offsetof(struct MeasurementLabel, sliceID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SNSSAI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "sliceID"
+ },
+ { ATF_POINTER, 15, offsetof(struct MeasurementLabel, fiveQI),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_FiveQI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fiveQI"
+ },
+ { ATF_POINTER, 14, offsetof(struct MeasurementLabel, qFI),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_QFI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "qFI"
+ },
+ { ATF_POINTER, 13, offsetof(struct MeasurementLabel, qCI),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_QCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "qCI"
+ },
+ { ATF_POINTER, 12, offsetof(struct MeasurementLabel, qCImax),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_QCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "qCImax"
+ },
+ { ATF_POINTER, 11, offsetof(struct MeasurementLabel, qCImin),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_QCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "qCImin"
+ },
+ { ATF_POINTER, 10, offsetof(struct MeasurementLabel, aRPmax),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ARP,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "aRPmax"
+ },
+ { ATF_POINTER, 9, offsetof(struct MeasurementLabel, aRPmin),
+ (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ARP,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "aRPmin"
+ },
+ { ATF_POINTER, 8, offsetof(struct MeasurementLabel, bitrateRange),
+ (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_bitrateRange_constr_11, &asn_PER_memb_bitrateRange_constr_11, memb_bitrateRange_constraint_1 },
+ 0, 0, /* No default value */
+ "bitrateRange"
+ },
+ { ATF_POINTER, 7, offsetof(struct MeasurementLabel, layerMU_MIMO),
+ (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_layerMU_MIMO_constr_12, &asn_PER_memb_layerMU_MIMO_constr_12, memb_layerMU_MIMO_constraint_1 },
+ 0, 0, /* No default value */
+ "layerMU-MIMO"
+ },
+ { ATF_POINTER, 6, offsetof(struct MeasurementLabel, sUM),
+ (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_sUM_13,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "sUM"
+ },
+ { ATF_POINTER, 5, offsetof(struct MeasurementLabel, distBinX),
+ (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_distBinX_constr_16, &asn_PER_memb_distBinX_constr_16, memb_distBinX_constraint_1 },
+ 0, 0, /* No default value */
+ "distBinX"
+ },
+ { ATF_POINTER, 4, offsetof(struct MeasurementLabel, distBinY),
+ (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_distBinY_constr_17, &asn_PER_memb_distBinY_constr_17, memb_distBinY_constraint_1 },
+ 0, 0, /* No default value */
+ "distBinY"
+ },
+ { ATF_POINTER, 3, offsetof(struct MeasurementLabel, distBinZ),
+ (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_distBinZ_constr_18, &asn_PER_memb_distBinZ_constr_18, memb_distBinZ_constraint_1 },
+ 0, 0, /* No default value */
+ "distBinZ"
+ },
+ { ATF_POINTER, 2, offsetof(struct MeasurementLabel, preLabelOverride),
+ (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_preLabelOverride_19,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "preLabelOverride"
+ },
+ { ATF_POINTER, 1, offsetof(struct MeasurementLabel, startEndInd),
+ (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_startEndInd_22,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "startEndInd"
+ },
+};
+static const int asn_MAP_MeasurementLabel_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
+static const ber_tlv_tag_t asn_DEF_MeasurementLabel_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MeasurementLabel_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmnID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sliceID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* fiveQI */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* qFI */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* qCI */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* qCImax */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* qCImin */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* aRPmax */
+ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* aRPmin */
+ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* bitrateRange */
+ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* layerMU-MIMO */
+ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* sUM */
+ { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* distBinX */
+ { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* distBinY */
+ { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* distBinZ */
+ { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* preLabelOverride */
+ { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 } /* startEndInd */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MeasurementLabel_specs_1 = {
+ sizeof(struct MeasurementLabel),
+ offsetof(struct MeasurementLabel, _asn_ctx),
+ asn_MAP_MeasurementLabel_tag2el_1,
+ 17, /* Count of tags in the map */
+ asn_MAP_MeasurementLabel_oms_1, /* Optional members */
+ 17, 0, /* Root/Additions */
+ 17, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementLabel = {
+ "MeasurementLabel",
+ "MeasurementLabel",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MeasurementLabel_tags_1,
+ sizeof(asn_DEF_MeasurementLabel_tags_1)
+ /sizeof(asn_DEF_MeasurementLabel_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementLabel_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementLabel_tags_1)
+ /sizeof(asn_DEF_MeasurementLabel_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MeasurementLabel_1,
+ 17, /* Elements count */
+ &asn_SPC_MeasurementLabel_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementLabel.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementLabel.h
new file mode 100644
index 0000000..80c11c5
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementLabel.h
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementLabel_H_
+#define _MeasurementLabel_H_
+
+
+#include
+
+/* Including external dependencies */
+#include "PLMN-Identity.h"
+#include "FiveQI.h"
+#include "QFI.h"
+#include "QCI.h"
+#include "ARP.h"
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MeasurementLabel__sUM {
+ MeasurementLabel__sUM_true = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_MeasurementLabel__sUM;
+typedef enum MeasurementLabel__preLabelOverride {
+ MeasurementLabel__preLabelOverride_true = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_MeasurementLabel__preLabelOverride;
+typedef enum MeasurementLabel__startEndInd {
+ MeasurementLabel__startEndInd_start = 0,
+ MeasurementLabel__startEndInd_end = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_MeasurementLabel__startEndInd;
+
+/* Forward declarations */
+struct SNSSAI;
+
+/* MeasurementLabel */
+typedef struct MeasurementLabel {
+ PLMN_Identity_t *plmnID; /* OPTIONAL */
+ struct SNSSAI *sliceID; /* OPTIONAL */
+ FiveQI_t *fiveQI; /* OPTIONAL */
+ QFI_t *qFI; /* OPTIONAL */
+ QCI_t *qCI; /* OPTIONAL */
+ QCI_t *qCImax; /* OPTIONAL */
+ QCI_t *qCImin; /* OPTIONAL */
+ ARP_t *aRPmax; /* OPTIONAL */
+ ARP_t *aRPmin; /* OPTIONAL */
+ long *bitrateRange; /* OPTIONAL */
+ long *layerMU_MIMO; /* OPTIONAL */
+ long *sUM; /* OPTIONAL */
+ long *distBinX; /* OPTIONAL */
+ long *distBinY; /* OPTIONAL */
+ long *distBinZ; /* OPTIONAL */
+ long *preLabelOverride; /* OPTIONAL */
+ long *startEndInd; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MeasurementLabel_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_sUM_13; // (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_preLabelOverride_19; // (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_startEndInd_22; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementLabel;
+extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementLabel_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementLabel_1[17];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MeasurementLabel_H_ */
+#include
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementRecord.c b/setup/xapp-sm-connector/asn1c_defs/MeasurementRecord.c
new file mode 100644
index 0000000..6e50f78
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementRecord.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#include "MeasurementRecord.h"
+
+#include "MeasurementRecordItem.h"
+static asn_oer_constraints_t asn_OER_type_MeasurementRecord_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..2147483647)) */};
+asn_per_constraints_t asn_PER_type_MeasurementRecord_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MeasurementRecord_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_MeasurementRecordItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MeasurementRecord_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_MeasurementRecord_specs_1 = {
+ sizeof(struct MeasurementRecord),
+ offsetof(struct MeasurementRecord, _asn_ctx),
+ 2, /* XER encoding is XMLValueList */
+};
+asn_TYPE_descriptor_t asn_DEF_MeasurementRecord = {
+ "MeasurementRecord",
+ "MeasurementRecord",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_MeasurementRecord_tags_1,
+ sizeof(asn_DEF_MeasurementRecord_tags_1)
+ /sizeof(asn_DEF_MeasurementRecord_tags_1[0]), /* 1 */
+ asn_DEF_MeasurementRecord_tags_1, /* Same as above */
+ sizeof(asn_DEF_MeasurementRecord_tags_1)
+ /sizeof(asn_DEF_MeasurementRecord_tags_1[0]), /* 1 */
+ { &asn_OER_type_MeasurementRecord_constr_1, &asn_PER_type_MeasurementRecord_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_MeasurementRecord_1,
+ 1, /* Single element */
+ &asn_SPC_MeasurementRecord_specs_1 /* Additional specs */
+};
+
diff --git a/setup/xapp-sm-connector/asn1c_defs/MeasurementRecord.h b/setup/xapp-sm-connector/asn1c_defs/MeasurementRecord.h
new file mode 100644
index 0000000..51a3176
--- /dev/null
+++ b/setup/xapp-sm-connector/asn1c_defs/MeasurementRecord.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-KPM-IEs"
+ * found in "E2SM-KPM-v02.00.03.asn"
+ * `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
+ */
+
+#ifndef _MeasurementRecord_H_
+#define _MeasurementRecord_H_
+
+
+#include
+
+/* Including external dependencies */
+#include
+#include