Compare commits

..

4 Commits

Author SHA1 Message Date
Andrea Lacava
858d1fae7e start working with ns-o-ran asn1 definitions 2023-02-07 15:52:38 +01:00
Andrea Lacava
b2c654518e Update of Dockerfile to build ns-o-ran and to rebuild e2interface 2022-11-02 01:13:25 +01:00
Andrea Lacava
0849c7769a better launch of the x-app
add setup-e2term.sh
2022-11-02 00:39:52 +01:00
Thecave3
e58988f8b9 add ns-o-ran files
new file:   Dockerfile
	new file:   build-ns-o-ran.sh
	new file:   setup-scripts/import-wines-images.sh
	new file:   setup-scripts/setup-ric-bronze.sh
	new file:   setup-scripts/start-xapp-ns-o-ran.sh
	modified:   setup-scripts/start-xapp.sh
	modified:   setup/xapp-sm-connector/src/xapp.cc
	modified:   setup/xapp-sm-connector/src/xapp.hpp
2022-11-01 18:13:33 +01:00
520 changed files with 28746 additions and 1632 deletions

60
Dockerfile Normal file
View File

@ -0,0 +1,60 @@
#==================================================================================
# Copyright (c) 2022 Northeastern University
#
# 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.
#==================================================================================
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
WORKDIR /workspace
RUN git clone -b develop https://github.com/wineslab/ns-o-ran-e2-sim /workspace/e2sim
RUN mkdir /workspace/e2sim/e2sim/build
WORKDIR /workspace/e2sim/e2sim/build
RUN cmake .. -DDEV_PKG=1 -DLOG_LEVEL=${log_level_e2sim}
RUN make package
RUN echo "Going to install e2sim-dev"
RUN dpkg --install ./e2sim-dev_1.0.0_amd64.deb
RUN ldconfig
WORKDIR /workspace
# Install ns-3
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
WORKDIR /workspace/ns3-mmwave-oran
RUN ./waf configure --enable-tests --enable-examples
RUN ./waf build
WORKDIR /workspace
CMD [ "/bin/sh" ]

22
build-ns-o-ran.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/sh
# Script to import the base images to create the RIC containers from Wineslab Docker Hub
# This shall execute first wineslab images and ns-o-ran after
# import-wines-images.sh
# setup-ric-bronze.sh
# Build image for ns-o-ran
$SUDO docker build -t ns-o-ran -f Dockerfile .
remove_container() {
$SUDO docker inspect $1 >/dev/null 2>&1
if [ $? -eq 0 ]; then
$SUDO docker kill $1
$SUDO docker rm $1
fi
}
remove_container ns-o-ran
$SUDO docker run -d -it --network=ric --name ns-o-ran ns-o-ran

View File

@ -0,0 +1,18 @@
#!/bin/sh
# Script to import the base images to create the RIC containers from Wineslab Docker Hub
# Pull Wines base images
docker pull wineslab/o-ran-sc-bldr-ubuntu18-c-go:9-u18.04
docker pull wineslab/o-ran-sc-bldr-alpine3-go:6-a3.11-rmr3
# Pull Wines RIC images
docker pull wineslab/colo-ran-e2term:bronze
docker pull wineslab/colo-ran-e2mgr:bronze
docker pull wineslab/colo-ran-e2rtmansim:bronze
docker pull wineslab/colo-ran-dbaas:bronze
# Tag images to be used with the setup-ric script
docker tag wineslab/colo-ran-e2term:bronze e2term:bronze
docker tag wineslab/colo-ran-e2mgr:bronze e2mgr:bronze
docker tag wineslab/colo-ran-e2rtmansim:bronze e2rtmansim:bronze
docker tag wineslab/colo-ran-dbaas:bronze dbaas:bronze

103
setup-scripts/setup-e2term.sh Executable file
View File

@ -0,0 +1,103 @@
#!/bin/sh
# Script to setup the E2 termination.
set -x
export SRC=`dirname $0`
. $SRC/setup-lib.sh
OURDIR=../setup
cd $OURDIR
tagvers=`git log --pretty=format:"%h" -n 1`
docker kill e2term
docker rm e2term
docker rmi e2term:bronze
# build e2term
$SUDO docker image inspect e2term:bronze >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
cd e2/RIC-E2-TERMINATION
$SUDO docker image inspect e2term:$tagvers >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
$SUDO docker build -f Dockerfile -t e2term:$tagvers .
fi
$SUDO docker tag e2term:$tagvers e2term:bronze
$SUDO docker rmi e2term:$tagvers
cd ../..
fi
# remove dangling images
docker rmi $(docker images --filter "dangling=true" -q --no-trunc) 2> /dev/null
# Create a route info file to tell the containers where to send various
# messages. This will be mounted on the containers
ROUTERFILE=`pwd`/router.txt
cat << EOF > $ROUTERFILE
newrt|start
rte|10020|$E2MGR_IP:3801
rte|10060|$E2TERM_IP:38000
rte|10061|$E2MGR_IP:3801
rte|10062|$E2MGR_IP:3801
rte|10070|$E2MGR_IP:3801
rte|10071|$E2MGR_IP:3801
rte|10080|$E2MGR_IP:3801
rte|10081|$E2TERM_IP:38000
rte|10082|$E2TERM_IP:38000
rte|10360|$E2TERM_IP:38000
rte|10361|$E2MGR_IP:3801
rte|10362|$E2MGR_IP:3801
rte|10370|$E2MGR_IP:3801
rte|10371|$E2TERM_IP:38000
rte|10372|$E2TERM_IP:38000
rte|1080|$E2MGR_IP:3801
rte|1090|$E2TERM_IP:38000
rte|1100|$E2MGR_IP:3801
rte|12010|$E2MGR_IP:38010
rte|1101|$E2TERM_IP:38000
rte|12002|$E2TERM_IP:38000
rte|12003|$E2TERM_IP:38000
rte|10091|$E2MGR_IP:4801
rte|10092|$E2MGR_IP:4801
rte|1101|$E2TERM_IP:38000
rte|1102|$E2MGR_IP:3801
rte|12001|$E2MGR_IP:3801
mse|12050|$(echo $XAPP_IP | cut -d "." -f 4)|$XAPP_IP:4560
newrt|end
EOF
remove_container() {
$SUDO docker inspect $1 >/dev/null 2>&1
if [ $? -eq 0 ]; then
$SUDO docker kill $1
$SUDO docker rm $1
fi
}
remove_container e2term
E2TERMCONFFILE=`pwd`/e2term_config.conf
if [ ! -e $E2TERMCONFFILE ]; then
cat <<EOF >$E2TERMCONFFILE
nano=38000
loglevel=debug
volume=log
#the key name of the environment holds the local ip address
#ip address of the E2T in the RMR
local-ip=$E2TERM_IP
#trace is start, stop
trace=start
external-fqdn=e2t.com
#put pointer to the key that point to pod name
pod_name=E2TERM_POD_NAME
sctp-port=$E2TERM_SCTP_PORT
EOF
fi
E2TERM_CONFIG_BIND="--mount type=bind,source=$E2TERMCONFFILE,destination=/opt/e2/config/config.conf,ro"
$SUDO docker run -d -it --network=ric --ip $E2TERM_IP --name e2term \
--mount type=bind,source=$ROUTERFILE,destination=/opt/e2/dockerRouter.txt,ro \
$E2TERM_CONFIG_BIND \
e2term:bronze
exit 0

194
setup-scripts/setup-ric-bronze.sh Executable file
View File

@ -0,0 +1,194 @@
#!/bin/sh
# Script to setup the RIC containers. Call as ./setup-ric.sh [network interface]
set -x
# get flags
for ARGUMENT in "$@"
do
KEY=$(echo $ARGUMENT | cut -f1 -d=)
case "$KEY" in
arena) arena=true;;
import) import=true;;
*)
esac
done
# get RIC interface from cli arguments
if [ $# -eq 0 ] || [ "$import" = false ] ; then
RIC_INTERFACE="col0"
else
if [ "$arena" = true ]; then
RIC_INTERFACE="brric"
else
RIC_INTERFACE=$1
fi
fi
export SRC=`dirname $0`
. $SRC/setup-lib.sh
OURDIR=../setup
# import base RIC images
if [ "$import" = true ] || [ $(docker image ls -q | wc -l) -eq "0" ]; then
echo "Importing base Docker images"
cd $SRC
./import-wines-images.sh
fi
cd $OURDIR
tagvers=`git log --pretty=format:"%h" -n 1`
# build e2term
$SUDO docker image inspect e2term:bronze >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
cd e2/RIC-E2-TERMINATION
$SUDO docker image inspect e2term:$tagvers >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
$SUDO docker build -f Dockerfile -t e2term:$tagvers .
fi
$SUDO docker tag e2term:$tagvers e2term:bronze
$SUDO docker rmi e2term:$tagvers
cd ../..
fi
# build e2mgr
$SUDO docker image inspect e2mgr:bronze >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
cd e2mgr/E2Manager
$SUDO docker image inspect e2mgr:$tagvers >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
$SUDO docker build -f Dockerfile -t e2mgr:$tagvers .
fi
$SUDO docker tag e2mgr:$tagvers e2mgr:bronze
$SUDO docker rmi e2mgr:$tagvers
cd ../..
fi
# build e2rtmansim
$SUDO docker image inspect e2rtmansim:bronze >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
cd e2mgr/tools/RoutingManagerSimulator
$SUDO docker image inspect e2rtmansim:$tagvers >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
$SUDO docker build -f Dockerfile -t e2rtmansim:$tagvers .
fi
$SUDO docker tag e2rtmansim:$tagvers e2rtmansim:bronze
$SUDO docker rmi e2rtmansim:$tagvers
cd ../../..
fi
# build dbaas
$SUDO docker image inspect dbaas:bronze >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
cd dbaas
$SUDO docker build -f docker/Dockerfile.redis -t dbaas:bronze .
cd ..
fi
# remove dangling images
docker rmi $(docker images --filter "dangling=true" -q --no-trunc) 2> /dev/null
# create a private network for near-real-time RIC
$SUDO docker network inspect ric >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
$SUDO brctl addbr brric
$SUDO docker network create --subnet=$RIC_SUBNET -d bridge --attachable -o com.docker.network.bridge.name=brric ric
fi
# Create a route info file to tell the containers where to send various
# messages. This will be mounted on the containers
ROUTERFILE=`pwd`/router.txt
cat << EOF > $ROUTERFILE
newrt|start
rte|10020|$E2MGR_IP:3801
rte|10060|$E2TERM_IP:38000
rte|10061|$E2MGR_IP:3801
rte|10062|$E2MGR_IP:3801
rte|10070|$E2MGR_IP:3801
rte|10071|$E2MGR_IP:3801
rte|10080|$E2MGR_IP:3801
rte|10081|$E2TERM_IP:38000
rte|10082|$E2TERM_IP:38000
rte|10360|$E2TERM_IP:38000
rte|10361|$E2MGR_IP:3801
rte|10362|$E2MGR_IP:3801
rte|10370|$E2MGR_IP:3801
rte|10371|$E2TERM_IP:38000
rte|10372|$E2TERM_IP:38000
rte|1080|$E2MGR_IP:3801
rte|1090|$E2TERM_IP:38000
rte|1100|$E2MGR_IP:3801
rte|12010|$E2MGR_IP:38010
rte|1101|$E2TERM_IP:38000
rte|12002|$E2TERM_IP:38000
rte|12003|$E2TERM_IP:38000
rte|10091|$E2MGR_IP:4801
rte|10092|$E2MGR_IP:4801
rte|1101|$E2TERM_IP:38000
rte|1102|$E2MGR_IP:3801
rte|12001|$E2MGR_IP:3801
mse|12050|$(echo $XAPP_IP | cut -d "." -f 4)|$XAPP_IP:4560
newrt|end
EOF
remove_container() {
$SUDO docker inspect $1 >/dev/null 2>&1
if [ $? -eq 0 ]; then
$SUDO docker kill $1
$SUDO docker rm $1
fi
}
# create RIC various containers. Kill and remove them if they exist.
remove_container db
$SUDO docker run -d --network ric --ip $DBAAS_IP --name db dbaas:bronze
remove_container e2rtmansim
$SUDO docker run -d -it --network ric --ip $E2RTMANSIM_IP --name e2rtmansim e2rtmansim:bronze
remove_container e2mgr
$SUDO docker run -d -it --network ric --ip $E2MGR_IP -e RIC_ID=7b0000-000000/18 \
-e DBAAS_PORT_6379_TCP_ADDR=$DBAAS_IP -e DBAAS_PORT_6379_TCP_PORT="6379" \
-e DBAAS_SERVICE_HOST=$DBAAS_IP -e DBAAS_SERCE_PORT="6379" \
--mount type=bind,source=$ROUTERFILE,destination=/opt/E2Manager/router.txt,ro \
--name e2mgr e2mgr:bronze
remove_container e2term
E2TERMCONFFILE=`pwd`/e2term_config.conf
if [ ! -e $E2TERMCONFFILE ]; then
cat <<EOF >$E2TERMCONFFILE
nano=38000
loglevel=debug
volume=log
#the key name of the environment holds the local ip address
#ip address of the E2T in the RMR
local-ip=$E2TERM_IP
#trace is start, stop
trace=start
external-fqdn=e2t.com
#put pointer to the key that point to pod name
pod_name=E2TERM_POD_NAME
sctp-port=$E2TERM_SCTP_PORT
EOF
fi
E2TERM_CONFIG_BIND="--mount type=bind,source=$E2TERMCONFFILE,destination=/opt/e2/config/config.conf,ro"
export RIC_IP=`ifconfig ${RIC_INTERFACE} | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'`
if [ "$arena" = true ]; then
echo 'Starting local setup'
# if both RIC and DU are executed on the same machine, do not set Docker NAT rules
$SUDO docker run -d -it --network=ric --ip $E2TERM_IP --name e2term \
--mount type=bind,source=$ROUTERFILE,destination=/opt/e2/dockerRouter.txt,ro \
$E2TERM_CONFIG_BIND \
e2term:bronze
else
$SUDO docker run -d -it --network=ric --ip $E2TERM_IP --name e2term -p ${RIC_IP}:${E2TERM_SCTP_PORT}:${E2TERM_SCTP_PORT}/sctp\
--mount type=bind,source=$ROUTERFILE,destination=/opt/e2/dockerRouter.txt,ro \
$E2TERM_CONFIG_BIND e2term:bronze
fi
exit 0

View File

@ -0,0 +1,7 @@
#!/bin/bash
docker kill sample-xapp-24
docker rm sample-xapp-24
docker rmi sample-xapp:latest
./setup-sample-xapp.sh ns-o-ran
docker exec -it sample-xapp-24 bash

View File

@ -1,2 +1,2 @@
#!/bin/bash
./setup-sample-xapp.sh gnb:311-048-01000501
./setup-sample-xapp.sh gnb:131-133-31000000

View File

@ -20,7 +20,7 @@
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
# platform project (RICP).
#
FROM nexus3.o-ran-sc.org:10004/o-ran-sc/bldr-ubuntu18-c-go:9-u18.04 as ubuntu
FROM wineslab/o-ran-sc-bldr-ubuntu18-c-go:9-u18.04 as ubuntu
WORKDIR /opt/e2/

View File

@ -61,42 +61,43 @@ RUN apt-get update \
&& apt-get install -y \
python3 \
python3-pip \
gdb
# 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 \
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 \

View File

@ -0,0 +1,6 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MakefileSettings">
<option name="linkedExternalProjectsSettings">
<MakefileProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$/src" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$/src" />
</set>
</option>
<option name="version" value="2" />
</MakefileProjectSettings>
</option>
</component>
<component name="MakefileWorkspace" PROJECT_DIR="$PROJECT_DIR$/src">
<contentRoot DIR="$PROJECT_DIR$" />
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#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 <asn_internal.h>

View File

@ -0,0 +1,174 @@
/*
* Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
* All rights reserved.
* Redistribution and modifications are permitted subject to BSD license.
*/
#ifndef ASN_DISABLE_OER_SUPPORT
#include <asn_internal.h>
#include <BIT_STRING.h>
#include <errno.h>
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 */

View File

@ -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
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
PRIVATE src)
if( DEV_PKG )
install( FILES
${HEADERS}
DESTINATION ${install_inc}
)
endif()
# ---------------------------------------------------------------------------

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */

View File

@ -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_

View File

@ -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 */
};

View File

@ -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;

View File

@ -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 */
};

View File

@ -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;

View File

@ -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 */
};

View File

@ -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;

View File

@ -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 */
};

View File

@ -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;

View File

@ -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 */
};

View File

@ -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;

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "CellObjectID.h"
#include "CellGlobalID.h"
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <constr_CHOICE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <PrintableString.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "NRCGI.h"
#include <NativeInteger.h>
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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;

View File

@ -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"

View File

@ -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_

View File

@ -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 */

View File

@ -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_

View File

@ -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,

View File

@ -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
}

View File

@ -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 */

View File

@ -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_

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "CellObjectID.h"
#include "MeasurementInfoList.h"
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "UE-Identity.h"
#include "E2SM-KPM-ActionDefinition-Format1.h"
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "CellObjectID.h"
#include "MeasurementCondList.h"
#include "GranularityPeriod.h"
#include "SubscriptionID.h"
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "RIC-Style-Type.h"
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <constr_CHOICE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "TimeStamp.h"
#include "GlobalE2node-ID.h"
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <constr_CHOICE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "CellObjectID.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "SubscriptionID.h"
#include "CellObjectID.h"
#include "GranularityPeriod.h"
#include "MeasurementCondUEidList.h"
#include "MeasurementData.h"
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <constr_CHOICE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "RANfunction-Name.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "RANfunction-Name.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "UE-Identity.h"
#include "RIC-Style-Type.h"
#include "RIC-ControlAction-ID.h"
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <constr_CHOICE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <constr_CHOICE.h>
#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 <asn_internal.h>

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include "RANfunction-Name.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

View File

@ -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,

View File

@ -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
}

View File

@ -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,

View File

@ -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
}

View File

@ -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,

View File

@ -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
}

View File

@ -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 */

View File

@ -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_

View File

@ -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 */

View File

@ -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_

View File

@ -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 */

View File

@ -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_

View File

@ -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 */
};

View File

@ -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 <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>
#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 <asn_internal.h>

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