Compare commits
4 Commits
main
...
ns-o-ran-x
Author | SHA1 | Date | |
---|---|---|---|
|
858d1fae7e | ||
|
b2c654518e | ||
|
0849c7769a | ||
|
e58988f8b9 |
60
Dockerfile
Normal file
60
Dockerfile
Normal 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
22
build-ns-o-ran.sh
Executable 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
|
18
setup-scripts/import-wines-images.sh
Executable file
18
setup-scripts/import-wines-images.sh
Executable 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
103
setup-scripts/setup-e2term.sh
Executable 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
194
setup-scripts/setup-ric-bronze.sh
Executable 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
|
7
setup-scripts/start-xapp-ns-o-ran.sh
Executable file
7
setup-scripts/start-xapp-ns-o-ran.sh
Executable 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
|
@ -1,2 +1,2 @@
|
||||
#!/bin/bash
|
||||
./setup-sample-xapp.sh gnb:311-048-01000501
|
||||
./setup-sample-xapp.sh gnb:131-133-31000000
|
@ -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/
|
||||
|
||||
|
@ -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 \
|
||||
|
6
setup/xapp-sm-connector/.idea/.gitignore
vendored
Normal file
6
setup/xapp-sm-connector/.idea/.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
20
setup/xapp-sm-connector/.idea/misc.xml
Normal file
20
setup/xapp-sm-connector/.idea/misc.xml
Normal 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>
|
6
setup/xapp-sm-connector/.idea/vcs.xml
Normal file
6
setup/xapp-sm-connector/.idea/vcs.xml
Normal 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>
|
64
setup/xapp-sm-connector/asn1c_defs/ARP.c
Normal file
64
setup/xapp-sm-connector/asn1c_defs/ARP.c
Normal 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 */
|
||||
};
|
||||
|
46
setup/xapp-sm-connector/asn1c_defs/ARP.h
Normal file
46
setup/xapp-sm-connector/asn1c_defs/ARP.h
Normal 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>
|
174
setup/xapp-sm-connector/asn1c_defs/BIT_STRING_oer.c
Normal file
174
setup/xapp-sm-connector/asn1c_defs/BIT_STRING_oer.c
Normal 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 */
|
40
setup/xapp-sm-connector/asn1c_defs/CMakeLists.txt
Normal file
40
setup/xapp-sm-connector/asn1c_defs/CMakeLists.txt
Normal 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()
|
||||
# ---------------------------------------------------------------------------
|
64
setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.c
Normal file
64
setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.c
Normal 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 */
|
||||
};
|
||||
|
46
setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.h
Normal file
46
setup/xapp-sm-connector/asn1c_defs/CSI-RS-Index.h
Normal 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>
|
130
setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.c
Normal file
130
setup/xapp-sm-connector/asn1c_defs/CUUPMeasurement-Container.c
Normal 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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
|
@ -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_
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
67
setup/xapp-sm-connector/asn1c_defs/CellGlobalID.c
Normal file
67
setup/xapp-sm-connector/asn1c_defs/CellGlobalID.c
Normal 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 */
|
||||
};
|
||||
|
61
setup/xapp-sm-connector/asn1c_defs/CellGlobalID.h
Normal file
61
setup/xapp-sm-connector/asn1c_defs/CellGlobalID.h
Normal 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>
|
109
setup/xapp-sm-connector/asn1c_defs/CellObjectID.c
Normal file
109
setup/xapp-sm-connector/asn1c_defs/CellObjectID.c
Normal 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 */
|
||||
};
|
||||
|
46
setup/xapp-sm-connector/asn1c_defs/CellObjectID.h
Normal file
46
setup/xapp-sm-connector/asn1c_defs/CellObjectID.h
Normal 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>
|
228
setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.c
Normal file
228
setup/xapp-sm-connector/asn1c_defs/CellResourceReportListItem.c
Normal 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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
@ -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_
|
||||
|
@ -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 */
|
||||
|
@ -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_
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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 */
|
||||
|
@ -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_
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
108
setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.c
Normal file
108
setup/xapp-sm-connector/asn1c_defs/E2SM-KPM-ActionDefinition.c
Normal 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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
56
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.c
Normal file
56
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.c
Normal 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 */
|
||||
};
|
||||
|
55
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.h
Normal file
55
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlHeader.h
Normal 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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
56
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.c
Normal file
56
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.c
Normal 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 */
|
||||
};
|
||||
|
55
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.h
Normal file
55
setup/xapp-sm-connector/asn1c_defs/E2SM-RC-ControlMessage.h
Normal 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>
|
@ -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 */
|
||||
};
|
||||
|
@ -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>
|
@ -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,
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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 */
|
||||
|
@ -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_
|
||||
|
@ -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 */
|
||||
|
@ -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_
|
||||
|
@ -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 */
|
||||
|
@ -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_
|
||||
|
130
setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.c
Normal file
130
setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.c
Normal 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 */
|
||||
};
|
||||
|
53
setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.h
Normal file
53
setup/xapp-sm-connector/asn1c_defs/EPC-CUUP-PM-Format.h
Normal 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
Loading…
Reference in New Issue
Block a user