1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-09-10 06:19:48 +00:00

Merge branch 'next' of https://gitlab.com/gnss-sdr/gnss-sdr into next

This commit is contained in:
Carles Fernandez 2019-10-10 11:27:39 +02:00
commit b99f8245d7
721 changed files with 53334 additions and 50824 deletions

View File

@ -138,16 +138,20 @@ c++20:
- pwd - pwd
script: script:
- zypper -n dup - zypper -n dup
- zypper -n install cmake git gcc-c++ gcc-fortran ninja boost-devel libboost_atomic-devel libboost_filesystem-devel libboost_system-devel libboost_date_time-devel libboost_thread-devel libboost_regex-devel libboost_serialization-devel libboost_program_options-devel libboost_math-devel libboost_numpy-devel libboost_chrono-devel libboost_python3-devel libboost_test-devel libboost_headers-devel libboost_test-devel libboost_random-devel libboost_numpy3-devel libboost_graph-devel python3-PyYAML python3 python3-qt5 python3-lxml log4cpp-devel libpcap-devel libtool automake hdf5-devel libopenssl-devel python3-Mako python3-six protobuf-devel gmp-devel python3-gmpy fftw3-devel python3-pyFFTW llvm-clang blas-devel lapack-devel - zypper -n install cmake git gcc-c++ gcc-fortran ninja boost-devel libboost_atomic-devel libboost_filesystem-devel libboost_system-devel libboost_date_time-devel libboost_thread-devel libboost_regex-devel libboost_serialization-devel libboost_program_options-devel libboost_math-devel libboost_numpy-devel libboost_chrono-devel libboost_python3-devel libboost_test-devel libboost_headers-devel libboost_test-devel libboost_random-devel libboost_numpy3-devel libboost_graph-devel python3-PyYAML python3 python3-qt5 python3-lxml log4cpp-devel libpcap-devel libtool automake hdf5-devel libopenssl-devel python3-Mako python3-six protobuf-devel gmp-devel python3-gmpy fftw3-devel python3-pyFFTW llvm-clang blas-devel lapack-devel bison flex libxml2-devel
- mkdir libiio && cd libiio && git clone https://github.com/analogdevicesinc/libiio.git
- cd libiio && mkdir build && cd build && cmake .. && make && make install && ldconfig && cd ../../../
- mkdir ad9361 && cd ad9361 && git clone https://github.com/analogdevicesinc/libad9361-iio.git
- cd libad9361-iio && mkdir build&& cd build && cmake .. && make && make install && ldconfig && cd ../../../
- mkdir gnuradio && cd gnuradio - mkdir gnuradio && cd gnuradio
- git clone --recursive https://github.com/gnuradio/gnuradio - git clone --recursive https://github.com/gnuradio/gnuradio
- cd gnuradio && mkdir build && cd build - cd gnuradio && mkdir build && cd build
- NPROC=$(grep -c ^processor /proc/cpuinfo) - NPROC=$(grep -c ^processor /proc/cpuinfo)
- cmake -DENABLE_DEFAULT=OFF -DENABLE_GNURADIO_RUNTIME=ON -DENABLE_VOLK=ON -DENABLE_GR_BLOCKS=ON -DENABLE_GR_ANALOG=ON -DENABLE_GR_FFT=ON -DENABLE_GR_FILTER=ON .. - cmake -DENABLE_DEFAULT=OFF -DENABLE_GNURADIO_RUNTIME=ON -DENABLE_VOLK=ON -DENABLE_GR_BLOCKS=ON -DENABLE_GR_ANALOG=ON -DENABLE_GR_FFT=ON -DENABLE_GR_FILTER=ON -DENABLE_GR_IIO=ON ..
- make -j$(($NPROC+1)) - make -j$(($NPROC+1))
- make install - make install
- cd ../../../build - cd ../../../build
- cmake -DENABLE_RAW_UDP=ON .. - cmake -DENABLE_RAW_UDP=ON -DENABLE_AD9361=ON ..
- make -j$(($NPROC+1)) VERBOSE=1 - make -j$(($NPROC+1)) VERBOSE=1
- make check - make check
- make install - make install

View File

@ -401,8 +401,8 @@ set(GNSSSDR_PROTOBUF_MIN_VERSION "3.0.0")
################################################################################ ################################################################################
set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.2") set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.2")
set(GNSSSDR_GLOG_LOCAL_VERSION "0.4.0") set(GNSSSDR_GLOG_LOCAL_VERSION "0.4.0")
set(GNSSSDR_ARMADILLO_LOCAL_VERSION "9.700.x") set(GNSSSDR_ARMADILLO_LOCAL_VERSION "9.800.x")
set(GNSSSDR_GTEST_LOCAL_VERSION "1.8.1") set(GNSSSDR_GTEST_LOCAL_VERSION "1.10.0")
set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master") set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master")
set(GNSSSDR_GPSTK_LOCAL_VERSION "2.12") set(GNSSSDR_GPSTK_LOCAL_VERSION "2.12")
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.17") set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.17")
@ -2275,11 +2275,17 @@ endif()
# IIO blocks for GNU Radio # IIO blocks for GNU Radio
# https://github.com/analogdevicesinc/gr-iio # https://github.com/analogdevicesinc/gr-iio
############################################## ##############################################
find_package(GRIIO) if(GNURADIO_IIO_FOUND)
set_package_properties(GRIIO PROPERTIES set(GRIIO_FOUND TRUE)
set(GR_IIO_INCLUDE_HAS_GNURADIO TRUE)
set(GNURADIO_API_IIO TRUE)
else()
find_package(GRIIO)
set_package_properties(GRIIO PROPERTIES
PURPOSE "Used for communication with PlutoSDR and FMCOMMS devices." PURPOSE "Used for communication with PlutoSDR and FMCOMMS devices."
TYPE OPTIONAL TYPE OPTIONAL
) )
endif()
if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
if(NOT GRIIO_FOUND) if(NOT GRIIO_FOUND)
message(STATUS "gnuradio-iio not found, its installation is required.") message(STATUS "gnuradio-iio not found, its installation is required.")

View File

@ -220,9 +220,9 @@ $ sudo apt-get install libblas-dev liblapack-dev # For Debian/Ubuntu/Linux
$ sudo yum install lapack-devel blas-devel # For Fedora/CentOS/RHEL $ sudo yum install lapack-devel blas-devel # For Fedora/CentOS/RHEL
$ sudo zypper install lapack-devel blas-devel # For OpenSUSE $ sudo zypper install lapack-devel blas-devel # For OpenSUSE
$ sudo pacman -S blas lapack # For Arch Linux $ sudo pacman -S blas lapack # For Arch Linux
$ wget http://sourceforge.net/projects/arma/files/armadillo-9.700.2.tar.xz $ wget https://sourceforge.net/projects/arma/files/armadillo-9.700.3.tar.xz
$ tar xvfz armadillo-9.700.2.tar.xz $ tar xvfz armadillo-9.700.3.tar.xz
$ cd armadillo-9.700.2 $ cd armadillo-9.700.3
$ cmake . $ cmake .
$ make $ make
$ sudo make install $ sudo make install
@ -261,23 +261,20 @@ $ sudo ldconfig
#### Build the [Google C++ Testing Framework](https://github.com/google/googletest "Googletest Homepage"), also known as Google Test: #### Download the [Google C++ Testing Framework](https://github.com/google/googletest "Googletest Homepage"), also known as Google Test:
~~~~~~ ~~~~~~
$ wget https://github.com/google/googletest/archive/release-1.8.1.zip $ wget https://github.com/google/googletest/archive/v1.10.x.zip
$ unzip release-1.8.1.zip $ unzip v1.10.x.zip
$ cd googletest-release-1.8.1
$ cmake -DINSTALL_GTEST=OFF -DBUILD_GMOCK=OFF .
$ make
~~~~~~ ~~~~~~
Please **DO NOT install** Google Test (do *not* type `sudo make install`). Every user needs to compile his tests using the same compiler flags used to compile the installed Google Test libraries; otherwise he may run into undefined behaviors (i.e. the tests can behave strangely and may even crash for no obvious reasons). The reason is that C++ has this thing called the One-Definition Rule: if two C++ source files contain different definitions of the same class/function/variable, and you link them together, you violate the rule. The linker may or may not catch the error (in many cases it is not required by the C++ standard to catch the violation). If it does not, you get strange run-time behaviors that are unexpected and hard to debug. If you compile Google Test and your test code using different compiler flags, they may see different definitions of the same class/function/variable (e.g. due to the use of `#if` in Google Test). Therefore, for your sanity, we recommend to avoid installing pre-compiled Google Test libraries. Instead, each project should compile Google Test itself such that it can be sure that the same flags are used for both Google Test and the tests. The building system of GNSS-SDR does the compilation and linking of googletest to its own tests; it is only required that you tell the system where the googletest folder that you downloaded resides. Just add to your `$HOME/.bashrc` file the following line: Please **DO NOT build or install** Google Test. Every user needs to compile tests using the same compiler flags used to compile the Google Test libraries; otherwise he or she may run into undefined behaviors (_i.e._, the tests can behave strangely and may even crash for no obvious reasons). The explanation is that C++ has the One-Definition Rule: if two C++ source files contain different definitions of the same class/function/variable, and you link them together, you violate the rule. The linker may or may not catch the error (in many cases it is not required by the C++ standard to catch the violation). If it does not, you get strange run-time behaviors that are unexpected and hard to debug. If you compile Google Test and your test code using different compiler flags, they may see different definitions of the same class/function/variable (_e.g._, due to the use of `#if` in Google Test). Therefore, for your sanity, GNSS-SDR does not make use of pre-compiled Google Test libraries. Instead, it compiles Google Test's source code itself, such that it can be sure that the same flags are used for both Google Test and the tests. The building system of GNSS-SDR manages the compilation and linking of Google Test's source code to its own tests; it is only required that you tell the system where the Google Test folder that you downloaded resides. Just type in your terminal (or add it to your `$HOME/.bashrc` file for a permanent solution) the following line:
~~~~~~ ~~~~~~
export GTEST_DIR=/home/username/googletest-release-1.8.1/googletest export GTEST_DIR=/home/username/googletest-1.10.x
~~~~~~ ~~~~~~
changing `/home/username/googletest-release-1.8.1/googletest` by the actual directory where you built googletest. changing `/home/username/googletest-1.10.x` by the actual path where you unpacked Google Test. If the CMake script does not find that folder, or the environment variable is not defined, or the source code is not installed by a package, then it will download a fresh copy of the Google Test source code and will compile and link it for you.

View File

@ -76,7 +76,6 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
PATHS /usr/include PATHS /usr/include
/usr/local/include /usr/local/include
/opt/local/include /opt/local/include
${GNURADIO_INSTALL_PREFIX}/include
${GNURADIO_ROOT}/include ${GNURADIO_ROOT}/include
$ENV{GNURADIO_ROOT}/include $ENV{GNURADIO_ROOT}/include
$ENV{GNURADIO_RUNTIME_DIR}/include $ENV{GNURADIO_RUNTIME_DIR}/include
@ -118,7 +117,6 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
/usr/local/lib /usr/local/lib
/usr/local/lib64 /usr/local/lib64
/opt/local/lib /opt/local/lib
${GNURADIO_INSTALL_PREFIX}/lib
${GNURADIO_ROOT}/lib ${GNURADIO_ROOT}/lib
$ENV{GNURADIO_ROOT}/lib $ENV{GNURADIO_ROOT}/lib
${GNURADIO_ROOT}/lib64 ${GNURADIO_ROOT}/lib64
@ -277,6 +275,99 @@ else()
) )
endif() endif()
# Search for IIO component
if(GNURADIO_VERSION VERSION_GREATER 3.8.99)
pkg_check_modules(PC_GNURADIO_IIO QUIET gnuradio-iio)
# look for include files
message(STATUS "Checking for GNU Radio Module: IIO")
find_path(GNURADIO_IIO_INCLUDE_DIRS
NAMES gnuradio/iio/api.h
HINTS ${PC_GNURADIO_IIO_INCLUDEDIR}
PATHS /usr/include
/usr/local/include
/opt/local/include
${GNURADIO_INSTALL_PREFIX}/include
${GNURADIO_ROOT}/include
$ENV{GNURADIO_ROOT}/include
$ENV{GNURADIO_RUNTIME_DIR}/include
${CMAKE_INSTALL_PREFIX}/include
${GNURADIO_INSTALL_PREFIX}/include
)
# look for libs
find_library(GNURADIO_IIO_LIBRARIES
NAMES gnuradio-iio gnuradio-iio-${GNURADIO_VERSION}
HINTS ${PC_GNURADIO_IIO_LIBDIR}
PATHS /usr/lib
/usr/lib64
/usr/lib/x86_64-linux-gnu
/usr/lib/i386-linux-gnu
/usr/lib/arm-linux-gnueabihf
/usr/lib/arm-linux-gnueabi
/usr/lib/aarch64-linux-gnu
/usr/lib/mipsel-linux-gnu
/usr/lib/mips-linux-gnu
/usr/lib/mips64el-linux-gnuabi64
/usr/lib/powerpc-linux-gnu
/usr/lib/powerpc64-linux-gnu
/usr/lib/powerpc64le-linux-gnu
/usr/lib/powerpc-linux-gnuspe
/usr/lib/hppa-linux-gnu
/usr/lib/s390x-linux-gnu
/usr/lib/i386-gnu
/usr/lib/hppa-linux-gnu
/usr/lib/x86_64-kfreebsd-gnu
/usr/lib/i386-kfreebsd-gnu
/usr/lib/m68k-linux-gnu
/usr/lib/sh4-linux-gnu
/usr/lib/sparc64-linux-gnu
/usr/lib/x86_64-linux-gnux32
/usr/lib/alpha-linux-gnu
/usr/lib/riscv64-linux-gnu
/usr/local/lib
/usr/local/lib64
/opt/local/lib
${GNURADIO_ROOT}/lib
$ENV{GNURADIO_ROOT}/lib
${GNURADIO_ROOT}/lib64
$ENV{GNURADIO_ROOT}/lib64
$ENV{GNURADIO_RUNTIME_DIR}/lib
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
${GNURADIO_INSTALL_PREFIX}/lib
${GNURADIO_INSTALL_PREFIX}/lib64
)
if(GNURADIO_IIO_LIBRARIES)
message(STATUS " * INCLUDES=${GNURADIO_IIO_INCLUDE_DIRS}")
message(STATUS " * LIBS=${GNURADIO_IIO_LIBRARIES}")
endif()
find_package_handle_standard_args(GNURADIO_IIO DEFAULT_MSG GNURADIO_IIO_LIBRARIES GNURADIO_IIO_INCLUDE_DIRS)
if(GNURADIO_IIO_FOUND)
message(STATUS "GNURADIO_IIO_FOUND = ${GNURADIO_IIO_FOUND}")
# append to all includes and libs list
set(GNURADIO_ALL_INCLUDE_DIRS ${GNURADIO_ALL_INCLUDE_DIRS} ${GNURADIO_IIO_INCLUDE_DIRS})
set(GNURADIO_ALL_LIBRARIES ${GNURADIO_ALL_LIBRARIES} ${GNURADIO_IIO_LIBRARIES})
# Create imported target
if(NOT TARGET Gnuradio::iio)
add_library(Gnuradio::iio SHARED IMPORTED)
set(GNURADIO_LIBRARY ${GNURADIO_IIO_LIBRARIES})
list(GET GNURADIO_LIBRARY 0 FIRST_DIR)
get_filename_component(GNURADIO_DIR ${FIRST_DIR} ABSOLUTE)
set_target_properties(Gnuradio::iio PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
IMPORTED_LOCATION "${GNURADIO_DIR}"
INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_IIO_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${GNURADIO_LIBRARY}"
)
endif()
endif()
endif()
set_package_properties(GNURADIO PROPERTIES set_package_properties(GNURADIO PROPERTIES
URL "https://www.gnuradio.org/" URL "https://www.gnuradio.org/"
) )

View File

@ -97,7 +97,7 @@ Channel.signal=1C
;######### ACQUISITION GLOBAL CONFIG ############ ;######### ACQUISITION GLOBAL CONFIG ############
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
Acquisition_1C.item_type=gr_complex Acquisition_1C.item_type=gr_complex
Acquisition_1C.coherent_integration_time_ms =1 Acquisition_1C.coherent_integration_time_ms=1
Acquisition_1C.threshold=0.015 Acquisition_1C.threshold=0.015
;Acquisition_1C.pfa=0.0001 ;Acquisition_1C.pfa=0.0001
Acquisition_1C.doppler_max=10000 Acquisition_1C.doppler_max=10000

View File

@ -217,6 +217,16 @@ if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
PUBLIC -DGRIIO_INCLUDE_HAS_GNURADIO=1 PUBLIC -DGRIIO_INCLUDE_HAS_GNURADIO=1
) )
endif() endif()
if(GNURADIO_API_IIO)
target_compile_definitions(signal_source_adapters
PUBLIC -DGNURADIO_API_IIO=1
)
endif()
target_link_libraries(signal_source_adapters
PUBLIC
Gnuradio::iio
Boost::chrono
)
endif() endif()
if(ENABLE_CLANG_TIDY) if(ENABLE_CLANG_TIDY)

View File

@ -342,6 +342,34 @@ Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(ConfigurationInterface *configura
} }
if (switch_position == 2) // Real-time via AD9361 if (switch_position == 2) // Real-time via AD9361
{ {
// some basic checks
if ((rf_port_select_ != "A_BALANCED") and (rf_port_select_ != "B_BALANCED") and (rf_port_select_ != "A_N") and (rf_port_select_ != "B_N") and (rf_port_select_ != "B_P") and (rf_port_select_ != "C_N") and (rf_port_select_ != "C_P") and (rf_port_select_ != "TX_MONITOR1") and (rf_port_select_ != "TX_MONITOR2") and (rf_port_select_ != "TX_MONITOR1_2"))
{
std::cout << "Configuration parameter rf_port_select should take one of these values:" << std::endl;
std::cout << " A_BALANCED, B_BALANCED, A_N, B_N, B_P, C_N, C_P, TX_MONITOR1, TX_MONITOR2, TX_MONITOR1_2" << std::endl;
std::cout << "Error: provided value rf_port_select=" << rf_port_select_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value rf_port_select=A_BALANCED" << std::endl;
rf_port_select_ = std::string("A_BALANCED");
}
if ((gain_mode_rx1_ != "manual") and (gain_mode_rx1_ != "slow_attack") and (gain_mode_rx1_ != "fast_attack") and (gain_mode_rx1_ != "hybrid"))
{
std::cout << "Configuration parameter gain_mode_rx1 should take one of these values:" << std::endl;
std::cout << " manual, slow_attack, fast_attack, hybrid" << std::endl;
std::cout << "Error: provided value gain_mode_rx1=" << gain_mode_rx1_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value gain_mode_rx1=manual" << std::endl;
gain_mode_rx1_ = std::string("manual");
}
if ((gain_mode_rx2_ != "manual") and (gain_mode_rx2_ != "slow_attack") and (gain_mode_rx2_ != "fast_attack") and (gain_mode_rx2_ != "hybrid"))
{
std::cout << "Configuration parameter gain_mode_rx2 should take one of these values:" << std::endl;
std::cout << " manual, slow_attack, fast_attack, hybrid" << std::endl;
std::cout << "Error: provided value gain_mode_rx2=" << gain_mode_rx2_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value gain_mode_rx2=manual" << std::endl;
gain_mode_rx2_ = std::string("manual");
}
std::cout << "LO frequency : " << freq_ << " Hz" << std::endl; std::cout << "LO frequency : " << freq_ << " Hz" << std::endl;
config_ad9361_rx_local(bandwidth_, config_ad9361_rx_local(bandwidth_,
sample_rate_, sample_rate_,
@ -350,7 +378,10 @@ Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(ConfigurationInterface *configura
gain_mode_rx1_, gain_mode_rx1_,
gain_mode_rx2_, gain_mode_rx2_,
rf_gain_rx1_, rf_gain_rx1_,
rf_gain_rx2_); rf_gain_rx2_,
quadrature_,
rf_dc_,
bb_dc_);
// LOCAL OSCILLATOR DDS GENERATOR FOR DUAL FREQUENCY OPERATION // LOCAL OSCILLATOR DDS GENERATOR FOR DUAL FREQUENCY OPERATION
if (enable_dds_lo_ == true) if (enable_dds_lo_ == true)

View File

@ -64,6 +64,10 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
rf_gain_rx2_ = configuration->property(role + ".gain_rx2", 64.0); rf_gain_rx2_ = configuration->property(role + ".gain_rx2", 64.0);
rf_port_select_ = configuration->property(role + ".rf_port_select", std::string("A_BALANCED")); rf_port_select_ = configuration->property(role + ".rf_port_select", std::string("A_BALANCED"));
filter_file_ = configuration->property(role + ".filter_file", std::string("")); filter_file_ = configuration->property(role + ".filter_file", std::string(""));
filter_source_ = configuration->property(role + ".filter_source", std::string("Off"));
filter_filename_ = configuration->property(role + ".filter_filename", std::string(""));
Fpass_ = configuration->property(role + ".Fpass", 0.0);
Fstop_ = configuration->property(role + ".Fstop", 0.0);
filter_auto_ = configuration->property(role + ".filter_auto", true); filter_auto_ = configuration->property(role + ".filter_auto", true);
item_type_ = configuration->property(role + ".item_type", default_item_type); item_type_ = configuration->property(role + ".item_type", default_item_type);
samples_ = configuration->property(role + ".samples", 0); samples_ = configuration->property(role + ".samples", 0);
@ -80,6 +84,46 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
item_size_ = sizeof(gr_complex); item_size_ = sizeof(gr_complex);
// some basic checks
if ((rf_port_select_ != "A_BALANCED") and (rf_port_select_ != "B_BALANCED") and (rf_port_select_ != "A_N") and (rf_port_select_ != "B_N") and (rf_port_select_ != "B_P") and (rf_port_select_ != "C_N") and (rf_port_select_ != "C_P") and (rf_port_select_ != "TX_MONITOR1") and (rf_port_select_ != "TX_MONITOR2") and (rf_port_select_ != "TX_MONITOR1_2"))
{
std::cout << "Configuration parameter rf_port_select should take one of these values:" << std::endl;
std::cout << " A_BALANCED, B_BALANCED, A_N, B_N, B_P, C_N, C_P, TX_MONITOR1, TX_MONITOR2, TX_MONITOR1_2" << std::endl;
std::cout << "Error: provided value rf_port_select=" << rf_port_select_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value rf_port_select=A_BALANCED" << std::endl;
rf_port_select_ = std::string("A_BALANCED");
}
if ((gain_mode_rx1_ != "manual") and (gain_mode_rx1_ != "slow_attack") and (gain_mode_rx1_ != "fast_attack") and (gain_mode_rx1_ != "hybrid"))
{
std::cout << "Configuration parameter gain_mode_rx1 should take one of these values:" << std::endl;
std::cout << " manual, slow_attack, fast_attack, hybrid" << std::endl;
std::cout << "Error: provided value gain_mode_rx1=" << gain_mode_rx1_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value gain_mode_rx1=manual" << std::endl;
gain_mode_rx1_ = std::string("manual");
}
if ((gain_mode_rx2_ != "manual") and (gain_mode_rx2_ != "slow_attack") and (gain_mode_rx2_ != "fast_attack") and (gain_mode_rx2_ != "hybrid"))
{
std::cout << "Configuration parameter gain_mode_rx2 should take one of these values:" << std::endl;
std::cout << " manual, slow_attack, fast_attack, hybrid" << std::endl;
std::cout << "Error: provided value gain_mode_rx2=" << gain_mode_rx2_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value gain_mode_rx2=manual" << std::endl;
gain_mode_rx2_ = std::string("manual");
}
if ((filter_source_ != "Off") and (filter_source_ != "Auto") and (filter_source_ != "File") and (filter_source_ != "Design"))
{
std::cout << "Configuration parameter filter_source should take one of these values:" << std::endl;
std::cout << " Off: Disable filter" << std::endl;
std::cout << " Auto: Use auto-generated filters" << std::endl;
std::cout << " File: User-provided filter in filter_filename parameter" << std::endl;
std::cout << " Design: Create filter from Fpass, Fstop, sampling_frequency and bandwidth parameters" << std::endl;
std::cout << "Error: provided value filter_source=" << filter_source_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value filter_source=Off" << std::endl;
filter_source_ = std::string("Off");
}
std::cout << "device address: " << uri_ << std::endl; std::cout << "device address: " << uri_ << std::endl;
std::cout << "LO frequency : " << freq_ << " Hz" << std::endl; std::cout << "LO frequency : " << freq_ << " Hz" << std::endl;
std::cout << "sample rate: " << sample_rate_ << " Hz" << std::endl; std::cout << "sample rate: " << sample_rate_ << " Hz" << std::endl;
@ -94,6 +138,17 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
} }
else else
{ {
#if GNURADIO_API_IIO
fmcomms2_source_f32c_ = gr::iio::fmcomms2_source_f32c::make(
uri_.c_str(), freq_, sample_rate_,
bandwidth_,
rx1_en_, rx2_en_,
buffer_size_, quadrature_, rf_dc_,
bb_dc_, gain_mode_rx1_.c_str(), rf_gain_rx1_,
gain_mode_rx2_.c_str(), rf_gain_rx2_,
rf_port_select_.c_str(), filter_source_.c_str(),
filter_filename_.c_str(), Fpass_, Fstop_);
#else
fmcomms2_source_f32c_ = gr::iio::fmcomms2_source_f32c::make( fmcomms2_source_f32c_ = gr::iio::fmcomms2_source_f32c::make(
uri_.c_str(), freq_, sample_rate_, uri_.c_str(), freq_, sample_rate_,
bandwidth_, bandwidth_,
@ -103,7 +158,7 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
gain_mode_rx2_.c_str(), rf_gain_rx2_, gain_mode_rx2_.c_str(), rf_gain_rx2_,
rf_port_select_.c_str(), filter_file_.c_str(), rf_port_select_.c_str(), filter_file_.c_str(),
filter_auto_); filter_auto_);
#endif
// configure LO // configure LO
if (enable_dds_lo_ == true) if (enable_dds_lo_ == true)
{ {
@ -126,6 +181,17 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
} }
else else
{ {
#if GNURADIO_API_IIO
fmcomms2_source_f32c_ = gr::iio::fmcomms2_source_f32c::make(
uri_.c_str(), freq_, sample_rate_,
bandwidth_,
rx1_en_, rx2_en_,
buffer_size_, quadrature_, rf_dc_,
bb_dc_, gain_mode_rx1_.c_str(), rf_gain_rx1_,
gain_mode_rx2_.c_str(), rf_gain_rx2_,
rf_port_select_.c_str(), filter_source_.c_str(),
filter_filename_.c_str(), Fpass_, Fstop_);
#else
fmcomms2_source_f32c_ = gr::iio::fmcomms2_source_f32c::make( fmcomms2_source_f32c_ = gr::iio::fmcomms2_source_f32c::make(
uri_.c_str(), freq_, sample_rate_, uri_.c_str(), freq_, sample_rate_,
bandwidth_, bandwidth_,
@ -135,6 +201,7 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
gain_mode_rx2_.c_str(), rf_gain_rx2_, gain_mode_rx2_.c_str(), rf_gain_rx2_,
rf_port_select_.c_str(), filter_file_.c_str(), rf_port_select_.c_str(), filter_file_.c_str(),
filter_auto_); filter_auto_);
#endif
// configure LO // configure LO
if (enable_dds_lo_ == true) if (enable_dds_lo_ == true)
{ {

View File

@ -102,6 +102,10 @@ private:
std::string rf_port_select_; std::string rf_port_select_;
std::string filter_file_; std::string filter_file_;
bool filter_auto_; bool filter_auto_;
std::string filter_source_;
std::string filter_filename_;
float Fpass_;
float Fstop_;
// DDS configuration for LO generation for external mixer // DDS configuration for LO generation for external mixer
bool enable_dds_lo_; bool enable_dds_lo_;

View File

@ -55,7 +55,10 @@ PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration
rf_gain_ = configuration->property(role + ".gain", 50.0); rf_gain_ = configuration->property(role + ".gain", 50.0);
filter_file_ = configuration->property(role + ".filter_file", std::string("")); filter_file_ = configuration->property(role + ".filter_file", std::string(""));
filter_auto_ = configuration->property(role + ".filter_auto", true); filter_auto_ = configuration->property(role + ".filter_auto", true);
filter_source_ = configuration->property(role + ".filter_source", std::string("Off"));
filter_filename_ = configuration->property(role + ".filter_filename", std::string(""));
Fpass_ = configuration->property(role + ".Fpass", 0.0);
Fstop_ = configuration->property(role + ".Fstop", 0.0);
item_type_ = configuration->property(role + ".item_type", default_item_type); item_type_ = configuration->property(role + ".item_type", default_item_type);
samples_ = configuration->property(role + ".samples", 0); samples_ = configuration->property(role + ".samples", 0);
dump_ = configuration->property(role + ".dump", false); dump_ = configuration->property(role + ".dump", false);
@ -67,6 +70,16 @@ PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration
LOG(FATAL) << "Configuration error: item_type must be gr_complex!"; LOG(FATAL) << "Configuration error: item_type must be gr_complex!";
} }
// basic check
if ((gain_mode_ != "manual") and (gain_mode_ != "slow_attack") and (gain_mode_ != "fast_attack") and (gain_mode_ != "hybrid"))
{
std::cout << "Configuration parameter gain_mode_rx1 should take one of these values:" << std::endl;
std::cout << " manual, slow_attack, fast_attack, hybrid" << std::endl;
std::cout << "Error: provided value gain_mode=" << gain_mode_ << " is not among valid values" << std::endl;
std::cout << " This parameter has been set to its default value gain_mode=manual" << std::endl;
gain_mode_ = std::string("manual");
}
item_size_ = sizeof(gr_complex); item_size_ = sizeof(gr_complex);
std::cout << "device address: " << uri_ << std::endl; std::cout << "device address: " << uri_ << std::endl;
@ -75,10 +88,16 @@ PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration
std::cout << "gain mode: " << gain_mode_ << std::endl; std::cout << "gain mode: " << gain_mode_ << std::endl;
std::cout << "item type: " << item_type_ << std::endl; std::cout << "item type: " << item_type_ << std::endl;
#if GNURADIO_API_IIO
plutosdr_source_ = gr::iio::pluto_source::make(uri_, freq_, sample_rate_,
bandwidth_, buffer_size_, quadrature_, rf_dc_, bb_dc_,
gain_mode_.c_str(), rf_gain_, filter_source_.c_str(),
filter_filename_.c_str(), Fpass_, Fstop_);
#else
plutosdr_source_ = gr::iio::pluto_source::make(uri_, freq_, sample_rate_, plutosdr_source_ = gr::iio::pluto_source::make(uri_, freq_, sample_rate_,
bandwidth_, buffer_size_, quadrature_, rf_dc_, bb_dc_, bandwidth_, buffer_size_, quadrature_, rf_dc_, bb_dc_,
gain_mode_.c_str(), rf_gain_, filter_file_.c_str(), filter_auto_); gain_mode_.c_str(), rf_gain_, filter_file_.c_str(), filter_auto_);
#endif
if (samples_ != 0) if (samples_ != 0)
{ {
DLOG(INFO) << "Send STOP signal after " << samples_ << " samples"; DLOG(INFO) << "Send STOP signal after " << samples_ << " samples";

View File

@ -97,6 +97,10 @@ private:
double rf_gain_; double rf_gain_;
std::string filter_file_; std::string filter_file_;
bool filter_auto_; bool filter_auto_;
std::string filter_source_;
std::string filter_filename_;
float Fpass_;
float Fstop_;
unsigned int in_stream_; unsigned int in_stream_;
unsigned int out_stream_; unsigned int out_stream_;

View File

@ -63,16 +63,6 @@ target_include_directories(signal_source_libs
${CMAKE_SOURCE_DIR}/src/core/receiver ${CMAKE_SOURCE_DIR}/src/core/receiver
) )
if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
target_link_libraries(signal_source_libs
PUBLIC
Gnuradio::iio
PRIVATE
Gnuradio::analog
Iio::iio
)
endif()
if(ENABLE_FMCOMMS2 OR ENABLE_AD9361) if(ENABLE_FMCOMMS2 OR ENABLE_AD9361)
target_link_libraries(signal_source_libs target_link_libraries(signal_source_libs
PUBLIC PUBLIC

View File

@ -183,7 +183,10 @@ bool config_ad9361_rx_local(uint64_t bandwidth_,
const std::string &gain_mode_rx1_, const std::string &gain_mode_rx1_,
const std::string &gain_mode_rx2_, const std::string &gain_mode_rx2_,
double rf_gain_rx1_, double rf_gain_rx1_,
double rf_gain_rx2_) double rf_gain_rx2_,
bool quadrature_,
bool rfdc_,
bool bbdc_)
{ {
// RX stream config // RX stream config
@ -264,6 +267,21 @@ bool config_ad9361_rx_local(uint64_t bandwidth_,
{ {
std::cout << "Failed to set calib_mode: " << ret << std::endl; std::cout << "Failed to set calib_mode: " << ret << std::endl;
} }
ret = iio_device_attr_write_bool(ad9361_phy, "in_voltage_quadrature_tracking_en", quadrature_);
if (ret < 0)
{
std::cout << "Failed to set in_voltage_quadrature_tracking_en: " << ret << std::endl;
}
ret = iio_device_attr_write_bool(ad9361_phy, "in_voltage_rf_dc_offset_tracking_en", rfdc_);
if (ret < 0)
{
std::cout << "Failed to set in_voltage_rf_dc_offset_tracking_en: " << ret << std::endl;
}
ret = iio_device_attr_write_bool(ad9361_phy, "in_voltage_bb_dc_offset_tracking_en", bbdc_);
if (ret < 0)
{
std::cout << "Failed to set in_voltage_bb_dc_offset_tracking_en: " << ret << std::endl;
}
ret = iio_device_attr_write(ad9361_phy, "in_voltage0_gain_control_mode", gain_mode_rx1_.c_str()); ret = iio_device_attr_write(ad9361_phy, "in_voltage0_gain_control_mode", gain_mode_rx1_.c_str());
if (ret < 0) if (ret < 0)
{ {
@ -299,7 +317,10 @@ bool config_ad9361_rx_remote(const std::string &remote_host,
const std::string &gain_mode_rx1_, const std::string &gain_mode_rx1_,
const std::string &gain_mode_rx2_, const std::string &gain_mode_rx2_,
double rf_gain_rx1_, double rf_gain_rx1_,
double rf_gain_rx2_) double rf_gain_rx2_,
bool quadrature_,
bool rfdc_,
bool bbdc_)
{ {
// RX stream config // RX stream config
// Stream configurations // Stream configurations
@ -379,6 +400,21 @@ bool config_ad9361_rx_remote(const std::string &remote_host,
{ {
std::cout << "Failed to set calib_mode: " << ret << std::endl; std::cout << "Failed to set calib_mode: " << ret << std::endl;
} }
ret = iio_device_attr_write_bool(ad9361_phy, "in_voltage_quadrature_tracking_en", quadrature_);
if (ret < 0)
{
std::cout << "Failed to set in_voltage_quadrature_tracking_en: " << ret << std::endl;
}
ret = iio_device_attr_write_bool(ad9361_phy, "in_voltage_rf_dc_offset_tracking_en", rfdc_);
if (ret < 0)
{
std::cout << "Failed to set in_voltage_rf_dc_offset_tracking_en: " << ret << std::endl;
}
ret = iio_device_attr_write_bool(ad9361_phy, "in_voltage_bb_dc_offset_tracking_en", bbdc_);
if (ret < 0)
{
std::cout << "Failed to set in_voltage_bb_dc_offset_tracking_en: " << ret << std::endl;
}
ret = iio_device_attr_write(ad9361_phy, "in_voltage0_gain_control_mode", gain_mode_rx1_.c_str()); ret = iio_device_attr_write(ad9361_phy, "in_voltage0_gain_control_mode", gain_mode_rx1_.c_str());
if (ret < 0) if (ret < 0)
{ {

View File

@ -92,7 +92,10 @@ bool config_ad9361_rx_local(uint64_t bandwidth_,
const std::string &gain_mode_rx1_, const std::string &gain_mode_rx1_,
const std::string &gain_mode_rx2_, const std::string &gain_mode_rx2_,
double rf_gain_rx1_, double rf_gain_rx1_,
double rf_gain_rx2_); double rf_gain_rx2_,
bool quadrature_,
bool rfdc_,
bool bbdc_);
bool config_ad9361_rx_remote(const std::string &remote_host, bool config_ad9361_rx_remote(const std::string &remote_host,
uint64_t bandwidth_, uint64_t bandwidth_,
@ -102,7 +105,10 @@ bool config_ad9361_rx_remote(const std::string &remote_host,
const std::string &gain_mode_rx1_, const std::string &gain_mode_rx1_,
const std::string &gain_mode_rx2_, const std::string &gain_mode_rx2_,
double rf_gain_rx1_, double rf_gain_rx1_,
double rf_gain_rx2_); double rf_gain_rx2_,
bool quadrature_,
bool rfdc_,
bool bbdc_);
bool config_ad9361_lo_local(uint64_t bandwidth_, bool config_ad9361_lo_local(uint64_t bandwidth_,
uint64_t sample_rate_, uint64_t sample_rate_,

View File

@ -6,26 +6,28 @@
#include "Accuracy.h" #include "Accuracy.h"
int int Accuracy_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Accuracy_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 127)) { if ((value >= 0 && value <= 127))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ Accuracy_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void Accuracy_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
Accuracy_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,89 @@ Accuracy_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void Accuracy_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
Accuracy_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int Accuracy_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Accuracy_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t Accuracy_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
Accuracy_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size,
int tag_mode)
{
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t Accuracy_encode_der(asn_TYPE_descriptor_t *td, void *structure,
Accuracy_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t Accuracy_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
Accuracy_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr,
size_t size)
{
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t Accuracy_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Accuracy_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t Accuracy_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
Accuracy_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure, asn_per_data_t *per_data)
{
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t Accuracy_encode_uper(asn_TYPE_descriptor_t *td,
Accuracy_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
Accuracy_1_inherit_TYPE_descriptor(td); Accuracy_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_ACCURACY_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_ACCURACY_CONSTR_1 = {
{ APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, {APC_CONSTRAINED, 7, 7, 0, 127} /* (0..127) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_Accuracy_tags_1[] = { static ber_tlv_tag_t asn_DEF_Accuracy_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_Accuracy = { asn_TYPE_descriptor_t asn_DEF_Accuracy = {
"Accuracy", "Accuracy",
"Accuracy", "Accuracy",
@ -133,13 +144,13 @@ asn_TYPE_descriptor_t asn_DEF_Accuracy = {
Accuracy_encode_uper, Accuracy_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_Accuracy_tags_1, asn_DEF_Accuracy_tags_1,
sizeof(asn_DEF_Accuracy_tags_1) sizeof(asn_DEF_Accuracy_tags_1) /
/sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */ sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */
asn_DEF_Accuracy_tags_1, /* Same as above */ asn_DEF_Accuracy_tags_1, /* Same as above */
sizeof(asn_DEF_Accuracy_tags_1) sizeof(asn_DEF_Accuracy_tags_1) /
/sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */ sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ACCURACY_CONSTR_1, &ASN_PER_TYPE_ACCURACY_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _Accuracy_H_ #ifndef _Accuracy_H_
#define _Accuracy_H_ #define _Accuracy_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,22 +7,17 @@
#include "AccuracyOpt.h" #include "AccuracyOpt.h"
static asn_TYPE_member_t asn_MBR_AccuracyOpt_1[] = { static asn_TYPE_member_t asn_MBR_AccuracyOpt_1[] = {
{ ATF_POINTER, 1, offsetof(struct AccuracyOpt, accuracy), {ATF_POINTER, 1, offsetof(struct AccuracyOpt, accuracy),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_Accuracy, 0, /* Defer constraints checking to the member type */
&asn_DEF_Accuracy,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "accuracy"},
"accuracy"
},
}; };
static int asn_MAP_AccuracyOpt_oms_1[] = { 0 }; static int asn_MAP_AccuracyOpt_oms_1[] = {0};
static ber_tlv_tag_t asn_DEF_AccuracyOpt_tags_1[] = { static ber_tlv_tag_t asn_DEF_AccuracyOpt_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AccuracyOpt_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AccuracyOpt_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* accuracy at 125 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0} /* accuracy at 125 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AccuracyOpt_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AccuracyOpt_specs_1 = {
sizeof(struct AccuracyOpt), sizeof(struct AccuracyOpt),
@ -30,7 +25,8 @@ static asn_SEQUENCE_specifics_t asn_SPC_AccuracyOpt_specs_1 = {
asn_MAP_AccuracyOpt_tag2el_1, asn_MAP_AccuracyOpt_tag2el_1,
1, /* Count of tags in the map */ 1, /* Count of tags in the map */
asn_MAP_AccuracyOpt_oms_1, /* Optional members */ asn_MAP_AccuracyOpt_oms_1, /* Optional members */
1, 0, /* Root/Additions */ 1,
0, /* Root/Additions */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -48,14 +44,13 @@ asn_TYPE_descriptor_t asn_DEF_AccuracyOpt = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AccuracyOpt_tags_1, asn_DEF_AccuracyOpt_tags_1,
sizeof(asn_DEF_AccuracyOpt_tags_1) sizeof(asn_DEF_AccuracyOpt_tags_1) /
/sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */ sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */
asn_DEF_AccuracyOpt_tags_1, /* Same as above */ asn_DEF_AccuracyOpt_tags_1, /* Same as above */
sizeof(asn_DEF_AccuracyOpt_tags_1) sizeof(asn_DEF_AccuracyOpt_tags_1) /
/sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */ sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AccuracyOpt_1, asn_MBR_AccuracyOpt_1,
1, /* Elements count */ 1, /* Elements count */
&asn_SPC_AccuracyOpt_specs_1 /* Additional specs */ &asn_SPC_AccuracyOpt_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AccuracyOpt_H_ #ifndef _AccuracyOpt_H_
#define _AccuracyOpt_H_ #define _AccuracyOpt_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,38 +7,33 @@
#include "AcquisAssist.h" #include "AcquisAssist.h"
static asn_TYPE_member_t asn_MBR_AcquisAssist_1[] = { static asn_TYPE_member_t asn_MBR_AcquisAssist_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, timeRelation), {ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, timeRelation),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_TimeRelation, &asn_DEF_TimeRelation,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "timeRelation"},
"timeRelation" {ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, acquisList),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, acquisList),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOfAcquisElement, &asn_DEF_SeqOfAcquisElement,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "acquisList"},
"acquisList"
},
}; };
static ber_tlv_tag_t asn_DEF_AcquisAssist_tags_1[] = { static ber_tlv_tag_t asn_DEF_AcquisAssist_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AcquisAssist_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AcquisAssist_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeRelation at 817 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* timeRelation at 817 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* acquisList at 822 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* acquisList at 822 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AcquisAssist_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AcquisAssist_specs_1 = {
sizeof(struct AcquisAssist), sizeof(struct AcquisAssist),
offsetof(struct AcquisAssist, _asn_ctx), offsetof(struct AcquisAssist, _asn_ctx),
asn_MAP_AcquisAssist_tag2el_1, asn_MAP_AcquisAssist_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -56,14 +51,13 @@ asn_TYPE_descriptor_t asn_DEF_AcquisAssist = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AcquisAssist_tags_1, asn_DEF_AcquisAssist_tags_1,
sizeof(asn_DEF_AcquisAssist_tags_1) sizeof(asn_DEF_AcquisAssist_tags_1) /
/sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */ sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */
asn_DEF_AcquisAssist_tags_1, /* Same as above */ asn_DEF_AcquisAssist_tags_1, /* Same as above */
sizeof(asn_DEF_AcquisAssist_tags_1) sizeof(asn_DEF_AcquisAssist_tags_1) /
/sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */ sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AcquisAssist_1, asn_MBR_AcquisAssist_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_AcquisAssist_specs_1 /* Additional specs */ &asn_SPC_AcquisAssist_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AcquisAssist_H_ #ifndef _AcquisAssist_H_
#define _AcquisAssist_H_ #define _AcquisAssist_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,243 +6,234 @@
#include "AcquisElement.h" #include "AcquisElement.h"
static int static int memb_doppler0_constraint_1(asn_TYPE_descriptor_t *td,
memb_doppler0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -2048 && value <= 2047)) { if ((value >= -2048 && value <= 2047))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_codePhase_constraint_1(asn_TYPE_descriptor_t *td,
memb_codePhase_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 1022)) { if ((value >= 0 && value <= 1022))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_intCodePhase_constraint_1(asn_TYPE_descriptor_t *td,
memb_intCodePhase_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 19)) { if ((value >= 0 && value <= 19))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_gpsBitNumber_constraint_1(asn_TYPE_descriptor_t *td,
memb_gpsBitNumber_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 3)) { if ((value >= 0 && value <= 3))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_codePhaseSearchWindow_constraint_1(
memb_codePhaseSearchWindow_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 15)) { if ((value >= 0 && value <= 15))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER0_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_DOPPLER0_CONSTR_3 = {
{ APC_CONSTRAINED, 12, 12, -2048, 2047 } /* (-2048..2047) */, {APC_CONSTRAINED, 12, 12, -2048, 2047} /* (-2048..2047) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_CODE_PHASE_CONSTR_5 = { static asn_per_constraints_t ASN_PER_MEMB_CODE_PHASE_CONSTR_5 = {
{ APC_CONSTRAINED, 10, 10, 0, 1022 } /* (0..1022) */, {APC_CONSTRAINED, 10, 10, 0, 1022} /* (0..1022) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_INT_CODE_PHASE_CONSTR_6 = { static asn_per_constraints_t ASN_PER_MEMB_INT_CODE_PHASE_CONSTR_6 = {
{ APC_CONSTRAINED, 5, 5, 0, 19 } /* (0..19) */, {APC_CONSTRAINED, 5, 5, 0, 19} /* (0..19) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_GPS_BIT_NUMBER_CONSTR_7 = { static asn_per_constraints_t ASN_PER_MEMB_GPS_BIT_NUMBER_CONSTR_7 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, {APC_CONSTRAINED, 2, 2, 0, 3} /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_CODE_PHASE_SEARCH_WINDOW_CONSTR_8 = { static asn_per_constraints_t ASN_PER_MEMB_CODE_PHASE_SEARCH_WINDOW_CONSTR_8 = {
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, {APC_CONSTRAINED, 4, 4, 0, 15} /* (0..15) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_AcquisElement_1[] = { static asn_TYPE_member_t asn_MBR_AcquisElement_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, svid), {ATF_NOFLAGS, 0, offsetof(struct AcquisElement, svid),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_SatelliteID, &asn_DEF_SatelliteID,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "svid"},
"svid" {ATF_NOFLAGS, 0, offsetof(struct AcquisElement, doppler0),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, doppler0), &asn_DEF_NativeInteger, memb_doppler0_constraint_1,
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), &ASN_PER_MEMB_DOPPLER0_CONSTR_3, 0, "doppler0"},
-1, /* IMPLICIT tag at current level */ {ATF_POINTER, 1, offsetof(struct AcquisElement, addionalDoppler),
&asn_DEF_NativeInteger, (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
memb_doppler0_constraint_1,
&ASN_PER_MEMB_DOPPLER0_CONSTR_3,
0,
"doppler0"
},
{ ATF_POINTER, 1, offsetof(struct AcquisElement, addionalDoppler),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_AddionalDopplerFields, &asn_DEF_AddionalDopplerFields,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "addionalDoppler"},
"addionalDoppler" {ATF_NOFLAGS, 0, offsetof(struct AcquisElement, codePhase),
}, (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, codePhase), &asn_DEF_NativeInteger, memb_codePhase_constraint_1,
(ASN_TAG_CLASS_CONTEXT | (3 << 2)), &ASN_PER_MEMB_CODE_PHASE_CONSTR_5, 0, "codePhase"},
-1, /* IMPLICIT tag at current level */ {ATF_NOFLAGS, 0, offsetof(struct AcquisElement, intCodePhase),
&asn_DEF_NativeInteger, (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
memb_codePhase_constraint_1, &asn_DEF_NativeInteger, memb_intCodePhase_constraint_1,
&ASN_PER_MEMB_CODE_PHASE_CONSTR_5, &ASN_PER_MEMB_INT_CODE_PHASE_CONSTR_6, 0, "intCodePhase"},
0, {ATF_NOFLAGS, 0, offsetof(struct AcquisElement, gpsBitNumber),
"codePhase" (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */
}, &asn_DEF_NativeInteger, memb_gpsBitNumber_constraint_1,
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, intCodePhase), &ASN_PER_MEMB_GPS_BIT_NUMBER_CONSTR_7, 0, "gpsBitNumber"},
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), {ATF_NOFLAGS, 0, offsetof(struct AcquisElement, codePhaseSearchWindow),
-1, /* IMPLICIT tag at current level */ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, &asn_DEF_NativeInteger, memb_codePhaseSearchWindow_constraint_1,
memb_intCodePhase_constraint_1, &ASN_PER_MEMB_CODE_PHASE_SEARCH_WINDOW_CONSTR_8, 0,
&ASN_PER_MEMB_INT_CODE_PHASE_CONSTR_6, "codePhaseSearchWindow"},
0, {ATF_POINTER, 1, offsetof(struct AcquisElement, addionalAngle),
"intCodePhase" (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */
},
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, gpsBitNumber),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_gpsBitNumber_constraint_1,
&ASN_PER_MEMB_GPS_BIT_NUMBER_CONSTR_7,
0,
"gpsBitNumber"
},
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, codePhaseSearchWindow),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_codePhaseSearchWindow_constraint_1,
&ASN_PER_MEMB_CODE_PHASE_SEARCH_WINDOW_CONSTR_8,
0,
"codePhaseSearchWindow"
},
{ ATF_POINTER, 1, offsetof(struct AcquisElement, addionalAngle),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_AddionalAngleFields, &asn_DEF_AddionalAngleFields,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "addionalAngle"},
"addionalAngle"
},
}; };
static int asn_MAP_AcquisElement_oms_1[] = { 2, 7 }; static int asn_MAP_AcquisElement_oms_1[] = {2, 7};
static ber_tlv_tag_t asn_DEF_AcquisElement_tags_1[] = { static ber_tlv_tag_t asn_DEF_AcquisElement_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AcquisElement_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AcquisElement_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* svid at 834 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* svid at 834 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* doppler0 at 838 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* doppler0 at 838 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* addionalDoppler at 839 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0}, /* addionalDoppler at 839 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* codePhase at 840 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* codePhase at 840 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* intCodePhase at 841 */ {(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0}, /* intCodePhase at 841 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* gpsBitNumber at 842 */ {(ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0}, /* gpsBitNumber at 842 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* codePhaseSearchWindow at 843 */ {(ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0,
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* addionalAngle at 844 */ 0}, /* codePhaseSearchWindow at 843 */
{(ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0} /* addionalAngle at 844 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AcquisElement_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AcquisElement_specs_1 = {
sizeof(struct AcquisElement), sizeof(struct AcquisElement),
@ -250,7 +241,8 @@ static asn_SEQUENCE_specifics_t asn_SPC_AcquisElement_specs_1 = {
asn_MAP_AcquisElement_tag2el_1, asn_MAP_AcquisElement_tag2el_1,
8, /* Count of tags in the map */ 8, /* Count of tags in the map */
asn_MAP_AcquisElement_oms_1, /* Optional members */ asn_MAP_AcquisElement_oms_1, /* Optional members */
2, 0, /* Root/Additions */ 2,
0, /* Root/Additions */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -268,14 +260,13 @@ asn_TYPE_descriptor_t asn_DEF_AcquisElement = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AcquisElement_tags_1, asn_DEF_AcquisElement_tags_1,
sizeof(asn_DEF_AcquisElement_tags_1) sizeof(asn_DEF_AcquisElement_tags_1) /
/sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */
asn_DEF_AcquisElement_tags_1, /* Same as above */ asn_DEF_AcquisElement_tags_1, /* Same as above */
sizeof(asn_DEF_AcquisElement_tags_1) sizeof(asn_DEF_AcquisElement_tags_1) /
/sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AcquisElement_1, asn_MBR_AcquisElement_1,
8, /* Elements count */ 8, /* Elements count */
&asn_SPC_AcquisElement_specs_1 /* Additional specs */ &asn_SPC_AcquisElement_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AcquisElement_H_ #ifndef _AcquisElement_H_
#define _AcquisElement_H_ #define _AcquisElement_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,99 +6,100 @@
#include "AddionalAngleFields.h" #include "AddionalAngleFields.h"
static int static int memb_azimuth_constraint_1(asn_TYPE_descriptor_t *td,
memb_azimuth_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 31)) { if ((value >= 0 && value <= 31))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_elevation_constraint_1(asn_TYPE_descriptor_t *td,
memb_elevation_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 7)) { if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_AZIMUTH_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_AZIMUTH_CONSTR_2 = {
{ APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, {APC_CONSTRAINED, 5, 5, 0, 31} /* (0..31) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ELEVATION_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_ELEVATION_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, {APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_AddionalAngleFields_1[] = { static asn_TYPE_member_t asn_MBR_AddionalAngleFields_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AddionalAngleFields, azimuth), {ATF_NOFLAGS, 0, offsetof(struct AddionalAngleFields, azimuth),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_azimuth_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_AZIMUTH_CONSTR_2, 0, "azimuth"},
memb_azimuth_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct AddionalAngleFields, elevation),
&ASN_PER_MEMB_AZIMUTH_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_elevation_constraint_1,
"azimuth" &ASN_PER_MEMB_ELEVATION_CONSTR_3, 0, "elevation"},
},
{ ATF_NOFLAGS, 0, offsetof(struct AddionalAngleFields, elevation),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_elevation_constraint_1,
&ASN_PER_MEMB_ELEVATION_CONSTR_3,
0,
"elevation"
},
}; };
static ber_tlv_tag_t asn_DEF_AddionalAngleFields_tags_1[] = { static ber_tlv_tag_t asn_DEF_AddionalAngleFields_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AddionalAngleFields_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AddionalAngleFields_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* azimuth at 858 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* azimuth at 858 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* elevation at 860 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* elevation at 860 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AddionalAngleFields_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AddionalAngleFields_specs_1 = {
sizeof(struct AddionalAngleFields), sizeof(struct AddionalAngleFields),
offsetof(struct AddionalAngleFields, _asn_ctx), offsetof(struct AddionalAngleFields, _asn_ctx),
asn_MAP_AddionalAngleFields_tag2el_1, asn_MAP_AddionalAngleFields_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -116,14 +117,13 @@ asn_TYPE_descriptor_t asn_DEF_AddionalAngleFields = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AddionalAngleFields_tags_1, asn_DEF_AddionalAngleFields_tags_1,
sizeof(asn_DEF_AddionalAngleFields_tags_1) sizeof(asn_DEF_AddionalAngleFields_tags_1) /
/sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */ sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */
asn_DEF_AddionalAngleFields_tags_1, /* Same as above */ asn_DEF_AddionalAngleFields_tags_1, /* Same as above */
sizeof(asn_DEF_AddionalAngleFields_tags_1) sizeof(asn_DEF_AddionalAngleFields_tags_1) /
/sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */ sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AddionalAngleFields_1, asn_MBR_AddionalAngleFields_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_AddionalAngleFields_specs_1 /* Additional specs */ &asn_SPC_AddionalAngleFields_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AddionalAngleFields_H_ #ifndef _AddionalAngleFields_H_
#define _AddionalAngleFields_H_ #define _AddionalAngleFields_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,99 +6,100 @@
#include "AddionalDopplerFields.h" #include "AddionalDopplerFields.h"
static int static int memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td,
memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 63)) { if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_dopplerUncertainty_constraint_1(
memb_dopplerUncertainty_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 7)) { if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER1_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_DOPPLER1_CONSTR_2 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, {APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, {APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_AddionalDopplerFields_1[] = { static asn_TYPE_member_t asn_MBR_AddionalDopplerFields_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AddionalDopplerFields, doppler1), {ATF_NOFLAGS, 0, offsetof(struct AddionalDopplerFields, doppler1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_doppler1_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_DOPPLER1_CONSTR_2, 0, "doppler1"},
memb_doppler1_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct AddionalDopplerFields, dopplerUncertainty),
&ASN_PER_MEMB_DOPPLER1_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_dopplerUncertainty_constraint_1,
"doppler1" &ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3, 0, "dopplerUncertainty"},
},
{ ATF_NOFLAGS, 0, offsetof(struct AddionalDopplerFields, dopplerUncertainty),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_dopplerUncertainty_constraint_1,
&ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3,
0,
"dopplerUncertainty"
},
}; };
static ber_tlv_tag_t asn_DEF_AddionalDopplerFields_tags_1[] = { static ber_tlv_tag_t asn_DEF_AddionalDopplerFields_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AddionalDopplerFields_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AddionalDopplerFields_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* doppler1 at 850 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* doppler1 at 850 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* dopplerUncertainty at 851 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0,
0} /* dopplerUncertainty at 851 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AddionalDopplerFields_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AddionalDopplerFields_specs_1 = {
sizeof(struct AddionalDopplerFields), sizeof(struct AddionalDopplerFields),
offsetof(struct AddionalDopplerFields, _asn_ctx), offsetof(struct AddionalDopplerFields, _asn_ctx),
asn_MAP_AddionalDopplerFields_tag2el_1, asn_MAP_AddionalDopplerFields_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -116,14 +117,13 @@ asn_TYPE_descriptor_t asn_DEF_AddionalDopplerFields = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AddionalDopplerFields_tags_1, asn_DEF_AddionalDopplerFields_tags_1,
sizeof(asn_DEF_AddionalDopplerFields_tags_1) sizeof(asn_DEF_AddionalDopplerFields_tags_1) /
/sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */ sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */
asn_DEF_AddionalDopplerFields_tags_1, /* Same as above */ asn_DEF_AddionalDopplerFields_tags_1, /* Same as above */
sizeof(asn_DEF_AddionalDopplerFields_tags_1) sizeof(asn_DEF_AddionalDopplerFields_tags_1) /
/sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */ sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AddionalDopplerFields_1, asn_MBR_AddionalDopplerFields_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_AddionalDopplerFields_specs_1 /* Additional specs */ &asn_SPC_AddionalDopplerFields_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AddionalDopplerFields_H_ #ifndef _AddionalDopplerFields_H_
#define _AddionalDopplerFields_H_ #define _AddionalDopplerFields_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,42 +7,38 @@
#include "AdditionalAssistanceData.h" #include "AdditionalAssistanceData.h"
static asn_TYPE_member_t asn_MBR_AdditionalAssistanceData_1[] = { static asn_TYPE_member_t asn_MBR_AdditionalAssistanceData_1[] = {
{ ATF_POINTER, 3, offsetof(struct AdditionalAssistanceData, gpsAssistanceData), {ATF_POINTER, 3,
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), offsetof(struct AdditionalAssistanceData, gpsAssistanceData),
-1, /* IMPLICIT tag at current level */ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_GPSAssistanceData, &asn_DEF_GPSAssistanceData,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "gpsAssistanceData"},
"gpsAssistanceData" {ATF_POINTER, 2,
}, offsetof(struct AdditionalAssistanceData, extensionContainer),
{ ATF_POINTER, 2, offsetof(struct AdditionalAssistanceData, extensionContainer), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExtensionContainer, &asn_DEF_ExtensionContainer,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "extensionContainer"},
"extensionContainer" {ATF_POINTER, 1,
}, offsetof(struct AdditionalAssistanceData, ganssAssistanceData),
{ ATF_POINTER, 1, offsetof(struct AdditionalAssistanceData, ganssAssistanceData), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_GANSSAssistanceData, &asn_DEF_GANSSAssistanceData,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "ganssAssistanceData"},
"ganssAssistanceData"
},
}; };
static int asn_MAP_AdditionalAssistanceData_oms_1[] = { 0, 1, 2 }; static int asn_MAP_AdditionalAssistanceData_oms_1[] = {0, 1, 2};
static ber_tlv_tag_t asn_DEF_AdditionalAssistanceData_tags_1[] = { static ber_tlv_tag_t asn_DEF_AdditionalAssistanceData_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AdditionalAssistanceData_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AdditionalAssistanceData_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gpsAssistanceData at 520 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0,
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* extensionContainer at 521 */ 0}, /* gpsAssistanceData at 520 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ganssAssistanceData at 523 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0,
0}, /* extensionContainer at 521 */
{(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0,
0} /* ganssAssistanceData at 523 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AdditionalAssistanceData_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AdditionalAssistanceData_specs_1 = {
sizeof(struct AdditionalAssistanceData), sizeof(struct AdditionalAssistanceData),
@ -50,7 +46,8 @@ static asn_SEQUENCE_specifics_t asn_SPC_AdditionalAssistanceData_specs_1 = {
asn_MAP_AdditionalAssistanceData_tag2el_1, asn_MAP_AdditionalAssistanceData_tag2el_1,
3, /* Count of tags in the map */ 3, /* Count of tags in the map */
asn_MAP_AdditionalAssistanceData_oms_1, /* Optional members */ asn_MAP_AdditionalAssistanceData_oms_1, /* Optional members */
2, 1, /* Root/Additions */ 2,
1, /* Root/Additions */
1, /* Start extensions */ 1, /* Start extensions */
4 /* Stop extensions */ 4 /* Stop extensions */
}; };
@ -68,14 +65,13 @@ asn_TYPE_descriptor_t asn_DEF_AdditionalAssistanceData = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalAssistanceData_tags_1, asn_DEF_AdditionalAssistanceData_tags_1,
sizeof(asn_DEF_AdditionalAssistanceData_tags_1) sizeof(asn_DEF_AdditionalAssistanceData_tags_1) /
/sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */ sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */
asn_DEF_AdditionalAssistanceData_tags_1, /* Same as above */ asn_DEF_AdditionalAssistanceData_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalAssistanceData_tags_1) sizeof(asn_DEF_AdditionalAssistanceData_tags_1) /
/sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */ sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AdditionalAssistanceData_1, asn_MBR_AdditionalAssistanceData_1,
3, /* Elements count */ 3, /* Elements count */
&asn_SPC_AdditionalAssistanceData_specs_1 /* Additional specs */ &asn_SPC_AdditionalAssistanceData_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AdditionalAssistanceData_H_ #ifndef _AdditionalAssistanceData_H_
#define _AdditionalAssistanceData_H_ #define _AdditionalAssistanceData_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,99 +6,101 @@
#include "AdditionalDopplerFields.h" #include "AdditionalDopplerFields.h"
static int static int memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td,
memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 63)) { if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_dopplerUncertainty_constraint_1(
memb_dopplerUncertainty_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 4)) { if ((value >= 0 && value <= 4))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER1_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_DOPPLER1_CONSTR_2 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, {APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */, {APC_CONSTRAINED, 3, 3, 0, 4} /* (0..4) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_AdditionalDopplerFields_1[] = { static asn_TYPE_member_t asn_MBR_AdditionalDopplerFields_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AdditionalDopplerFields, doppler1), {ATF_NOFLAGS, 0, offsetof(struct AdditionalDopplerFields, doppler1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_doppler1_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_DOPPLER1_CONSTR_2, 0, "doppler1"},
memb_doppler1_constraint_1, {ATF_NOFLAGS, 0,
&ASN_PER_MEMB_DOPPLER1_CONSTR_2, offsetof(struct AdditionalDopplerFields, dopplerUncertainty),
0, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
"doppler1" &asn_DEF_NativeInteger, memb_dopplerUncertainty_constraint_1,
}, &ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3, 0, "dopplerUncertainty"},
{ ATF_NOFLAGS, 0, offsetof(struct AdditionalDopplerFields, dopplerUncertainty),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_dopplerUncertainty_constraint_1,
&ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3,
0,
"dopplerUncertainty"
},
}; };
static ber_tlv_tag_t asn_DEF_AdditionalDopplerFields_tags_1[] = { static ber_tlv_tag_t asn_DEF_AdditionalDopplerFields_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AdditionalDopplerFields_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AdditionalDopplerFields_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* doppler1 at 1342 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* doppler1 at 1342 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* dopplerUncertainty at 1343 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0,
0} /* dopplerUncertainty at 1343 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AdditionalDopplerFields_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AdditionalDopplerFields_specs_1 = {
sizeof(struct AdditionalDopplerFields), sizeof(struct AdditionalDopplerFields),
offsetof(struct AdditionalDopplerFields, _asn_ctx), offsetof(struct AdditionalDopplerFields, _asn_ctx),
asn_MAP_AdditionalDopplerFields_tag2el_1, asn_MAP_AdditionalDopplerFields_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -116,14 +118,13 @@ asn_TYPE_descriptor_t asn_DEF_AdditionalDopplerFields = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalDopplerFields_tags_1, asn_DEF_AdditionalDopplerFields_tags_1,
sizeof(asn_DEF_AdditionalDopplerFields_tags_1) sizeof(asn_DEF_AdditionalDopplerFields_tags_1) /
/sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */ sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */
asn_DEF_AdditionalDopplerFields_tags_1, /* Same as above */ asn_DEF_AdditionalDopplerFields_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalDopplerFields_tags_1) sizeof(asn_DEF_AdditionalDopplerFields_tags_1) /
/sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */ sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AdditionalDopplerFields_1, asn_MBR_AdditionalDopplerFields_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_AdditionalDopplerFields_specs_1 /* Additional specs */ &asn_SPC_AdditionalDopplerFields_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AdditionalDopplerFields_H_ #ifndef _AdditionalDopplerFields_H_
#define _AdditionalDopplerFields_H_ #define _AdditionalDopplerFields_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "AlertFlag.h" #include "AlertFlag.h"
int int AlertFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
AlertFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 1)) { if ((value >= 0 && value <= 1))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ AlertFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void AlertFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
AlertFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,89 @@ AlertFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void AlertFlag_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
AlertFlag_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int AlertFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
AlertFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t AlertFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
AlertFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size,
int tag_mode)
{
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t AlertFlag_encode_der(asn_TYPE_descriptor_t *td, void *structure,
AlertFlag_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t AlertFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
AlertFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr,
size_t size)
{
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t AlertFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
AlertFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t AlertFlag_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
AlertFlag_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure, asn_per_data_t *per_data)
{
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t AlertFlag_encode_uper(asn_TYPE_descriptor_t *td,
AlertFlag_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
AlertFlag_1_inherit_TYPE_descriptor(td); AlertFlag_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_ALERT_FLAG_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_ALERT_FLAG_CONSTR_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, {APC_CONSTRAINED, 1, 1, 0, 1} /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_AlertFlag_tags_1[] = { static ber_tlv_tag_t asn_DEF_AlertFlag_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_AlertFlag = { asn_TYPE_descriptor_t asn_DEF_AlertFlag = {
"AlertFlag", "AlertFlag",
"AlertFlag", "AlertFlag",
@ -133,13 +144,13 @@ asn_TYPE_descriptor_t asn_DEF_AlertFlag = {
AlertFlag_encode_uper, AlertFlag_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AlertFlag_tags_1, asn_DEF_AlertFlag_tags_1,
sizeof(asn_DEF_AlertFlag_tags_1) sizeof(asn_DEF_AlertFlag_tags_1) /
/sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */ sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */
asn_DEF_AlertFlag_tags_1, /* Same as above */ asn_DEF_AlertFlag_tags_1, /* Same as above */
sizeof(asn_DEF_AlertFlag_tags_1) sizeof(asn_DEF_AlertFlag_tags_1) /
/sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */ sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ALERT_FLAG_CONSTR_1, &ASN_PER_TYPE_ALERT_FLAG_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AlertFlag_H_ #ifndef _AlertFlag_H_
#define _AlertFlag_H_ #define _AlertFlag_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,419 +6,420 @@
#include "Almanac-KeplerianSet.h" #include "Almanac-KeplerianSet.h"
static int static int memb_kepAlmanacE_constraint_1(asn_TYPE_descriptor_t *td,
memb_kepAlmanacE_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 2047)) { if ((value >= 0 && value <= 2047))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacDeltaI_constraint_1(
memb_kepAlmanacDeltaI_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) { if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacOmegaDot_constraint_1(
memb_kepAlmanacOmegaDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) { if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepSVHealth_constraint_1(asn_TYPE_descriptor_t *td,
memb_kepSVHealth_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 15)) { if ((value >= 0 && value <= 15))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacAPowerHalf_constraint_1(
memb_kepAlmanacAPowerHalf_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -65536 && value <= 65535)) { if ((value >= -65536 && value <= 65535))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacOmega0_constraint_1(
memb_kepAlmanacOmega0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) { if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacW_constraint_1(asn_TYPE_descriptor_t *td,
memb_kepAlmanacW_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) { if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacM0_constraint_1(asn_TYPE_descriptor_t *td,
memb_kepAlmanacM0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) { if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacAF0_constraint_1(
memb_kepAlmanacAF0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -8192 && value <= 8191)) { if ((value >= -8192 && value <= 8191))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_kepAlmanacAF1_constraint_1(
memb_kepAlmanacAF1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) { if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_E_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_E_CONSTR_2 = {
{ APC_CONSTRAINED, 11, 11, 0, 2047 } /* (0..2047) */, {APC_CONSTRAINED, 11, 11, 0, 2047} /* (0..2047) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_DELTA_I_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_DELTA_I_CONSTR_3 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */, {APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_OMEGA_DOT_CONSTR_4 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_OMEGA_DOT_CONSTR_4 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */, {APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_SV_HEALTH_CONSTR_5 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_SV_HEALTH_CONSTR_5 = {
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, {APC_CONSTRAINED, 4, 4, 0, 15} /* (0..15) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_POWER_HALF_CONSTR_6 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_POWER_HALF_CONSTR_6 = {
{ APC_CONSTRAINED, 17, -1, -65536, 65535 } /* (-65536..65535) */, {APC_CONSTRAINED, 17, -1, -65536, 65535} /* (-65536..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_OMEGA0_CONSTR_7 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_OMEGA0_CONSTR_7 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, {APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_W_CONSTR_8 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_W_CONSTR_8 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, {APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_M0_CONSTR_9 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_M0_CONSTR_9 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, {APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_F0_CONSTR_10 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_F0_CONSTR_10 = {
{ APC_CONSTRAINED, 14, 14, -8192, 8191 } /* (-8192..8191) */, {APC_CONSTRAINED, 14, 14, -8192, 8191} /* (-8192..8191) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_F1_CONSTR_11 = { static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_F1_CONSTR_11 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */, {APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_Almanac_KeplerianSet_1[] = { static asn_TYPE_member_t asn_MBR_Almanac_KeplerianSet_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacE), {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacE),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_kepAlmanacE_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_KEP_ALMANAC_E_CONSTR_2, 0, "kepAlmanacE"},
memb_kepAlmanacE_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacDeltaI),
&ASN_PER_MEMB_KEP_ALMANAC_E_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_kepAlmanacDeltaI_constraint_1,
"kepAlmanacE" &ASN_PER_MEMB_KEP_ALMANAC_DELTA_I_CONSTR_3, 0, "kepAlmanacDeltaI"},
}, {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacOmegaDot),
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacDeltaI), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), &asn_DEF_NativeInteger, memb_kepAlmanacOmegaDot_constraint_1,
-1, /* IMPLICIT tag at current level */ &ASN_PER_MEMB_KEP_ALMANAC_OMEGA_DOT_CONSTR_4, 0, "kepAlmanacOmegaDot"},
&asn_DEF_NativeInteger, {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepSVHealth),
memb_kepAlmanacDeltaI_constraint_1, (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
&ASN_PER_MEMB_KEP_ALMANAC_DELTA_I_CONSTR_3, &asn_DEF_NativeInteger, memb_kepSVHealth_constraint_1,
0, &ASN_PER_MEMB_KEP_SV_HEALTH_CONSTR_5, 0, "kepSVHealth"},
"kepAlmanacDeltaI" {ATF_NOFLAGS, 0,
}, offsetof(struct Almanac_KeplerianSet, kepAlmanacAPowerHalf),
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacOmegaDot), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), &asn_DEF_NativeInteger, memb_kepAlmanacAPowerHalf_constraint_1,
-1, /* IMPLICIT tag at current level */ &ASN_PER_MEMB_KEP_ALMANAC_A_POWER_HALF_CONSTR_6, 0,
&asn_DEF_NativeInteger, "kepAlmanacAPowerHalf"},
memb_kepAlmanacOmegaDot_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacOmega0),
&ASN_PER_MEMB_KEP_ALMANAC_OMEGA_DOT_CONSTR_4, (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_kepAlmanacOmega0_constraint_1,
"kepAlmanacOmegaDot" &ASN_PER_MEMB_KEP_ALMANAC_OMEGA0_CONSTR_7, 0, "kepAlmanacOmega0"},
}, {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacW),
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepSVHealth), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (3 << 2)), &asn_DEF_NativeInteger, memb_kepAlmanacW_constraint_1,
-1, /* IMPLICIT tag at current level */ &ASN_PER_MEMB_KEP_ALMANAC_W_CONSTR_8, 0, "kepAlmanacW"},
&asn_DEF_NativeInteger, {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacM0),
memb_kepSVHealth_constraint_1, (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */
&ASN_PER_MEMB_KEP_SV_HEALTH_CONSTR_5, &asn_DEF_NativeInteger, memb_kepAlmanacM0_constraint_1,
0, &ASN_PER_MEMB_KEP_ALMANAC_M0_CONSTR_9, 0, "kepAlmanacM0"},
"kepSVHealth" {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacAF0),
}, (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacAPowerHalf), &asn_DEF_NativeInteger, memb_kepAlmanacAF0_constraint_1,
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), &ASN_PER_MEMB_KEP_ALMANAC_A_F0_CONSTR_10, 0, "kepAlmanacAF0"},
-1, /* IMPLICIT tag at current level */ {ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacAF1),
&asn_DEF_NativeInteger, (ASN_TAG_CLASS_CONTEXT | (9 << 2)), -1, /* IMPLICIT tag at current level */
memb_kepAlmanacAPowerHalf_constraint_1, &asn_DEF_NativeInteger, memb_kepAlmanacAF1_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_A_POWER_HALF_CONSTR_6, &ASN_PER_MEMB_KEP_ALMANAC_A_F1_CONSTR_11, 0, "kepAlmanacAF1"},
0,
"kepAlmanacAPowerHalf"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacOmega0),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacOmega0_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_OMEGA0_CONSTR_7,
0,
"kepAlmanacOmega0"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacW),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacW_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_W_CONSTR_8,
0,
"kepAlmanacW"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacM0),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacM0_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_M0_CONSTR_9,
0,
"kepAlmanacM0"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacAF0),
(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacAF0_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_A_F0_CONSTR_10,
0,
"kepAlmanacAF0"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacAF1),
(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacAF1_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_A_F1_CONSTR_11,
0,
"kepAlmanacAF1"
},
}; };
static ber_tlv_tag_t asn_DEF_Almanac_KeplerianSet_tags_1[] = { static ber_tlv_tag_t asn_DEF_Almanac_KeplerianSet_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_Almanac_KeplerianSet_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_Almanac_KeplerianSet_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* kepAlmanacE at 1368 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* kepAlmanacE at 1368 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* kepAlmanacDeltaI at 1369 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0,
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* kepAlmanacOmegaDot at 1370 */ 0}, /* kepAlmanacDeltaI at 1369 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* kepSVHealth at 1371 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0,
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* kepAlmanacAPowerHalf at 1372 */ 0}, /* kepAlmanacOmegaDot at 1370 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* kepAlmanacOmega0 at 1373 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* kepSVHealth at 1371 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* kepAlmanacW at 1374 */ {(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0,
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* kepAlmanacM0 at 1375 */ 0}, /* kepAlmanacAPowerHalf at 1372 */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* kepAlmanacAF0 at 1376 */ {(ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0,
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* kepAlmanacAF1 at 1377 */ 0}, /* kepAlmanacOmega0 at 1373 */
{(ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0}, /* kepAlmanacW at 1374 */
{(ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0}, /* kepAlmanacM0 at 1375 */
{(ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0}, /* kepAlmanacAF0 at 1376 */
{(ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0} /* kepAlmanacAF1 at 1377 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_Almanac_KeplerianSet_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_Almanac_KeplerianSet_specs_1 = {
sizeof(struct Almanac_KeplerianSet), sizeof(struct Almanac_KeplerianSet),
offsetof(struct Almanac_KeplerianSet, _asn_ctx), offsetof(struct Almanac_KeplerianSet, _asn_ctx),
asn_MAP_Almanac_KeplerianSet_tag2el_1, asn_MAP_Almanac_KeplerianSet_tag2el_1,
10, /* Count of tags in the map */ 10, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -436,14 +437,13 @@ asn_TYPE_descriptor_t asn_DEF_Almanac_KeplerianSet = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_Almanac_KeplerianSet_tags_1, asn_DEF_Almanac_KeplerianSet_tags_1,
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1) sizeof(asn_DEF_Almanac_KeplerianSet_tags_1) /
/sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */ sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */
asn_DEF_Almanac_KeplerianSet_tags_1, /* Same as above */ asn_DEF_Almanac_KeplerianSet_tags_1, /* Same as above */
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1) sizeof(asn_DEF_Almanac_KeplerianSet_tags_1) /
/sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */ sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_Almanac_KeplerianSet_1, asn_MBR_Almanac_KeplerianSet_1,
10, /* Elements count */ 10, /* Elements count */
&asn_SPC_Almanac_KeplerianSet_specs_1 /* Additional specs */ &asn_SPC_Almanac_KeplerianSet_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _Almanac_KeplerianSet_H_ #ifndef _Almanac_KeplerianSet_H_
#define _Almanac_KeplerianSet_H_ #define _Almanac_KeplerianSet_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,69 +6,67 @@
#include "Almanac.h" #include "Almanac.h"
static int static int memb_alamanacWNa_constraint_1(asn_TYPE_descriptor_t *td,
memb_alamanacWNa_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 255)) { if ((value >= 0 && value <= 255))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_ALAMANAC_W_NA_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_ALAMANAC_W_NA_CONSTR_2 = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, {APC_CONSTRAINED, 8, 8, 0, 255} /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_Almanac_1[] = { static asn_TYPE_member_t asn_MBR_Almanac_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Almanac, alamanacWNa), {ATF_NOFLAGS, 0, offsetof(struct Almanac, alamanacWNa),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_alamanacWNa_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_ALAMANAC_W_NA_CONSTR_2, 0, "alamanacWNa"},
memb_alamanacWNa_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct Almanac, almanacList),
&ASN_PER_MEMB_ALAMANAC_W_NA_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0,
"alamanacWNa"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac, almanacList),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOfAlmanacElement, &asn_DEF_SeqOfAlmanacElement,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "almanacList"},
"almanacList"
},
}; };
static ber_tlv_tag_t asn_DEF_Almanac_tags_1[] = { static ber_tlv_tag_t asn_DEF_Almanac_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_Almanac_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_Almanac_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* alamanacWNa at 789 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* alamanacWNa at 789 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* almanacList at 794 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* almanacList at 794 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_Almanac_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_Almanac_specs_1 = {
sizeof(struct Almanac), sizeof(struct Almanac),
offsetof(struct Almanac, _asn_ctx), offsetof(struct Almanac, _asn_ctx),
asn_MAP_Almanac_tag2el_1, asn_MAP_Almanac_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -86,14 +84,11 @@ asn_TYPE_descriptor_t asn_DEF_Almanac = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_Almanac_tags_1, asn_DEF_Almanac_tags_1,
sizeof(asn_DEF_Almanac_tags_1) sizeof(asn_DEF_Almanac_tags_1) / sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
/sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
asn_DEF_Almanac_tags_1, /* Same as above */ asn_DEF_Almanac_tags_1, /* Same as above */
sizeof(asn_DEF_Almanac_tags_1) sizeof(asn_DEF_Almanac_tags_1) / sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
/sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_Almanac_1, asn_MBR_Almanac_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_Almanac_specs_1 /* Additional specs */ &asn_SPC_Almanac_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _Almanac_H_ #ifndef _Almanac_H_
#define _Almanac_H_ #define _Almanac_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,469 +6,466 @@
#include "AlmanacElement.h" #include "AlmanacElement.h"
static int static int memb_almanacE_constraint_1(asn_TYPE_descriptor_t *td,
memb_almanacE_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 65535)) { if ((value >= 0 && value <= 65535))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_alamanacToa_constraint_1(asn_TYPE_descriptor_t *td,
memb_alamanacToa_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 255)) { if ((value >= 0 && value <= 255))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacKsii_constraint_1(asn_TYPE_descriptor_t *td,
memb_almanacKsii_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) { if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacOmegaDot_constraint_1(
memb_almanacOmegaDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) { if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacSVhealth_constraint_1(
memb_almanacSVhealth_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 255)) { if ((value >= 0 && value <= 255))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacAPowerHalf_constraint_1(
memb_almanacAPowerHalf_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 16777215)) { if ((value >= 0 && value <= 16777215))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacOmega0_constraint_1(
memb_almanacOmega0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -8388608 && value <= 8388607)) { if ((value >= -8388608 && value <= 8388607))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacW_constraint_1(asn_TYPE_descriptor_t *td,
memb_almanacW_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -8388608 && value <= 8388607)) { if ((value >= -8388608 && value <= 8388607))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacM0_constraint_1(asn_TYPE_descriptor_t *td,
memb_almanacM0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -8388608 && value <= 8388607)) { if ((value >= -8388608 && value <= 8388607))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacAF0_constraint_1(asn_TYPE_descriptor_t *td,
memb_almanacAF0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) { if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_almanacAF1_constraint_1(asn_TYPE_descriptor_t *td,
memb_almanacAF1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) { if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_E_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_E_CONSTR_3 = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, {APC_CONSTRAINED, 16, 16, 0, 65535} /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALAMANAC_TOA_CONSTR_4 = { static asn_per_constraints_t ASN_PER_MEMB_ALAMANAC_TOA_CONSTR_4 = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, {APC_CONSTRAINED, 8, 8, 0, 255} /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_KSII_CONSTR_5 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_KSII_CONSTR_5 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, {APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_OMEGA_DOT_CONSTR_6 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_OMEGA_DOT_CONSTR_6 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, {APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_S_VHEALTH_CONSTR_7 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_S_VHEALTH_CONSTR_7 = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, {APC_CONSTRAINED, 8, 8, 0, 255} /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_A_POWER_HALF_CONSTR_8 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_A_POWER_HALF_CONSTR_8 = {
{ APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, {APC_CONSTRAINED, 24, -1, 0, 16777215} /* (0..16777215) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_OMEGA0_CONSTR_9 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_OMEGA0_CONSTR_9 = {
{ APC_CONSTRAINED, 24, -1, -8388608, 8388607 } /* (-8388608..8388607) */, {APC_CONSTRAINED, 24, -1, -8388608, 8388607} /* (-8388608..8388607) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_W_CONSTR_10 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_W_CONSTR_10 = {
{ APC_CONSTRAINED, 24, -1, -8388608, 8388607 } /* (-8388608..8388607) */, {APC_CONSTRAINED, 24, -1, -8388608, 8388607} /* (-8388608..8388607) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_M0_CONSTR_11 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_M0_CONSTR_11 = {
{ APC_CONSTRAINED, 24, -1, -8388608, 8388607 } /* (-8388608..8388607) */, {APC_CONSTRAINED, 24, -1, -8388608, 8388607} /* (-8388608..8388607) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_A_F0_CONSTR_12 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_A_F0_CONSTR_12 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */, {APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_A_F1_CONSTR_13 = { static asn_per_constraints_t ASN_PER_MEMB_ALMANAC_A_F1_CONSTR_13 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */, {APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_AlmanacElement_1[] = { static asn_TYPE_member_t asn_MBR_AlmanacElement_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, satelliteID), {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, satelliteID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_SatelliteID, &asn_DEF_SatelliteID,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "satelliteID"},
"satelliteID" {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacE),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacE), &asn_DEF_NativeInteger, memb_almanacE_constraint_1,
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), &ASN_PER_MEMB_ALMANAC_E_CONSTR_3, 0, "almanacE"},
-1, /* IMPLICIT tag at current level */ {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, alamanacToa),
&asn_DEF_NativeInteger, (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
memb_almanacE_constraint_1, &asn_DEF_NativeInteger, memb_alamanacToa_constraint_1,
&ASN_PER_MEMB_ALMANAC_E_CONSTR_3, &ASN_PER_MEMB_ALAMANAC_TOA_CONSTR_4, 0, "alamanacToa"},
0, {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacKsii),
"almanacE" (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
}, &asn_DEF_NativeInteger, memb_almanacKsii_constraint_1,
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, alamanacToa), &ASN_PER_MEMB_ALMANAC_KSII_CONSTR_5, 0, "almanacKsii"},
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacOmegaDot),
-1, /* IMPLICIT tag at current level */ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, &asn_DEF_NativeInteger, memb_almanacOmegaDot_constraint_1,
memb_alamanacToa_constraint_1, &ASN_PER_MEMB_ALMANAC_OMEGA_DOT_CONSTR_6, 0, "almanacOmegaDot"},
&ASN_PER_MEMB_ALAMANAC_TOA_CONSTR_4, {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacSVhealth),
0, (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */
"alamanacToa" &asn_DEF_NativeInteger, memb_almanacSVhealth_constraint_1,
}, &ASN_PER_MEMB_ALMANAC_S_VHEALTH_CONSTR_7, 0, "almanacSVhealth"},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacKsii), {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacAPowerHalf),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_almanacAPowerHalf_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_ALMANAC_A_POWER_HALF_CONSTR_8, 0, "almanacAPowerHalf"},
memb_almanacKsii_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacOmega0),
&ASN_PER_MEMB_ALMANAC_KSII_CONSTR_5, (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_almanacOmega0_constraint_1,
"almanacKsii" &ASN_PER_MEMB_ALMANAC_OMEGA0_CONSTR_9, 0, "almanacOmega0"},
}, {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacW),
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacOmegaDot), (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), &asn_DEF_NativeInteger, memb_almanacW_constraint_1,
-1, /* IMPLICIT tag at current level */ &ASN_PER_MEMB_ALMANAC_W_CONSTR_10, 0, "almanacW"},
&asn_DEF_NativeInteger, {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacM0),
memb_almanacOmegaDot_constraint_1, (ASN_TAG_CLASS_CONTEXT | (9 << 2)), -1, /* IMPLICIT tag at current level */
&ASN_PER_MEMB_ALMANAC_OMEGA_DOT_CONSTR_6, &asn_DEF_NativeInteger, memb_almanacM0_constraint_1,
0, &ASN_PER_MEMB_ALMANAC_M0_CONSTR_11, 0, "almanacM0"},
"almanacOmegaDot" {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacAF0),
},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacSVhealth),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_almanacSVhealth_constraint_1,
&ASN_PER_MEMB_ALMANAC_S_VHEALTH_CONSTR_7,
0,
"almanacSVhealth"
},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacAPowerHalf),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_almanacAPowerHalf_constraint_1,
&ASN_PER_MEMB_ALMANAC_A_POWER_HALF_CONSTR_8,
0,
"almanacAPowerHalf"
},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacOmega0),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_almanacOmega0_constraint_1,
&ASN_PER_MEMB_ALMANAC_OMEGA0_CONSTR_9,
0,
"almanacOmega0"
},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacW),
(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_almanacW_constraint_1,
&ASN_PER_MEMB_ALMANAC_W_CONSTR_10,
0,
"almanacW"
},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacM0),
(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_almanacM0_constraint_1,
&ASN_PER_MEMB_ALMANAC_M0_CONSTR_11,
0,
"almanacM0"
},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacAF0),
(ASN_TAG_CLASS_CONTEXT | (10 << 2)), (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
-1, /* IMPLICIT tag at current level */ -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, &asn_DEF_NativeInteger, memb_almanacAF0_constraint_1,
memb_almanacAF0_constraint_1, &ASN_PER_MEMB_ALMANAC_A_F0_CONSTR_12, 0, "almanacAF0"},
&ASN_PER_MEMB_ALMANAC_A_F0_CONSTR_12, {ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacAF1),
0,
"almanacAF0"
},
{ ATF_NOFLAGS, 0, offsetof(struct AlmanacElement, almanacAF1),
(ASN_TAG_CLASS_CONTEXT | (11 << 2)), (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
-1, /* IMPLICIT tag at current level */ -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, &asn_DEF_NativeInteger, memb_almanacAF1_constraint_1,
memb_almanacAF1_constraint_1, &ASN_PER_MEMB_ALMANAC_A_F1_CONSTR_13, 0, "almanacAF1"},
&ASN_PER_MEMB_ALMANAC_A_F1_CONSTR_13,
0,
"almanacAF1"
},
}; };
static ber_tlv_tag_t asn_DEF_AlmanacElement_tags_1[] = { static ber_tlv_tag_t asn_DEF_AlmanacElement_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AlmanacElement_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AlmanacElement_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* satelliteID at 799 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* satelliteID at 799 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* almanacE at 800 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* almanacE at 800 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* alamanacToa at 801 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0}, /* alamanacToa at 801 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* almanacKsii at 802 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* almanacKsii at 802 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* almanacOmegaDot at 803 */ {(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0}, /* almanacOmegaDot at 803 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* almanacSVhealth at 804 */ {(ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0}, /* almanacSVhealth at 804 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* almanacAPowerHalf at 805 */ {(ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0,
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* almanacOmega0 at 806 */ 0}, /* almanacAPowerHalf at 805 */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* almanacW at 807 */ {(ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0}, /* almanacOmega0 at 806 */
{ (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* almanacM0 at 808 */ {(ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0}, /* almanacW at 807 */
{ (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* almanacAF0 at 809 */ {(ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0}, /* almanacM0 at 808 */
{ (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* almanacAF1 at 810 */ {(ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0}, /* almanacAF0 at 809 */
{(ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0} /* almanacAF1 at 810 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AlmanacElement_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AlmanacElement_specs_1 = {
sizeof(struct AlmanacElement), sizeof(struct AlmanacElement),
offsetof(struct AlmanacElement, _asn_ctx), offsetof(struct AlmanacElement, _asn_ctx),
asn_MAP_AlmanacElement_tag2el_1, asn_MAP_AlmanacElement_tag2el_1,
12, /* Count of tags in the map */ 12, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -486,14 +483,13 @@ asn_TYPE_descriptor_t asn_DEF_AlmanacElement = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AlmanacElement_tags_1, asn_DEF_AlmanacElement_tags_1,
sizeof(asn_DEF_AlmanacElement_tags_1) sizeof(asn_DEF_AlmanacElement_tags_1) /
/sizeof(asn_DEF_AlmanacElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_AlmanacElement_tags_1[0]), /* 1 */
asn_DEF_AlmanacElement_tags_1, /* Same as above */ asn_DEF_AlmanacElement_tags_1, /* Same as above */
sizeof(asn_DEF_AlmanacElement_tags_1) sizeof(asn_DEF_AlmanacElement_tags_1) /
/sizeof(asn_DEF_AlmanacElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_AlmanacElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AlmanacElement_1, asn_MBR_AlmanacElement_1,
12, /* Elements count */ 12, /* Elements count */
&asn_SPC_AlmanacElement_specs_1 /* Additional specs */ &asn_SPC_AlmanacElement_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AlmanacElement_H_ #ifndef _AlmanacElement_H_
#define _AlmanacElement_H_ #define _AlmanacElement_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,29 @@
#include "AntiSpoofFlag.h" #include "AntiSpoofFlag.h"
int int AntiSpoofFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
AntiSpoofFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 1)) { if ((value >= 0 && value <= 1))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +38,8 @@ AntiSpoofFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void AntiSpoofFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
AntiSpoofFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +48,95 @@ AntiSpoofFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void AntiSpoofFlag_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
AntiSpoofFlag_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int AntiSpoofFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
AntiSpoofFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t AntiSpoofFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
AntiSpoofFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure, const void *bufptr,
size_t size, int tag_mode)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t AntiSpoofFlag_encode_der(asn_TYPE_descriptor_t *td,
AntiSpoofFlag_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t AntiSpoofFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
AntiSpoofFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t AntiSpoofFlag_encode_xer(asn_TYPE_descriptor_t *td,
AntiSpoofFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t AntiSpoofFlag_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
AntiSpoofFlag_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t AntiSpoofFlag_encode_uper(asn_TYPE_descriptor_t *td,
AntiSpoofFlag_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure,
asn_per_outp_t *per_out)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td); AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_ANTI_SPOOF_FLAG_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_ANTI_SPOOF_FLAG_CONSTR_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, {APC_CONSTRAINED, 1, 1, 0, 1} /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_AntiSpoofFlag_tags_1[] = { static ber_tlv_tag_t asn_DEF_AntiSpoofFlag_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_AntiSpoofFlag = { asn_TYPE_descriptor_t asn_DEF_AntiSpoofFlag = {
"AntiSpoofFlag", "AntiSpoofFlag",
"AntiSpoofFlag", "AntiSpoofFlag",
@ -133,13 +151,13 @@ asn_TYPE_descriptor_t asn_DEF_AntiSpoofFlag = {
AntiSpoofFlag_encode_uper, AntiSpoofFlag_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AntiSpoofFlag_tags_1, asn_DEF_AntiSpoofFlag_tags_1,
sizeof(asn_DEF_AntiSpoofFlag_tags_1) sizeof(asn_DEF_AntiSpoofFlag_tags_1) /
/sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */ sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */
asn_DEF_AntiSpoofFlag_tags_1, /* Same as above */ asn_DEF_AntiSpoofFlag_tags_1, /* Same as above */
sizeof(asn_DEF_AntiSpoofFlag_tags_1) sizeof(asn_DEF_AntiSpoofFlag_tags_1) /
/sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */ sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ANTI_SPOOF_FLAG_CONSTR_1, &ASN_PER_TYPE_ANTI_SPOOF_FLAG_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AntiSpoofFlag_H_ #ifndef _AntiSpoofFlag_H_
#define _AntiSpoofFlag_H_ #define _AntiSpoofFlag_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,38 +7,34 @@
#include "AssistBTSData-R98-ExpOTD.h" #include "AssistBTSData-R98-ExpOTD.h"
static asn_TYPE_member_t asn_MBR_AssistBTSData_R98_ExpOTD_1[] = { static asn_TYPE_member_t asn_MBR_AssistBTSData_R98_ExpOTD_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData_R98_ExpOTD, expectedOTD), {ATF_NOFLAGS, 0, offsetof(struct AssistBTSData_R98_ExpOTD, expectedOTD),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExpectedOTD, &asn_DEF_ExpectedOTD,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "expectedOTD"},
"expectedOTD" {ATF_NOFLAGS, 0,
}, offsetof(struct AssistBTSData_R98_ExpOTD, expOTDuncertainty),
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData_R98_ExpOTD, expOTDuncertainty), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExpOTDUncertainty, &asn_DEF_ExpOTDUncertainty,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "expOTDuncertainty"},
"expOTDuncertainty"
},
}; };
static ber_tlv_tag_t asn_DEF_AssistBTSData_R98_ExpOTD_tags_1[] = { static ber_tlv_tag_t asn_DEF_AssistBTSData_R98_ExpOTD_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AssistBTSData_R98_ExpOTD_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AssistBTSData_R98_ExpOTD_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* expectedOTD at 933 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* expectedOTD at 933 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* expOTDuncertainty at 935 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* expOTDuncertainty at 935 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AssistBTSData_R98_ExpOTD_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AssistBTSData_R98_ExpOTD_specs_1 = {
sizeof(struct AssistBTSData_R98_ExpOTD), sizeof(struct AssistBTSData_R98_ExpOTD),
offsetof(struct AssistBTSData_R98_ExpOTD, _asn_ctx), offsetof(struct AssistBTSData_R98_ExpOTD, _asn_ctx),
asn_MAP_AssistBTSData_R98_ExpOTD_tag2el_1, asn_MAP_AssistBTSData_R98_ExpOTD_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -56,14 +52,13 @@ asn_TYPE_descriptor_t asn_DEF_AssistBTSData_R98_ExpOTD = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AssistBTSData_R98_ExpOTD_tags_1, asn_DEF_AssistBTSData_R98_ExpOTD_tags_1,
sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1) sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1) /
/sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1[0]), /* 1 */ sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1[0]), /* 1 */
asn_DEF_AssistBTSData_R98_ExpOTD_tags_1, /* Same as above */ asn_DEF_AssistBTSData_R98_ExpOTD_tags_1, /* Same as above */
sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1) sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1) /
/sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1[0]), /* 1 */ sizeof(asn_DEF_AssistBTSData_R98_ExpOTD_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AssistBTSData_R98_ExpOTD_1, asn_MBR_AssistBTSData_R98_ExpOTD_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_AssistBTSData_R98_ExpOTD_specs_1 /* Additional specs */ &asn_SPC_AssistBTSData_R98_ExpOTD_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AssistBTSData_R98_ExpOTD_H_ #ifndef _AssistBTSData_R98_ExpOTD_H_
#define _AssistBTSData_R98_ExpOTD_H_ #define _AssistBTSData_R98_ExpOTD_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,62 +7,44 @@
#include "AssistBTSData.h" #include "AssistBTSData.h"
static asn_TYPE_member_t asn_MBR_AssistBTSData_1[] = { static asn_TYPE_member_t asn_MBR_AssistBTSData_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, bsic), {ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, bsic),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_BSIC, 0, /* Defer constraints checking to the member type */
&asn_DEF_BSIC,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "bsic"},
"bsic" {ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, multiFrameOffset),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, multiFrameOffset),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MultiFrameOffset, &asn_DEF_MultiFrameOffset,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "multiFrameOffset"},
"multiFrameOffset" {ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, timeSlotScheme),
}, (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, timeSlotScheme),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_TimeSlotScheme, &asn_DEF_TimeSlotScheme,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "timeSlotScheme"},
"timeSlotScheme" {ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, roughRTD),
}, (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, roughRTD), &asn_DEF_RoughRTD, 0, /* Defer constraints checking to the member type */
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RoughRTD,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "roughRTD"},
"roughRTD" {ATF_POINTER, 1, offsetof(struct AssistBTSData, calcAssistanceBTS),
}, (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 1, offsetof(struct AssistBTSData, calcAssistanceBTS),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CalcAssistanceBTS, &asn_DEF_CalcAssistanceBTS,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "calcAssistanceBTS"},
"calcAssistanceBTS"
},
}; };
static int asn_MAP_AssistBTSData_oms_1[] = { 4 }; static int asn_MAP_AssistBTSData_oms_1[] = {4};
static ber_tlv_tag_t asn_DEF_AssistBTSData_tags_1[] = { static ber_tlv_tag_t asn_DEF_AssistBTSData_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AssistBTSData_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AssistBTSData_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bsic at 229 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* bsic at 229 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* multiFrameOffset at 230 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* multiFrameOffset at 230 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeSlotScheme at 231 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0}, /* timeSlotScheme at 231 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* roughRTD at 232 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* roughRTD at 232 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* calcAssistanceBTS at 235 */ {(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0} /* calcAssistanceBTS at 235 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AssistBTSData_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AssistBTSData_specs_1 = {
sizeof(struct AssistBTSData), sizeof(struct AssistBTSData),
@ -70,7 +52,8 @@ static asn_SEQUENCE_specifics_t asn_SPC_AssistBTSData_specs_1 = {
asn_MAP_AssistBTSData_tag2el_1, asn_MAP_AssistBTSData_tag2el_1,
5, /* Count of tags in the map */ 5, /* Count of tags in the map */
asn_MAP_AssistBTSData_oms_1, /* Optional members */ asn_MAP_AssistBTSData_oms_1, /* Optional members */
1, 0, /* Root/Additions */ 1,
0, /* Root/Additions */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -88,14 +71,13 @@ asn_TYPE_descriptor_t asn_DEF_AssistBTSData = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AssistBTSData_tags_1, asn_DEF_AssistBTSData_tags_1,
sizeof(asn_DEF_AssistBTSData_tags_1) sizeof(asn_DEF_AssistBTSData_tags_1) /
/sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */ sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */
asn_DEF_AssistBTSData_tags_1, /* Same as above */ asn_DEF_AssistBTSData_tags_1, /* Same as above */
sizeof(asn_DEF_AssistBTSData_tags_1) sizeof(asn_DEF_AssistBTSData_tags_1) /
/sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */ sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AssistBTSData_1, asn_MBR_AssistBTSData_1,
5, /* Elements count */ 5, /* Elements count */
&asn_SPC_AssistBTSData_specs_1 /* Additional specs */ &asn_SPC_AssistBTSData_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AssistBTSData_H_ #ifndef _AssistBTSData_H_
#define _AssistBTSData_H_ #define _AssistBTSData_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,92 +7,75 @@
#include "AssistanceData.h" #include "AssistanceData.h"
static asn_TYPE_member_t asn_MBR_AssistanceData_1[] = { static asn_TYPE_member_t asn_MBR_AssistanceData_1[] = {
{ ATF_POINTER, 8, offsetof(struct AssistanceData, referenceAssistData), {ATF_POINTER, 8, offsetof(struct AssistanceData, referenceAssistData),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceAssistData, &asn_DEF_ReferenceAssistData,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "referenceAssistData"},
"referenceAssistData" {ATF_POINTER, 7, offsetof(struct AssistanceData, msrAssistData),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 7, offsetof(struct AssistanceData, msrAssistData),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MsrAssistData, &asn_DEF_MsrAssistData,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "msrAssistData"},
"msrAssistData" {ATF_POINTER, 6, offsetof(struct AssistanceData, systemInfoAssistData),
}, (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 6, offsetof(struct AssistanceData, systemInfoAssistData),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SystemInfoAssistData, &asn_DEF_SystemInfoAssistData,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "systemInfoAssistData"},
"systemInfoAssistData" {ATF_POINTER, 5, offsetof(struct AssistanceData, gps_AssistData),
}, (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 5, offsetof(struct AssistanceData, gps_AssistData),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_GPS_AssistData, &asn_DEF_GPS_AssistData,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "gps-AssistData"},
"gps-AssistData" {ATF_POINTER, 4, offsetof(struct AssistanceData, moreAssDataToBeSent),
}, (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 4, offsetof(struct AssistanceData, moreAssDataToBeSent),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MoreAssDataToBeSent, &asn_DEF_MoreAssDataToBeSent,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "moreAssDataToBeSent"},
"moreAssDataToBeSent" {ATF_POINTER, 3, offsetof(struct AssistanceData, extensionContainer),
}, (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 3, offsetof(struct AssistanceData, extensionContainer),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExtensionContainer, &asn_DEF_ExtensionContainer,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "extensionContainer"},
"extensionContainer" {ATF_POINTER, 2,
}, offsetof(struct AssistanceData, rel98_AssistanceData_Extension),
{ ATF_POINTER, 2, offsetof(struct AssistanceData, rel98_AssistanceData_Extension), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Rel98_AssistanceData_Extension, &asn_DEF_Rel98_AssistanceData_Extension,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "rel98-AssistanceData-Extension"},
"rel98-AssistanceData-Extension" {ATF_POINTER, 1,
}, offsetof(struct AssistanceData, rel5_AssistanceData_Extension),
{ ATF_POINTER, 1, offsetof(struct AssistanceData, rel5_AssistanceData_Extension), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Rel5_AssistanceData_Extension, &asn_DEF_Rel5_AssistanceData_Extension,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "rel5-AssistanceData-Extension"},
"rel5-AssistanceData-Extension"
},
}; };
static int asn_MAP_AssistanceData_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; static int asn_MAP_AssistanceData_oms_1[] = {0, 1, 2, 3, 4, 5, 6, 7};
static ber_tlv_tag_t asn_DEF_AssistanceData_tags_1[] = { static ber_tlv_tag_t asn_DEF_AssistanceData_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_AssistanceData_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_AssistanceData_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* referenceAssistData at 75 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0,
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* msrAssistData at 76 */ 0}, /* referenceAssistData at 75 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* systemInfoAssistData at 77 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* msrAssistData at 76 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* gps-AssistData at 78 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0,
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* moreAssDataToBeSent at 79 */ 0}, /* systemInfoAssistData at 77 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* extensionContainer at 83 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* gps-AssistData at 78 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* rel98-AssistanceData-Extension at 86 */ {(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0,
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* rel5-AssistanceData-Extension at 87 */ 0}, /* moreAssDataToBeSent at 79 */
{(ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0,
0}, /* extensionContainer at 83 */
{(ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0,
0}, /* rel98-AssistanceData-Extension at 86 */
{(ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0,
0} /* rel5-AssistanceData-Extension at 87 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_AssistanceData_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_AssistanceData_specs_1 = {
sizeof(struct AssistanceData), sizeof(struct AssistanceData),
@ -100,7 +83,8 @@ static asn_SEQUENCE_specifics_t asn_SPC_AssistanceData_specs_1 = {
asn_MAP_AssistanceData_tag2el_1, asn_MAP_AssistanceData_tag2el_1,
8, /* Count of tags in the map */ 8, /* Count of tags in the map */
asn_MAP_AssistanceData_oms_1, /* Optional members */ asn_MAP_AssistanceData_oms_1, /* Optional members */
6, 2, /* Root/Additions */ 6,
2, /* Root/Additions */
5, /* Start extensions */ 5, /* Start extensions */
9 /* Stop extensions */ 9 /* Stop extensions */
}; };
@ -118,14 +102,13 @@ asn_TYPE_descriptor_t asn_DEF_AssistanceData = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_AssistanceData_tags_1, asn_DEF_AssistanceData_tags_1,
sizeof(asn_DEF_AssistanceData_tags_1) sizeof(asn_DEF_AssistanceData_tags_1) /
/sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */ sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */
asn_DEF_AssistanceData_tags_1, /* Same as above */ asn_DEF_AssistanceData_tags_1, /* Same as above */
sizeof(asn_DEF_AssistanceData_tags_1) sizeof(asn_DEF_AssistanceData_tags_1) /
/sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */ sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_AssistanceData_1, asn_MBR_AssistanceData_1,
8, /* Elements count */ 8, /* Elements count */
&asn_SPC_AssistanceData_specs_1 /* Additional specs */ &asn_SPC_AssistanceData_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _AssistanceData_H_ #ifndef _AssistanceData_H_
#define _AssistanceData_H_ #define _AssistanceData_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */
@ -41,8 +40,10 @@ extern "C"
* This type is extensible, * This type is extensible,
* possible extensions are below. * possible extensions are below.
*/ */
struct Rel98_AssistanceData_Extension *rel98_AssistanceData_Extension /* OPTIONAL */; struct Rel98_AssistanceData_Extension
struct Rel5_AssistanceData_Extension *rel5_AssistanceData_Extension /* OPTIONAL */; *rel98_AssistanceData_Extension /* OPTIONAL */;
struct Rel5_AssistanceData_Extension
*rel5_AssistanceData_Extension /* OPTIONAL */;
/* Context for parsing across buffer boundaries */ /* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx; asn_struct_ctx_t _asn_ctx;

View File

@ -6,26 +6,28 @@
#include "BCCHCarrier.h" #include "BCCHCarrier.h"
int int BCCHCarrier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
BCCHCarrier_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 1023)) { if ((value >= 0 && value <= 1023))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ BCCHCarrier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void BCCHCarrier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
BCCHCarrier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,94 @@ BCCHCarrier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void BCCHCarrier_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
BCCHCarrier_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int BCCHCarrier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
BCCHCarrier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BCCHCarrier_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
BCCHCarrier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure, const void *bufptr,
size_t size, int tag_mode)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t BCCHCarrier_encode_der(asn_TYPE_descriptor_t *td,
BCCHCarrier_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BCCHCarrier_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
BCCHCarrier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t BCCHCarrier_encode_xer(asn_TYPE_descriptor_t *td,
BCCHCarrier_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BCCHCarrier_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
BCCHCarrier_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t BCCHCarrier_encode_uper(asn_TYPE_descriptor_t *td,
BCCHCarrier_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td); BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_BCCH_CARRIER_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_BCCH_CARRIER_CONSTR_1 = {
{ APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, {APC_CONSTRAINED, 10, 10, 0, 1023} /* (0..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_BCCHCarrier_tags_1[] = { static ber_tlv_tag_t asn_DEF_BCCHCarrier_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_BCCHCarrier = { asn_TYPE_descriptor_t asn_DEF_BCCHCarrier = {
"BCCHCarrier", "BCCHCarrier",
"BCCHCarrier", "BCCHCarrier",
@ -133,13 +149,13 @@ asn_TYPE_descriptor_t asn_DEF_BCCHCarrier = {
BCCHCarrier_encode_uper, BCCHCarrier_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_BCCHCarrier_tags_1, asn_DEF_BCCHCarrier_tags_1,
sizeof(asn_DEF_BCCHCarrier_tags_1) sizeof(asn_DEF_BCCHCarrier_tags_1) /
/sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */ sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */
asn_DEF_BCCHCarrier_tags_1, /* Same as above */ asn_DEF_BCCHCarrier_tags_1, /* Same as above */
sizeof(asn_DEF_BCCHCarrier_tags_1) sizeof(asn_DEF_BCCHCarrier_tags_1) /
/sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */ sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BCCH_CARRIER_CONSTR_1, &ASN_PER_TYPE_BCCH_CARRIER_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _BCCHCarrier_H_ #ifndef _BCCHCarrier_H_
#define _BCCHCarrier_H_ #define _BCCHCarrier_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -10,13 +10,9 @@
* BIT STRING basic type description. * BIT STRING basic type description.
*/ */
static ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = { static ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))};
};
static asn_OCTET_STRING_specifics_t asn_DEF_BIT_STRING_specs = { static asn_OCTET_STRING_specifics_t asn_DEF_BIT_STRING_specs = {
sizeof(BIT_STRING_t), sizeof(BIT_STRING_t), offsetof(BIT_STRING_t, _asn_ctx), ASN_OSUBV_BIT};
offsetof(BIT_STRING_t, _asn_ctx),
ASN_OSUBV_BIT
};
asn_TYPE_descriptor_t asn_DEF_BIT_STRING = { asn_TYPE_descriptor_t asn_DEF_BIT_STRING = {
"BIT STRING", "BIT STRING",
"BIT_STRING", "BIT_STRING",
@ -31,35 +27,36 @@ asn_TYPE_descriptor_t asn_DEF_BIT_STRING = {
OCTET_STRING_encode_uper, /* Unaligned PER encoder */ OCTET_STRING_encode_uper, /* Unaligned PER encoder */
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_BIT_STRING_tags, asn_DEF_BIT_STRING_tags,
sizeof(asn_DEF_BIT_STRING_tags) sizeof(asn_DEF_BIT_STRING_tags) / sizeof(asn_DEF_BIT_STRING_tags[0]),
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
asn_DEF_BIT_STRING_tags, /* Same as above */ asn_DEF_BIT_STRING_tags, /* Same as above */
sizeof(asn_DEF_BIT_STRING_tags) sizeof(asn_DEF_BIT_STRING_tags) / sizeof(asn_DEF_BIT_STRING_tags[0]),
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, /* No members */ 0,
&asn_DEF_BIT_STRING_specs 0, /* No members */
}; &asn_DEF_BIT_STRING_specs};
/* /*
* BIT STRING generic constraint. * BIT STRING generic constraint.
*/ */
int int BIT_STRING_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
BIT_STRING_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
if(st && st->buf) { if (st && st->buf)
if((st->size == 0 && st->bits_unused) {
|| st->bits_unused < 0 || st->bits_unused > 7) { if ((st->size == 0 && st->bits_unused) || st->bits_unused < 0 ||
st->bits_unused > 7)
{
_ASN_CTFAIL(app_key, td, sptr, _ASN_CTFAIL(app_key, td, sptr,
"%s: invalid padding byte (%s:%d)", "%s: invalid padding byte (%s:%d)", td->name,
td->name, __FILE__, __LINE__); __FILE__, __LINE__);
return -1; return -1;
} }
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: value not given (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -67,15 +64,14 @@ BIT_STRING_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
return 0; return 0;
} }
static char *_bit_pattern[16] = { static char *_bit_pattern[16] = {"0000", "0001", "0010", "0011", "0100", "0101",
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "0110", "0111", "1000", "1001", "1010", "1011",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" "1100", "1101", "1110", "1111"};
};
asn_enc_rval_t asn_enc_rval_t BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
asn_enc_rval_t er; asn_enc_rval_t er;
char scratch[128]; char scratch[128];
char *p = scratch; char *p = scratch;
@ -85,8 +81,7 @@ BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
uint8_t *buf; uint8_t *buf;
uint8_t *end; uint8_t *end;
if(!st || !st->buf) if (!st || !st->buf) _ASN_ENCODE_FAILED;
_ASN_ENCODE_FAILED;
er.encoded = 0; er.encoded = 0;
@ -96,50 +91,50 @@ BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
/* /*
* Binary dump * Binary dump
*/ */
for(; buf < end; buf++) { for (; buf < end; buf++)
{
int v = *buf; int v = *buf;
int nline = xcan?0:(((buf - st->buf) % 8) == 0); int nline = xcan ? 0 : (((buf - st->buf) % 8) == 0);
if(p >= scend || nline) { if (p >= scend || nline)
{
er.encoded += p - scratch; er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch); _ASN_CALLBACK(scratch, p - scratch);
p = scratch; p = scratch;
if(nline) _i_ASN_TEXT_INDENT(1, ilevel); if (nline) _i_ASN_TEXT_INDENT(1, ilevel);
} }
memcpy(p + 0, _bit_pattern[v >> 4], 4); memcpy(p + 0, _bit_pattern[v >> 4], 4);
memcpy(p + 4, _bit_pattern[v & 0x0f], 4); memcpy(p + 4, _bit_pattern[v & 0x0f], 4);
p += 8; p += 8;
} }
if(!xcan && ((buf - st->buf) % 8) == 0) if (!xcan && ((buf - st->buf) % 8) == 0) _i_ASN_TEXT_INDENT(1, ilevel);
_i_ASN_TEXT_INDENT(1, ilevel);
er.encoded += p - scratch; er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch); _ASN_CALLBACK(scratch, p - scratch);
p = scratch; p = scratch;
if(buf == end) { if (buf == end)
{
int v = *buf; int v = *buf;
int ubits = st->bits_unused; int ubits = st->bits_unused;
int i; int i;
for(i = 7; i >= ubits; i--) for (i = 7; i >= ubits; i--) *p++ = (v & (1 << i)) ? 0x31 : 0x30;
*p++ = (v & (1 << i)) ? 0x31 : 0x30;
er.encoded += p - scratch; er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch); _ASN_CALLBACK(scratch, p - scratch);
} }
if(!xcan) _i_ASN_TEXT_INDENT(1, ilevel - 1); if (!xcan) _i_ASN_TEXT_INDENT(1, ilevel - 1);
_ASN_ENCODED_OK(er); _ASN_ENCODED_OK(er);
cb_failed: cb_failed:
_ASN_ENCODE_FAILED; _ASN_ENCODE_FAILED;
} }
/* /*
* BIT STRING specific contents printer. * BIT STRING specific contents printer.
*/ */
int int BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
static const char *h2c = "0123456789ABCDEF"; static const char *h2c = "0123456789ABCDEF";
char scratch[64]; char scratch[64];
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
@ -149,8 +144,7 @@ BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
(void)td; /* Unused argument */ (void)td; /* Unused argument */
if(!st || !st->buf) if (!st || !st->buf) return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
ilevel++; ilevel++;
buf = st->buf; buf = st->buf;
@ -159,12 +153,13 @@ BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
/* /*
* Hexadecimal dump. * Hexadecimal dump.
*/ */
for(; buf < end; buf++) { for (; buf < end; buf++)
if((buf - st->buf) % 16 == 0 && (st->size > 16) {
&& buf != st->buf) { if ((buf - st->buf) % 16 == 0 && (st->size > 16) && buf != st->buf)
{
_i_INDENT(1); _i_INDENT(1);
/* Dump the string */ /* Dump the string */
if(cb(scratch, p - scratch, app_key) < 0) return -1; if (cb(scratch, p - scratch, app_key) < 0) return -1;
p = scratch; p = scratch;
} }
*p++ = h2c[*buf >> 4]; *p++ = h2c[*buf >> 4];
@ -172,18 +167,18 @@ BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
*p++ = 0x20; *p++ = 0x20;
} }
if(p > scratch) { if (p > scratch)
{
p--; /* Eat the tailing space */ p--; /* Eat the tailing space */
if((st->size > 16)) { if ((st->size > 16))
{
_i_INDENT(1); _i_INDENT(1);
} }
/* Dump the incomplete 16-bytes row */ /* Dump the incomplete 16-bytes row */
if(cb(scratch, p - scratch, app_key) < 0) if (cb(scratch, p - scratch, app_key) < 0) return -1;
return -1;
} }
return 0; return 0;
} }

View File

@ -10,8 +10,7 @@
* BOOLEAN basic type description. * BOOLEAN basic type description.
*/ */
static ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = { static ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (1 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_BOOLEAN = { asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
"BOOLEAN", "BOOLEAN",
"BOOLEAN", "BOOLEAN",
@ -30,48 +29,50 @@ asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
asn_DEF_BOOLEAN_tags, /* Same as above */ asn_DEF_BOOLEAN_tags, /* Same as above */
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };
/* /*
* Decode BOOLEAN type. * Decode BOOLEAN type.
*/ */
asn_dec_rval_t asn_dec_rval_t BOOLEAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
BOOLEAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **bool_value,
asn_TYPE_descriptor_t *td, const void *buf_ptr, size_t size,
void **bool_value, const void *buf_ptr, size_t size, int tag_mode)
int tag_mode) { {
BOOLEAN_t *st = (BOOLEAN_t *)*bool_value; BOOLEAN_t *st = (BOOLEAN_t *)*bool_value;
asn_dec_rval_t rval; asn_dec_rval_t rval;
ber_tlv_len_t length; ber_tlv_len_t length;
ber_tlv_len_t lidx; ber_tlv_len_t lidx;
if(st == NULL) { if (st == NULL)
{
st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st))); st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st)));
if(st == NULL) { if (st == NULL)
{
rval.code = RC_FAIL; rval.code = RC_FAIL;
rval.consumed = 0; rval.consumed = 0;
return rval; return rval;
} }
} }
ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)", ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)", td->name, tag_mode);
td->name, tag_mode);
/* /*
* Check tags. * Check tags.
*/ */
rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, tag_mode, 0,
tag_mode, 0, &length, 0); &length, 0);
if(rval.code != RC_OK) if (rval.code != RC_OK) return rval;
return rval;
ASN_DEBUG("Boolean length is %d bytes", (int)length); ASN_DEBUG("Boolean length is %d bytes", (int)length);
buf_ptr = ((const char *)buf_ptr) + rval.consumed; buf_ptr = ((const char *)buf_ptr) + rval.consumed;
size -= rval.consumed; size -= rval.consumed;
if(length > (ber_tlv_len_t)size) { if (length > (ber_tlv_len_t)size)
{
rval.code = RC_WMORE; rval.code = RC_WMORE;
rval.consumed = 0; rval.consumed = 0;
return rval; return rval;
@ -80,8 +81,8 @@ BOOLEAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
/* /*
* Compute boolean value. * Compute boolean value.
*/ */
for(*st = 0, lidx = 0; for (*st = 0, lidx = 0; (lidx < length) && *st == 0; lidx++)
(lidx < length) && *st == 0; lidx++) { {
/* /*
* Very simple approach: read bytes until the end or * Very simple approach: read bytes until the end or
* value is already TRUE. * value is already TRUE.
@ -93,33 +94,35 @@ BOOLEAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
rval.code = RC_OK; rval.code = RC_OK;
rval.consumed += length; rval.consumed += length;
ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d", ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d", (long)rval.consumed,
(long)rval.consumed, (long)length, (long)length, td->name, *st);
td->name, *st);
return rval; return rval;
} }
asn_enc_rval_t asn_enc_rval_t BOOLEAN_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
BOOLEAN_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
int tag_mode, ber_tlv_tag_t tag, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
asn_enc_rval_t erval; asn_enc_rval_t erval;
BOOLEAN_t *st = (BOOLEAN_t *)sptr; BOOLEAN_t *st = (BOOLEAN_t *)sptr;
erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key); erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key);
if(erval.encoded == -1) { if (erval.encoded == -1)
{
erval.failed_type = td; erval.failed_type = td;
erval.structure_ptr = sptr; erval.structure_ptr = sptr;
return erval; return erval;
} }
if(cb) { if (cb)
{
uint8_t bool_value; uint8_t bool_value;
bool_value = *st ? 0xff : 0; /* 0xff mandated by DER */ bool_value = *st ? 0xff : 0; /* 0xff mandated by DER */
if(cb(&bool_value, 1, app_key) < 0) { if (cb(&bool_value, 1, app_key) < 0)
{
erval.encoded = -1; erval.encoded = -1;
erval.failed_type = td; erval.failed_type = td;
erval.structure_ptr = sptr; erval.structure_ptr = sptr;
@ -132,26 +135,30 @@ BOOLEAN_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
_ASN_ENCODED_OK(erval); _ASN_ENCODED_OK(erval);
} }
/* /*
* Decode the chunk of XML text encoding INTEGER. * Decode the chunk of XML text encoding INTEGER.
*/ */
static enum xer_pbd_rval static enum xer_pbd_rval BOOLEAN__xer_body_decode(asn_TYPE_descriptor_t *td,
BOOLEAN__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chunk_buf, size_t chunk_size) { void *sptr,
const void *chunk_buf,
size_t chunk_size)
{
BOOLEAN_t *st = (BOOLEAN_t *)sptr; BOOLEAN_t *st = (BOOLEAN_t *)sptr;
const char *p = (const char *)chunk_buf; const char *p = (const char *)chunk_buf;
(void)td; (void)td;
if(chunk_size && p[0] == 0x3c /* '<' */) { if (chunk_size && p[0] == 0x3c /* '<' */)
switch(xer_check_tag(chunk_buf, chunk_size, "false")) { {
switch (xer_check_tag(chunk_buf, chunk_size, "false"))
{
case XCT_BOTH: case XCT_BOTH:
/* "<false/>" */ /* "<false/>" */
*st = 0; *st = 0;
break; break;
case XCT_UNKNOWN_BO: case XCT_UNKNOWN_BO:
if(xer_check_tag(chunk_buf, chunk_size, "true") if (xer_check_tag(chunk_buf, chunk_size, "true") !=
!= XCT_BOTH) XCT_BOTH)
return XPBD_BROKEN_ENCODING; return XPBD_BROKEN_ENCODING;
/* "<true/>" */ /* "<true/>" */
*st = 1; /* Or 0xff as in DER?.. */ *st = 1; /* Or 0xff as in DER?.. */
@ -160,41 +167,45 @@ BOOLEAN__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chun
return XPBD_BROKEN_ENCODING; return XPBD_BROKEN_ENCODING;
} }
return XPBD_BODY_CONSUMED; return XPBD_BODY_CONSUMED;
} else { }
if(xer_is_whitespace(chunk_buf, chunk_size)) else
{
if (xer_is_whitespace(chunk_buf, chunk_size))
return XPBD_NOT_BODY_IGNORE; return XPBD_NOT_BODY_IGNORE;
else else
return XPBD_BROKEN_ENCODING; return XPBD_BROKEN_ENCODING;
} }
} }
asn_dec_rval_t BOOLEAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_dec_rval_t asn_TYPE_descriptor_t *td, void **sptr,
BOOLEAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, const char *opt_mname, const void *buf_ptr,
asn_TYPE_descriptor_t *td, void **sptr, const char *opt_mname, size_t size)
const void *buf_ptr, size_t size) { {
return xer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(BOOLEAN_t),
return xer_decode_primitive(opt_codec_ctx, td, opt_mname, buf_ptr, size,
sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size,
BOOLEAN__xer_body_decode); BOOLEAN__xer_body_decode);
} }
asn_enc_rval_t asn_enc_rval_t BOOLEAN_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
BOOLEAN_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
asn_enc_rval_t er; asn_enc_rval_t er;
(void)ilevel; (void)ilevel;
(void)flags; (void)flags;
if(!st) _ASN_ENCODE_FAILED; if (!st) _ASN_ENCODE_FAILED;
if(*st) { if (*st)
{
_ASN_CALLBACK("<true/>", 7); _ASN_CALLBACK("<true/>", 7);
er.encoded = 7; er.encoded = 7;
} else { }
else
{
_ASN_CALLBACK("<false/>", 8); _ASN_CALLBACK("<false/>", 8);
er.encoded = 8; er.encoded = 8;
} }
@ -204,9 +215,9 @@ cb_failed:
_ASN_ENCODE_FAILED; _ASN_ENCODE_FAILED;
} }
int int BOOLEAN_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
BOOLEAN_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
const char *buf; const char *buf;
size_t buflen; size_t buflen;
@ -214,15 +225,21 @@ BOOLEAN_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
(void)td; /* Unused argument */ (void)td; /* Unused argument */
(void)ilevel; /* Unused argument */ (void)ilevel; /* Unused argument */
if(st) { if (st)
if(*st) { {
if (*st)
{
buf = "TRUE"; buf = "TRUE";
buflen = 4; buflen = 4;
} else { }
else
{
buf = "FALSE"; buf = "FALSE";
buflen = 5; buflen = 5;
} }
} else { }
else
{
buf = "<absent>"; buf = "<absent>";
buflen = 8; buflen = 8;
} }
@ -230,34 +247,45 @@ BOOLEAN_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
return (cb(buf, buflen, app_key) < 0) ? -1 : 0; return (cb(buf, buflen, app_key) < 0) ? -1 : 0;
} }
void void BOOLEAN_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only)
BOOLEAN_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only) { {
if(td && ptr && !contents_only) { if (td && ptr && !contents_only)
{
FREEMEM(ptr); FREEMEM(ptr);
} }
} }
asn_dec_rval_t asn_dec_rval_t BOOLEAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
BOOLEAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { asn_per_constraints_t *constraints,
void **sptr, asn_per_data_t *pd)
{
asn_dec_rval_t rv; asn_dec_rval_t rv;
BOOLEAN_t *st = (BOOLEAN_t *)*sptr; BOOLEAN_t *st = (BOOLEAN_t *)*sptr;
(void)opt_codec_ctx; (void)opt_codec_ctx;
(void)constraints; (void)constraints;
if(!st) { if (!st)
{
st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st)));
if(!st) _ASN_DECODE_FAILED; if (!st) _ASN_DECODE_FAILED;
} }
/* /*
* Extract a single bit * Extract a single bit
*/ */
switch(per_get_few_bits(pd, 1)) { switch (per_get_few_bits(pd, 1))
case 1: *st = 1; break; {
case 0: *st = 0; break; case 1:
case -1: default: _ASN_DECODE_STARVED; *st = 1;
break;
case 0:
*st = 0;
break;
case -1:
default:
_ASN_DECODE_STARVED;
} }
ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE");
@ -267,16 +295,16 @@ BOOLEAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
return rv; return rv;
} }
asn_enc_rval_t BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td,
asn_enc_rval_t asn_per_constraints_t *constraints,
BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td, void *sptr, asn_per_outp_t *po)
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { {
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
asn_enc_rval_t er; asn_enc_rval_t er;
(void)constraints; (void)constraints;
if(!st) _ASN_ENCODE_FAILED; if (!st) _ASN_ENCODE_FAILED;
per_put_few_bits(po, *st ? 1 : 0, 1); per_put_few_bits(po, *st ? 1 : 0, 1);

View File

@ -6,26 +6,28 @@
#include "BSIC.h" #include "BSIC.h"
int int BSIC_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
BSIC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 63)) { if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ BSIC_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void BSIC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
BSIC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,87 @@ BSIC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void BSIC_free(asn_TYPE_descriptor_t *td, void *struct_ptr, int contents_only)
BSIC_free(asn_TYPE_descriptor_t *td, {
void *struct_ptr, int contents_only) {
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int BSIC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel,
BSIC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BSIC_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
BSIC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size, int tag_mode)
{
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t BSIC_encode_der(asn_TYPE_descriptor_t *td, void *structure,
BSIC_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BSIC_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
BSIC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr,
size_t size)
{
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t BSIC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
BSIC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BSIC_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
BSIC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure, asn_per_data_t *per_data)
{
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t BSIC_encode_uper(asn_TYPE_descriptor_t *td,
BSIC_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
BSIC_1_inherit_TYPE_descriptor(td); BSIC_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_BSIC_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_BSIC_CONSTR_1 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, {APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_BSIC_tags_1[] = { static ber_tlv_tag_t asn_DEF_BSIC_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_BSIC = { asn_TYPE_descriptor_t asn_DEF_BSIC = {
"BSIC", "BSIC",
"BSIC", "BSIC",
@ -133,13 +142,11 @@ asn_TYPE_descriptor_t asn_DEF_BSIC = {
BSIC_encode_uper, BSIC_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_BSIC_tags_1, asn_DEF_BSIC_tags_1,
sizeof(asn_DEF_BSIC_tags_1) sizeof(asn_DEF_BSIC_tags_1) / sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
/sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
asn_DEF_BSIC_tags_1, /* Same as above */ asn_DEF_BSIC_tags_1, /* Same as above */
sizeof(asn_DEF_BSIC_tags_1) sizeof(asn_DEF_BSIC_tags_1) / sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
/sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BSIC_CONSTR_1, &ASN_PER_TYPE_BSIC_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _BSIC_H_ #ifndef _BSIC_H_
#define _BSIC_H_ #define _BSIC_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,38 +7,32 @@
#include "BSICAndCarrier.h" #include "BSICAndCarrier.h"
static asn_TYPE_member_t asn_MBR_BSICAndCarrier_1[] = { static asn_TYPE_member_t asn_MBR_BSICAndCarrier_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, carrier), {ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, carrier),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_BCCHCarrier, &asn_DEF_BCCHCarrier,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "carrier"},
"carrier" {ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, bsic),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, bsic), &asn_DEF_BSIC, 0, /* Defer constraints checking to the member type */
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BSIC,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "bsic"},
"bsic"
},
}; };
static ber_tlv_tag_t asn_DEF_BSICAndCarrier_tags_1[] = { static ber_tlv_tag_t asn_DEF_BSICAndCarrier_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_BSICAndCarrier_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_BSICAndCarrier_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* carrier at 304 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* carrier at 304 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* bsic at 306 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* bsic at 306 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_BSICAndCarrier_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_BSICAndCarrier_specs_1 = {
sizeof(struct BSICAndCarrier), sizeof(struct BSICAndCarrier),
offsetof(struct BSICAndCarrier, _asn_ctx), offsetof(struct BSICAndCarrier, _asn_ctx),
asn_MAP_BSICAndCarrier_tag2el_1, asn_MAP_BSICAndCarrier_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -56,14 +50,13 @@ asn_TYPE_descriptor_t asn_DEF_BSICAndCarrier = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_BSICAndCarrier_tags_1, asn_DEF_BSICAndCarrier_tags_1,
sizeof(asn_DEF_BSICAndCarrier_tags_1) sizeof(asn_DEF_BSICAndCarrier_tags_1) /
/sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */ sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */
asn_DEF_BSICAndCarrier_tags_1, /* Same as above */ asn_DEF_BSICAndCarrier_tags_1, /* Same as above */
sizeof(asn_DEF_BSICAndCarrier_tags_1) sizeof(asn_DEF_BSICAndCarrier_tags_1) /
/sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */ sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_BSICAndCarrier_1, asn_MBR_BSICAndCarrier_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_BSICAndCarrier_specs_1 /* Additional specs */ &asn_SPC_BSICAndCarrier_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _BSICAndCarrier_H_ #ifndef _BSICAndCarrier_H_
#define _BSICAndCarrier_H_ #define _BSICAndCarrier_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,27 +6,30 @@
#include "BTSPosition.h" #include "BTSPosition.h"
int int BTSPosition_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
BTSPosition_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
const Ext_GeographicalInformation_t *st = (const Ext_GeographicalInformation_t *)sptr; const Ext_GeographicalInformation_t *st =
(const Ext_GeographicalInformation_t *)sptr;
size_t size; size_t size;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
size = st->size; size = st->size;
if((size >= 1 && size <= 20)) { if ((size >= 1 && size <= 20))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -36,8 +39,8 @@ BTSPosition_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using Ext_GeographicalInformation, * This type is implemented using Ext_GeographicalInformation,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void BTSPosition_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
BTSPosition_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_Ext_GeographicalInformation.free_struct; td->free_struct = asn_DEF_Ext_GeographicalInformation.free_struct;
td->print_struct = asn_DEF_Ext_GeographicalInformation.print_struct; td->print_struct = asn_DEF_Ext_GeographicalInformation.print_struct;
td->ber_decoder = asn_DEF_Ext_GeographicalInformation.ber_decoder; td->ber_decoder = asn_DEF_Ext_GeographicalInformation.ber_decoder;
@ -46,75 +49,89 @@ BTSPosition_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_Ext_GeographicalInformation.xer_encoder; td->xer_encoder = asn_DEF_Ext_GeographicalInformation.xer_encoder;
td->uper_decoder = asn_DEF_Ext_GeographicalInformation.uper_decoder; td->uper_decoder = asn_DEF_Ext_GeographicalInformation.uper_decoder;
td->uper_encoder = asn_DEF_Ext_GeographicalInformation.uper_encoder; td->uper_encoder = asn_DEF_Ext_GeographicalInformation.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_Ext_GeographicalInformation.per_constraints; td->per_constraints =
asn_DEF_Ext_GeographicalInformation.per_constraints;
td->elements = asn_DEF_Ext_GeographicalInformation.elements; td->elements = asn_DEF_Ext_GeographicalInformation.elements;
td->elements_count = asn_DEF_Ext_GeographicalInformation.elements_count; td->elements_count = asn_DEF_Ext_GeographicalInformation.elements_count;
td->specifics = asn_DEF_Ext_GeographicalInformation.specifics; td->specifics = asn_DEF_Ext_GeographicalInformation.specifics;
} }
void void BTSPosition_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
BTSPosition_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int BTSPosition_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
BTSPosition_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BTSPosition_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
BTSPosition_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure, const void *bufptr,
size_t size, int tag_mode)
{
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t BTSPosition_encode_der(asn_TYPE_descriptor_t *td,
BTSPosition_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BTSPosition_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
BTSPosition_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t BTSPosition_encode_xer(asn_TYPE_descriptor_t *td,
BTSPosition_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BTSPosition_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
BTSPosition_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t BTSPosition_encode_uper(asn_TYPE_descriptor_t *td,
BTSPosition_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
BTSPosition_1_inherit_TYPE_descriptor(td); BTSPosition_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static ber_tlv_tag_t asn_DEF_BTSPosition_tags_1[] = { static ber_tlv_tag_t asn_DEF_BTSPosition_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_BTSPosition = { asn_TYPE_descriptor_t asn_DEF_BTSPosition = {
"BTSPosition", "BTSPosition",
"BTSPosition", "BTSPosition",
@ -129,13 +146,13 @@ asn_TYPE_descriptor_t asn_DEF_BTSPosition = {
BTSPosition_encode_uper, BTSPosition_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_BTSPosition_tags_1, asn_DEF_BTSPosition_tags_1,
sizeof(asn_DEF_BTSPosition_tags_1) sizeof(asn_DEF_BTSPosition_tags_1) /
/sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */ sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */
asn_DEF_BTSPosition_tags_1, /* Same as above */ asn_DEF_BTSPosition_tags_1, /* Same as above */
sizeof(asn_DEF_BTSPosition_tags_1) sizeof(asn_DEF_BTSPosition_tags_1) /
/sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */ sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _BTSPosition_H_ #ifndef _BTSPosition_H_
#define _BTSPosition_H_ #define _BTSPosition_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,63 +6,58 @@
#include "BadSignalElement.h" #include "BadSignalElement.h"
static int static int memb_badSignalID_constraint_1(asn_TYPE_descriptor_t *td,
memb_badSignalID_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 3)) { if ((value >= 0 && value <= 3))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_BAD_SIGNAL_ID_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_BAD_SIGNAL_ID_CONSTR_3 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, {APC_CONSTRAINED, 2, 2, 0, 3} /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_BadSignalElement_1[] = { static asn_TYPE_member_t asn_MBR_BadSignalElement_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BadSignalElement, badSVID), {ATF_NOFLAGS, 0, offsetof(struct BadSignalElement, badSVID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_SVID, 0, /* Defer constraints checking to the member type */
&asn_DEF_SVID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "badSVID"},
"badSVID" {ATF_POINTER, 1, offsetof(struct BadSignalElement, badSignalID),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 1, offsetof(struct BadSignalElement, badSignalID), &asn_DEF_NativeInteger, memb_badSignalID_constraint_1,
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), &ASN_PER_MEMB_BAD_SIGNAL_ID_CONSTR_3, 0, "badSignalID"},
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_badSignalID_constraint_1,
&ASN_PER_MEMB_BAD_SIGNAL_ID_CONSTR_3,
0,
"badSignalID"
},
}; };
static int asn_MAP_BadSignalElement_oms_1[] = { 1 }; static int asn_MAP_BadSignalElement_oms_1[] = {1};
static ber_tlv_tag_t asn_DEF_BadSignalElement_tags_1[] = { static ber_tlv_tag_t asn_DEF_BadSignalElement_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_BadSignalElement_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_BadSignalElement_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* badSVID at 1300 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* badSVID at 1300 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* badSignalID at 1301 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* badSignalID at 1301 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_BadSignalElement_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_BadSignalElement_specs_1 = {
sizeof(struct BadSignalElement), sizeof(struct BadSignalElement),
@ -70,7 +65,8 @@ static asn_SEQUENCE_specifics_t asn_SPC_BadSignalElement_specs_1 = {
asn_MAP_BadSignalElement_tag2el_1, asn_MAP_BadSignalElement_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
asn_MAP_BadSignalElement_oms_1, /* Optional members */ asn_MAP_BadSignalElement_oms_1, /* Optional members */
1, 0, /* Root/Additions */ 1,
0, /* Root/Additions */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -88,14 +84,13 @@ asn_TYPE_descriptor_t asn_DEF_BadSignalElement = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_BadSignalElement_tags_1, asn_DEF_BadSignalElement_tags_1,
sizeof(asn_DEF_BadSignalElement_tags_1) sizeof(asn_DEF_BadSignalElement_tags_1) /
/sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */
asn_DEF_BadSignalElement_tags_1, /* Same as above */ asn_DEF_BadSignalElement_tags_1, /* Same as above */
sizeof(asn_DEF_BadSignalElement_tags_1) sizeof(asn_DEF_BadSignalElement_tags_1) /
/sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_BadSignalElement_1, asn_MBR_BadSignalElement_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_BadSignalElement_specs_1 /* Additional specs */ &asn_SPC_BadSignalElement_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _BadSignalElement_H_ #ifndef _BadSignalElement_H_
#define _BadSignalElement_H_ #define _BadSignalElement_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "BitNumber.h" #include "BitNumber.h"
int int BitNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
BitNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 156)) { if ((value >= 0 && value <= 156))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ BitNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void BitNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
BitNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,89 @@ BitNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void BitNumber_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
BitNumber_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int BitNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
BitNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BitNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
BitNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size,
int tag_mode)
{
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t BitNumber_encode_der(asn_TYPE_descriptor_t *td, void *structure,
BitNumber_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BitNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
BitNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr,
size_t size)
{
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t BitNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
BitNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t BitNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
BitNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure, asn_per_data_t *per_data)
{
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t BitNumber_encode_uper(asn_TYPE_descriptor_t *td,
BitNumber_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
BitNumber_1_inherit_TYPE_descriptor(td); BitNumber_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_BIT_NUMBER_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_BIT_NUMBER_CONSTR_1 = {
{ APC_CONSTRAINED, 8, 8, 0, 156 } /* (0..156) */, {APC_CONSTRAINED, 8, 8, 0, 156} /* (0..156) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_BitNumber_tags_1[] = { static ber_tlv_tag_t asn_DEF_BitNumber_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_BitNumber = { asn_TYPE_descriptor_t asn_DEF_BitNumber = {
"BitNumber", "BitNumber",
"BitNumber", "BitNumber",
@ -133,13 +144,13 @@ asn_TYPE_descriptor_t asn_DEF_BitNumber = {
BitNumber_encode_uper, BitNumber_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_BitNumber_tags_1, asn_DEF_BitNumber_tags_1,
sizeof(asn_DEF_BitNumber_tags_1) sizeof(asn_DEF_BitNumber_tags_1) /
/sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */ sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */
asn_DEF_BitNumber_tags_1, /* Same as above */ asn_DEF_BitNumber_tags_1, /* Same as above */
sizeof(asn_DEF_BitNumber_tags_1) sizeof(asn_DEF_BitNumber_tags_1) /
/sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */ sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BIT_NUMBER_CONSTR_1, &ASN_PER_TYPE_BIT_NUMBER_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _BitNumber_H_ #ifndef _BitNumber_H_
#define _BitNumber_H_ #define _BitNumber_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,38 +7,32 @@
#include "CalcAssistanceBTS.h" #include "CalcAssistanceBTS.h"
static asn_TYPE_member_t asn_MBR_CalcAssistanceBTS_1[] = { static asn_TYPE_member_t asn_MBR_CalcAssistanceBTS_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, fineRTD), {ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, fineRTD),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_FineRTD, 0, /* Defer constraints checking to the member type */
&asn_DEF_FineRTD,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "fineRTD"},
"fineRTD" {ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, referenceWGS84),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, referenceWGS84),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceWGS84, &asn_DEF_ReferenceWGS84,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "referenceWGS84"},
"referenceWGS84"
},
}; };
static ber_tlv_tag_t asn_DEF_CalcAssistanceBTS_tags_1[] = { static ber_tlv_tag_t asn_DEF_CalcAssistanceBTS_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_CalcAssistanceBTS_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_CalcAssistanceBTS_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fineRTD at 241 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* fineRTD at 241 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* referenceWGS84 at 243 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* referenceWGS84 at 243 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_CalcAssistanceBTS_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_CalcAssistanceBTS_specs_1 = {
sizeof(struct CalcAssistanceBTS), sizeof(struct CalcAssistanceBTS),
offsetof(struct CalcAssistanceBTS, _asn_ctx), offsetof(struct CalcAssistanceBTS, _asn_ctx),
asn_MAP_CalcAssistanceBTS_tag2el_1, asn_MAP_CalcAssistanceBTS_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -56,14 +50,13 @@ asn_TYPE_descriptor_t asn_DEF_CalcAssistanceBTS = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_CalcAssistanceBTS_tags_1, asn_DEF_CalcAssistanceBTS_tags_1,
sizeof(asn_DEF_CalcAssistanceBTS_tags_1) sizeof(asn_DEF_CalcAssistanceBTS_tags_1) /
/sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */ sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */
asn_DEF_CalcAssistanceBTS_tags_1, /* Same as above */ asn_DEF_CalcAssistanceBTS_tags_1, /* Same as above */
sizeof(asn_DEF_CalcAssistanceBTS_tags_1) sizeof(asn_DEF_CalcAssistanceBTS_tags_1) /
/sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */ sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_CalcAssistanceBTS_1, asn_MBR_CalcAssistanceBTS_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_CalcAssistanceBTS_specs_1 /* Additional specs */ &asn_SPC_CalcAssistanceBTS_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _CalcAssistanceBTS_H_ #ifndef _CalcAssistanceBTS_H_
#define _CalcAssistanceBTS_H_ #define _CalcAssistanceBTS_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "CellID.h" #include "CellID.h"
int int CellID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
CellID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 65535)) { if ((value >= 0 && value <= 65535))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ CellID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void CellID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
CellID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,87 @@ CellID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void CellID_free(asn_TYPE_descriptor_t *td, void *struct_ptr, int contents_only)
CellID_free(asn_TYPE_descriptor_t *td, {
void *struct_ptr, int contents_only) {
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int CellID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel,
CellID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t CellID_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
CellID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size, int tag_mode)
{
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t CellID_encode_der(asn_TYPE_descriptor_t *td, void *structure,
CellID_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t CellID_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
CellID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr,
size_t size)
{
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t CellID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
CellID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t CellID_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
CellID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure, asn_per_data_t *per_data)
{
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t CellID_encode_uper(asn_TYPE_descriptor_t *td,
CellID_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
CellID_1_inherit_TYPE_descriptor(td); CellID_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_CELL_ID_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_CELL_ID_CONSTR_1 = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, {APC_CONSTRAINED, 16, 16, 0, 65535} /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_CellID_tags_1[] = { static ber_tlv_tag_t asn_DEF_CellID_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_CellID = { asn_TYPE_descriptor_t asn_DEF_CellID = {
"CellID", "CellID",
"CellID", "CellID",
@ -133,13 +142,11 @@ asn_TYPE_descriptor_t asn_DEF_CellID = {
CellID_encode_uper, CellID_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_CellID_tags_1, asn_DEF_CellID_tags_1,
sizeof(asn_DEF_CellID_tags_1) sizeof(asn_DEF_CellID_tags_1) / sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
/sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
asn_DEF_CellID_tags_1, /* Same as above */ asn_DEF_CellID_tags_1, /* Same as above */
sizeof(asn_DEF_CellID_tags_1) sizeof(asn_DEF_CellID_tags_1) / sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
/sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
&ASN_PER_TYPE_CELL_ID_CONSTR_1, &ASN_PER_TYPE_CELL_ID_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _CellID_H_ #ifndef _CellID_H_
#define _CellID_H_ #define _CellID_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,38 +7,31 @@
#include "CellIDAndLAC.h" #include "CellIDAndLAC.h"
static asn_TYPE_member_t asn_MBR_CellIDAndLAC_1[] = { static asn_TYPE_member_t asn_MBR_CellIDAndLAC_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceLAC), {ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceLAC),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_LAC, 0, /* Defer constraints checking to the member type */
&asn_DEF_LAC,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "referenceLAC"},
"referenceLAC" {ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceCI),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceCI), &asn_DEF_CellID, 0, /* Defer constraints checking to the member type */
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CellID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "referenceCI"},
"referenceCI"
},
}; };
static ber_tlv_tag_t asn_DEF_CellIDAndLAC_tags_1[] = { static ber_tlv_tag_t asn_DEF_CellIDAndLAC_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_CellIDAndLAC_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_CellIDAndLAC_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* referenceLAC at 313 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* referenceLAC at 313 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* referenceCI at 315 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* referenceCI at 315 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_CellIDAndLAC_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_CellIDAndLAC_specs_1 = {
sizeof(struct CellIDAndLAC), sizeof(struct CellIDAndLAC),
offsetof(struct CellIDAndLAC, _asn_ctx), offsetof(struct CellIDAndLAC, _asn_ctx),
asn_MAP_CellIDAndLAC_tag2el_1, asn_MAP_CellIDAndLAC_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -56,14 +49,13 @@ asn_TYPE_descriptor_t asn_DEF_CellIDAndLAC = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_CellIDAndLAC_tags_1, asn_DEF_CellIDAndLAC_tags_1,
sizeof(asn_DEF_CellIDAndLAC_tags_1) sizeof(asn_DEF_CellIDAndLAC_tags_1) /
/sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */ sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */
asn_DEF_CellIDAndLAC_tags_1, /* Same as above */ asn_DEF_CellIDAndLAC_tags_1, /* Same as above */
sizeof(asn_DEF_CellIDAndLAC_tags_1) sizeof(asn_DEF_CellIDAndLAC_tags_1) /
/sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */ sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_CellIDAndLAC_1, asn_MBR_CellIDAndLAC_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_CellIDAndLAC_specs_1 /* Additional specs */ &asn_SPC_CellIDAndLAC_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _CellIDAndLAC_H_ #ifndef _CellIDAndLAC_H_
#define _CellIDAndLAC_H_ #define _CellIDAndLAC_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,102 +7,72 @@
#include "ControlHeader.h" #include "ControlHeader.h"
static asn_TYPE_member_t asn_MBR_ControlHeader_1[] = { static asn_TYPE_member_t asn_MBR_ControlHeader_1[] = {
{ ATF_POINTER, 9, offsetof(struct ControlHeader, referenceTime), {ATF_POINTER, 9, offsetof(struct ControlHeader, referenceTime),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceTime, &asn_DEF_ReferenceTime,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "referenceTime"},
"referenceTime" {ATF_POINTER, 8, offsetof(struct ControlHeader, refLocation),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 8, offsetof(struct ControlHeader, refLocation),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RefLocation, &asn_DEF_RefLocation,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "refLocation"},
"refLocation" {ATF_POINTER, 7, offsetof(struct ControlHeader, dgpsCorrections),
}, (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 7, offsetof(struct ControlHeader, dgpsCorrections),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_DGPSCorrections, &asn_DEF_DGPSCorrections,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "dgpsCorrections"},
"dgpsCorrections" {ATF_POINTER, 6, offsetof(struct ControlHeader, navigationModel),
}, (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 6, offsetof(struct ControlHeader, navigationModel),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NavigationModel, &asn_DEF_NavigationModel,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "navigationModel"},
"navigationModel" {ATF_POINTER, 5, offsetof(struct ControlHeader, ionosphericModel),
}, (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 5, offsetof(struct ControlHeader, ionosphericModel),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_IonosphericModel, &asn_DEF_IonosphericModel,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "ionosphericModel"},
"ionosphericModel" {ATF_POINTER, 4, offsetof(struct ControlHeader, utcModel),
}, (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 4, offsetof(struct ControlHeader, utcModel), &asn_DEF_UTCModel, 0, /* Defer constraints checking to the member type */
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_UTCModel,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "utcModel"},
"utcModel" {ATF_POINTER, 3, offsetof(struct ControlHeader, almanac),
}, (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 3, offsetof(struct ControlHeader, almanac), &asn_DEF_Almanac, 0, /* Defer constraints checking to the member type */
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Almanac,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "almanac"},
"almanac" {ATF_POINTER, 2, offsetof(struct ControlHeader, acquisAssist),
}, (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 2, offsetof(struct ControlHeader, acquisAssist),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_AcquisAssist, &asn_DEF_AcquisAssist,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "acquisAssist"},
"acquisAssist" {ATF_POINTER, 1, offsetof(struct ControlHeader, realTimeIntegrity),
}, (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_POINTER, 1, offsetof(struct ControlHeader, realTimeIntegrity),
(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOf_BadSatelliteSet, &asn_DEF_SeqOf_BadSatelliteSet,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "realTimeIntegrity"},
"realTimeIntegrity"
},
}; };
static int asn_MAP_ControlHeader_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; static int asn_MAP_ControlHeader_oms_1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
static ber_tlv_tag_t asn_DEF_ControlHeader_tags_1[] = { static ber_tlv_tag_t asn_DEF_ControlHeader_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_ControlHeader_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_ControlHeader_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* referenceTime at 574 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* referenceTime at 574 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* refLocation at 575 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* refLocation at 575 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dgpsCorrections at 576 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0}, /* dgpsCorrections at 576 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* navigationModel at 577 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* navigationModel at 577 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ionosphericModel at 578 */ {(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0}, /* ionosphericModel at 578 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* utcModel at 579 */ {(ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0}, /* utcModel at 579 */
{ (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* almanac at 580 */ {(ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0}, /* almanac at 580 */
{ (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* acquisAssist at 581 */ {(ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0}, /* acquisAssist at 581 */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* realTimeIntegrity at 582 */ {(ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0} /* realTimeIntegrity at 582 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_ControlHeader_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_ControlHeader_specs_1 = {
sizeof(struct ControlHeader), sizeof(struct ControlHeader),
@ -110,7 +80,8 @@ static asn_SEQUENCE_specifics_t asn_SPC_ControlHeader_specs_1 = {
asn_MAP_ControlHeader_tag2el_1, asn_MAP_ControlHeader_tag2el_1,
9, /* Count of tags in the map */ 9, /* Count of tags in the map */
asn_MAP_ControlHeader_oms_1, /* Optional members */ asn_MAP_ControlHeader_oms_1, /* Optional members */
9, 0, /* Root/Additions */ 9,
0, /* Root/Additions */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -128,14 +99,13 @@ asn_TYPE_descriptor_t asn_DEF_ControlHeader = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_ControlHeader_tags_1, asn_DEF_ControlHeader_tags_1,
sizeof(asn_DEF_ControlHeader_tags_1) sizeof(asn_DEF_ControlHeader_tags_1) /
/sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */ sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */
asn_DEF_ControlHeader_tags_1, /* Same as above */ asn_DEF_ControlHeader_tags_1, /* Same as above */
sizeof(asn_DEF_ControlHeader_tags_1) sizeof(asn_DEF_ControlHeader_tags_1) /
/sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */ sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_ControlHeader_1, asn_MBR_ControlHeader_1,
9, /* Elements count */ 9, /* Elements count */
&asn_SPC_ControlHeader_specs_1 /* Additional specs */ &asn_SPC_ControlHeader_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _ControlHeader_H_ #ifndef _ControlHeader_H_
#define _ControlHeader_H_ #define _ControlHeader_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,189 +6,183 @@
#include "DGANSSSgnElement.h" #include "DGANSSSgnElement.h"
static int static int memb_iod_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
memb_iod_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 1023)) { if ((value >= 0 && value <= 1023))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_udre_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
memb_udre_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 3)) { if ((value >= 0 && value <= 3))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_pseudoRangeCor_constraint_1(
memb_pseudoRangeCor_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -2047 && value <= 2047)) { if ((value >= -2047 && value <= 2047))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_rangeRateCor_constraint_1(asn_TYPE_descriptor_t *td,
memb_rangeRateCor_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -127 && value <= 127)) { if ((value >= -127 && value <= 127))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_IOD_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_IOD_CONSTR_3 = {
{ APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, {APC_CONSTRAINED, 10, 10, 0, 1023} /* (0..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_UDRE_CONSTR_4 = { static asn_per_constraints_t ASN_PER_MEMB_UDRE_CONSTR_4 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, {APC_CONSTRAINED, 2, 2, 0, 3} /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_PSEUDO_RANGE_COR_CONSTR_5 = { static asn_per_constraints_t ASN_PER_MEMB_PSEUDO_RANGE_COR_CONSTR_5 = {
{ APC_CONSTRAINED, 12, 12, -2047, 2047 } /* (-2047..2047) */, {APC_CONSTRAINED, 12, 12, -2047, 2047} /* (-2047..2047) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_RANGE_RATE_COR_CONSTR_6 = { static asn_per_constraints_t ASN_PER_MEMB_RANGE_RATE_COR_CONSTR_6 = {
{ APC_CONSTRAINED, 8, 8, -127, 127 } /* (-127..127) */, {APC_CONSTRAINED, 8, 8, -127, 127} /* (-127..127) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_DGANSSSgnElement_1[] = { static asn_TYPE_member_t asn_MBR_DGANSSSgnElement_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, svID), {ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, svID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_SVID, 0, /* Defer constraints checking to the member type */
&asn_DEF_SVID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "svID"},
"svID" {ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, iod),
}, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, iod), &asn_DEF_NativeInteger, memb_iod_constraint_1, &ASN_PER_MEMB_IOD_CONSTR_3,
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, "iod"},
-1, /* IMPLICIT tag at current level */ {ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, udre),
&asn_DEF_NativeInteger, (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
memb_iod_constraint_1, &asn_DEF_NativeInteger, memb_udre_constraint_1,
&ASN_PER_MEMB_IOD_CONSTR_3, &ASN_PER_MEMB_UDRE_CONSTR_4, 0, "udre"},
0, {ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, pseudoRangeCor),
"iod" (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
}, &asn_DEF_NativeInteger, memb_pseudoRangeCor_constraint_1,
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, udre), &ASN_PER_MEMB_PSEUDO_RANGE_COR_CONSTR_5, 0, "pseudoRangeCor"},
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), {ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, rangeRateCor),
-1, /* IMPLICIT tag at current level */ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, &asn_DEF_NativeInteger, memb_rangeRateCor_constraint_1,
memb_udre_constraint_1, &ASN_PER_MEMB_RANGE_RATE_COR_CONSTR_6, 0, "rangeRateCor"},
&ASN_PER_MEMB_UDRE_CONSTR_4,
0,
"udre"
},
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, pseudoRangeCor),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_pseudoRangeCor_constraint_1,
&ASN_PER_MEMB_PSEUDO_RANGE_COR_CONSTR_5,
0,
"pseudoRangeCor"
},
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, rangeRateCor),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_rangeRateCor_constraint_1,
&ASN_PER_MEMB_RANGE_RATE_COR_CONSTR_6,
0,
"rangeRateCor"
},
}; };
static ber_tlv_tag_t asn_DEF_DGANSSSgnElement_tags_1[] = { static ber_tlv_tag_t asn_DEF_DGANSSSgnElement_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_DGANSSSgnElement_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_DGANSSSgnElement_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* svID at 1207 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* svID at 1207 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iod at 1210 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* iod at 1210 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* udre at 1213 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0}, /* udre at 1213 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* pseudoRangeCor at 1217 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* pseudoRangeCor at 1217 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* rangeRateCor at 1221 */ {(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0} /* rangeRateCor at 1221 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_DGANSSSgnElement_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_DGANSSSgnElement_specs_1 = {
sizeof(struct DGANSSSgnElement), sizeof(struct DGANSSSgnElement),
offsetof(struct DGANSSSgnElement, _asn_ctx), offsetof(struct DGANSSSgnElement, _asn_ctx),
asn_MAP_DGANSSSgnElement_tag2el_1, asn_MAP_DGANSSSgnElement_tag2el_1,
5, /* Count of tags in the map */ 5, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -206,14 +200,13 @@ asn_TYPE_descriptor_t asn_DEF_DGANSSSgnElement = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_DGANSSSgnElement_tags_1, asn_DEF_DGANSSSgnElement_tags_1,
sizeof(asn_DEF_DGANSSSgnElement_tags_1) sizeof(asn_DEF_DGANSSSgnElement_tags_1) /
/sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */
asn_DEF_DGANSSSgnElement_tags_1, /* Same as above */ asn_DEF_DGANSSSgnElement_tags_1, /* Same as above */
sizeof(asn_DEF_DGANSSSgnElement_tags_1) sizeof(asn_DEF_DGANSSSgnElement_tags_1) /
/sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */ sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_DGANSSSgnElement_1, asn_MBR_DGANSSSgnElement_1,
5, /* Elements count */ 5, /* Elements count */
&asn_SPC_DGANSSSgnElement_specs_1 /* Additional specs */ &asn_SPC_DGANSSSgnElement_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _DGANSSSgnElement_H_ #ifndef _DGANSSSgnElement_H_
#define _DGANSSSgnElement_H_ #define _DGANSSSgnElement_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,109 +6,105 @@
#include "DGPSCorrections.h" #include "DGPSCorrections.h"
static int static int memb_gpsTOW_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
memb_gpsTOW_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 604799)) { if ((value >= 0 && value <= 604799))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_status_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
memb_status_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 7)) { if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_GPS_TOW_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_GPS_TOW_CONSTR_2 = {
{ APC_CONSTRAINED, 20, -1, 0, 604799 } /* (0..604799) */, {APC_CONSTRAINED, 20, -1, 0, 604799} /* (0..604799) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_STATUS_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_STATUS_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, {APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_DGPSCorrections_1[] = { static asn_TYPE_member_t asn_MBR_DGPSCorrections_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, gpsTOW), {ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, gpsTOW),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_gpsTOW_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_GPS_TOW_CONSTR_2, 0, "gpsTOW"},
memb_gpsTOW_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, status),
&ASN_PER_MEMB_GPS_TOW_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_status_constraint_1,
"gpsTOW" &ASN_PER_MEMB_STATUS_CONSTR_3, 0, "status"},
}, {ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, satList),
{ ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, status), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_status_constraint_1,
&ASN_PER_MEMB_STATUS_CONSTR_3,
0,
"status"
},
{ ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, satList),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOfSatElement, &asn_DEF_SeqOfSatElement,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "satList"},
"satList"
},
}; };
static ber_tlv_tag_t asn_DEF_DGPSCorrections_tags_1[] = { static ber_tlv_tag_t asn_DEF_DGPSCorrections_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_DGPSCorrections_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_DGPSCorrections_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gpsTOW at 655 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* gpsTOW at 655 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* status at 656 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* status at 656 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* satList at 659 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0} /* satList at 659 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_DGPSCorrections_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_DGPSCorrections_specs_1 = {
sizeof(struct DGPSCorrections), sizeof(struct DGPSCorrections),
offsetof(struct DGPSCorrections, _asn_ctx), offsetof(struct DGPSCorrections, _asn_ctx),
asn_MAP_DGPSCorrections_tag2el_1, asn_MAP_DGPSCorrections_tag2el_1,
3, /* Count of tags in the map */ 3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -126,14 +122,13 @@ asn_TYPE_descriptor_t asn_DEF_DGPSCorrections = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_DGPSCorrections_tags_1, asn_DEF_DGPSCorrections_tags_1,
sizeof(asn_DEF_DGPSCorrections_tags_1) sizeof(asn_DEF_DGPSCorrections_tags_1) /
/sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */ sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */
asn_DEF_DGPSCorrections_tags_1, /* Same as above */ asn_DEF_DGPSCorrections_tags_1, /* Same as above */
sizeof(asn_DEF_DGPSCorrections_tags_1) sizeof(asn_DEF_DGPSCorrections_tags_1) /
/sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */ sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_DGPSCorrections_1, asn_MBR_DGPSCorrections_1,
3, /* Elements count */ 3, /* Elements count */
&asn_SPC_DGPSCorrections_specs_1 /* Additional specs */ &asn_SPC_DGPSCorrections_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _DGPSCorrections_H_ #ifndef _DGPSCorrections_H_
#define _DGPSCorrections_H_ #define _DGPSCorrections_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -12,8 +12,7 @@
* ENUMERATED basic type description. * ENUMERATED basic type description.
*/ */
static ber_tlv_tag_t asn_DEF_ENUMERATED_tags[] = { static ber_tlv_tag_t asn_DEF_ENUMERATED_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_ENUMERATED = { asn_TYPE_descriptor_t asn_DEF_ENUMERATED = {
"ENUMERATED", "ENUMERATED",
"ENUMERATED", "ENUMERATED",
@ -32,40 +31,42 @@ asn_TYPE_descriptor_t asn_DEF_ENUMERATED = {
asn_DEF_ENUMERATED_tags, /* Same as above */ asn_DEF_ENUMERATED_tags, /* Same as above */
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]), sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };
asn_dec_rval_t asn_dec_rval_t ENUMERATED_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
ENUMERATED_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { asn_per_constraints_t *constraints,
void **sptr, asn_per_data_t *pd)
{
asn_dec_rval_t rval; asn_dec_rval_t rval;
ENUMERATED_t *st = (ENUMERATED_t *)*sptr; ENUMERATED_t *st = (ENUMERATED_t *)*sptr;
long value; long value;
void *vptr = &value; void *vptr = &value;
if(!st) { if (!st)
{
st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st))); st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st)));
if(!st) _ASN_DECODE_FAILED; if (!st) _ASN_DECODE_FAILED;
} }
rval = NativeEnumerated_decode_uper(opt_codec_ctx, td, constraints, rval =
(void **)&vptr, pd); NativeEnumerated_decode_uper(opt_codec_ctx, td, constraints, &vptr, pd);
if(rval.code == RC_OK) if (rval.code == RC_OK)
if(asn_long2INTEGER(st, value)) if (asn_long2INTEGER(st, value)) rval.code = RC_FAIL;
rval.code = RC_FAIL;
return rval; return rval;
} }
asn_enc_rval_t asn_enc_rval_t ENUMERATED_encode_uper(asn_TYPE_descriptor_t *td,
ENUMERATED_encode_uper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { void *sptr, asn_per_outp_t *po)
{
ENUMERATED_t *st = (ENUMERATED_t *)sptr; ENUMERATED_t *st = (ENUMERATED_t *)sptr;
int64_t value; int64_t value;
if(asn_INTEGER2long(st, &value)) if (asn_INTEGER2long(st, &value)) _ASN_ENCODE_FAILED;
_ASN_ENCODE_FAILED;
return NativeEnumerated_encode_uper(td, constraints, &value, po); return NativeEnumerated_encode_uper(td, constraints, &value, po);
} }

View File

@ -6,99 +6,100 @@
#include "EOTDQuality.h" #include "EOTDQuality.h"
static int static int memb_nbrOfMeasurements_constraint_1(
memb_nbrOfMeasurements_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 7)) { if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_stdOfEOTD_constraint_1(asn_TYPE_descriptor_t *td,
memb_stdOfEOTD_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 31)) { if ((value >= 0 && value <= 31))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_NBR_OF_MEASUREMENTS_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_NBR_OF_MEASUREMENTS_CONSTR_2 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, {APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_STD_OF_EOTD_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_STD_OF_EOTD_CONSTR_3 = {
{ APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, {APC_CONSTRAINED, 5, 5, 0, 31} /* (0..31) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_EOTDQuality_1[] = { static asn_TYPE_member_t asn_MBR_EOTDQuality_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct EOTDQuality, nbrOfMeasurements), {ATF_NOFLAGS, 0, offsetof(struct EOTDQuality, nbrOfMeasurements),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_nbrOfMeasurements_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_NBR_OF_MEASUREMENTS_CONSTR_2, 0, "nbrOfMeasurements"},
memb_nbrOfMeasurements_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct EOTDQuality, stdOfEOTD),
&ASN_PER_MEMB_NBR_OF_MEASUREMENTS_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_stdOfEOTD_constraint_1,
"nbrOfMeasurements" &ASN_PER_MEMB_STD_OF_EOTD_CONSTR_3, 0, "stdOfEOTD"},
},
{ ATF_NOFLAGS, 0, offsetof(struct EOTDQuality, stdOfEOTD),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_stdOfEOTD_constraint_1,
&ASN_PER_MEMB_STD_OF_EOTD_CONSTR_3,
0,
"stdOfEOTD"
},
}; };
static ber_tlv_tag_t asn_DEF_EOTDQuality_tags_1[] = { static ber_tlv_tag_t asn_DEF_EOTDQuality_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_EOTDQuality_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_EOTDQuality_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nbrOfMeasurements at 393 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0,
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* stdOfEOTD at 394 */ 0}, /* nbrOfMeasurements at 393 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* stdOfEOTD at 394 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_EOTDQuality_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_EOTDQuality_specs_1 = {
sizeof(struct EOTDQuality), sizeof(struct EOTDQuality),
offsetof(struct EOTDQuality, _asn_ctx), offsetof(struct EOTDQuality, _asn_ctx),
asn_MAP_EOTDQuality_tag2el_1, asn_MAP_EOTDQuality_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -116,14 +117,13 @@ asn_TYPE_descriptor_t asn_DEF_EOTDQuality = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_EOTDQuality_tags_1, asn_DEF_EOTDQuality_tags_1,
sizeof(asn_DEF_EOTDQuality_tags_1) sizeof(asn_DEF_EOTDQuality_tags_1) /
/sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */ sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */
asn_DEF_EOTDQuality_tags_1, /* Same as above */ asn_DEF_EOTDQuality_tags_1, /* Same as above */
sizeof(asn_DEF_EOTDQuality_tags_1) sizeof(asn_DEF_EOTDQuality_tags_1) /
/sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */ sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_EOTDQuality_1, asn_MBR_EOTDQuality_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_EOTDQuality_specs_1 /* Additional specs */ &asn_SPC_EOTDQuality_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _EOTDQuality_H_ #ifndef _EOTDQuality_H_
#define _EOTDQuality_H_ #define _EOTDQuality_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,9 +6,10 @@
#include "EnvironmentCharacter.h" #include "EnvironmentCharacter.h"
int int EnvironmentCharacter_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
EnvironmentCharacter_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
/* Replace with underlying type checker */ /* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints; td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key); return td->check_constraints(td, sptr, ctfailcb, app_key);
@ -18,8 +19,9 @@ EnvironmentCharacter_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using ENUMERATED, * This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void EnvironmentCharacter_1_inherit_TYPE_descriptor(
EnvironmentCharacter_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_ENUMERATED.free_struct; td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct; td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder; td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
@ -28,81 +30,98 @@ EnvironmentCharacter_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder; td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder; td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder; td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements; td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count; td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */ /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined
* explicitly
*/
} }
void void EnvironmentCharacter_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
EnvironmentCharacter_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int EnvironmentCharacter_print(asn_TYPE_descriptor_t *td,
EnvironmentCharacter_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, const void *struct_ptr, int ilevel,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t EnvironmentCharacter_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
EnvironmentCharacter_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t EnvironmentCharacter_encode_der(asn_TYPE_descriptor_t *td,
EnvironmentCharacter_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t EnvironmentCharacter_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
EnvironmentCharacter_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure,
const char *opt_mname,
const void *bufptr, size_t size)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t EnvironmentCharacter_encode_xer(asn_TYPE_descriptor_t *td,
EnvironmentCharacter_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t EnvironmentCharacter_decode_uper(
EnvironmentCharacter_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints, void **structure,
asn_per_data_t *per_data)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t EnvironmentCharacter_encode_uper(
EnvironmentCharacter_encode_uper(asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
asn_per_constraints_t *constraints, void *structure, asn_per_outp_t *per_out)
void *structure, asn_per_outp_t *per_out) { {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td); EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_ENVIRONMENT_CHARACTER_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_ENVIRONMENT_CHARACTER_CONSTR_1 = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, {APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2} /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_INTEGER_enum_map_t asn_MAP_EnvironmentCharacter_value2enum_1[] = { static asn_INTEGER_enum_map_t asn_MAP_EnvironmentCharacter_value2enum_1[] = {
{ 0, 7, "badArea" }, {0, 7, "badArea"}, {1, 10, "notBadArea"}, {2, 9, "mixedArea"}
{ 1, 10, "notBadArea" },
{ 2, 9, "mixedArea" }
/* This list is extensible */ /* This list is extensible */
}; };
static unsigned int asn_MAP_EnvironmentCharacter_enum2value_1[] = { static unsigned int asn_MAP_EnvironmentCharacter_enum2value_1[] = {
@ -118,11 +137,9 @@ static asn_INTEGER_specifics_t asn_SPC_EnvironmentCharacter_specs_1 = {
4, /* Extensions before this member */ 4, /* Extensions before this member */
1, /* Strict enumeration */ 1, /* Strict enumeration */
0, /* Native long size */ 0, /* Native long size */
0 0};
};
static ber_tlv_tag_t asn_DEF_EnvironmentCharacter_tags_1[] = { static ber_tlv_tag_t asn_DEF_EnvironmentCharacter_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_EnvironmentCharacter = { asn_TYPE_descriptor_t asn_DEF_EnvironmentCharacter = {
"EnvironmentCharacter", "EnvironmentCharacter",
"EnvironmentCharacter", "EnvironmentCharacter",
@ -137,13 +154,13 @@ asn_TYPE_descriptor_t asn_DEF_EnvironmentCharacter = {
EnvironmentCharacter_encode_uper, EnvironmentCharacter_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_EnvironmentCharacter_tags_1, asn_DEF_EnvironmentCharacter_tags_1,
sizeof(asn_DEF_EnvironmentCharacter_tags_1) sizeof(asn_DEF_EnvironmentCharacter_tags_1) /
/sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */ sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */
asn_DEF_EnvironmentCharacter_tags_1, /* Same as above */ asn_DEF_EnvironmentCharacter_tags_1, /* Same as above */
sizeof(asn_DEF_EnvironmentCharacter_tags_1) sizeof(asn_DEF_EnvironmentCharacter_tags_1) /
/sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */ sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ENVIRONMENT_CHARACTER_CONSTR_1, &ASN_PER_TYPE_ENVIRONMENT_CHARACTER_CONSTR_1,
0, 0, /* Defined elsewhere */ 0,
0, /* Defined elsewhere */
&asn_SPC_EnvironmentCharacter_specs_1 /* Additional specs */ &asn_SPC_EnvironmentCharacter_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _EnvironmentCharacter_H_ #ifndef _EnvironmentCharacter_H_
#define _EnvironmentCharacter_H_ #define _EnvironmentCharacter_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,179 +6,180 @@
#include "EphemerisSubframe1Reserved.h" #include "EphemerisSubframe1Reserved.h"
static int static int memb_reserved1_constraint_1(asn_TYPE_descriptor_t *td,
memb_reserved1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 8388607)) { if ((value >= 0 && value <= 8388607))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_reserved2_constraint_1(asn_TYPE_descriptor_t *td,
memb_reserved2_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 16777215)) { if ((value >= 0 && value <= 16777215))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_reserved3_constraint_1(asn_TYPE_descriptor_t *td,
memb_reserved3_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 16777215)) { if ((value >= 0 && value <= 16777215))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_reserved4_constraint_1(asn_TYPE_descriptor_t *td,
memb_reserved4_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 65535)) { if ((value >= 0 && value <= 65535))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_RESERVED1_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_RESERVED1_CONSTR_2 = {
{ APC_CONSTRAINED, 23, -1, 0, 8388607 } /* (0..8388607) */, {APC_CONSTRAINED, 23, -1, 0, 8388607} /* (0..8388607) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_RESERVED2_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_RESERVED2_CONSTR_3 = {
{ APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, {APC_CONSTRAINED, 24, -1, 0, 16777215} /* (0..16777215) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_RESERVED3_CONSTR_4 = { static asn_per_constraints_t ASN_PER_MEMB_RESERVED3_CONSTR_4 = {
{ APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, {APC_CONSTRAINED, 24, -1, 0, 16777215} /* (0..16777215) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_RESERVED4_CONSTR_5 = { static asn_per_constraints_t ASN_PER_MEMB_RESERVED4_CONSTR_5 = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, {APC_CONSTRAINED, 16, 16, 0, 65535} /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_EphemerisSubframe1Reserved_1[] = { static asn_TYPE_member_t asn_MBR_EphemerisSubframe1Reserved_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved1), {ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_reserved1_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_RESERVED1_CONSTR_2, 0, "reserved1"},
memb_reserved1_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved2),
&ASN_PER_MEMB_RESERVED1_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_reserved2_constraint_1,
"reserved1" &ASN_PER_MEMB_RESERVED2_CONSTR_3, 0, "reserved2"},
}, {ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved3),
{ ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved2), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), &asn_DEF_NativeInteger, memb_reserved3_constraint_1,
-1, /* IMPLICIT tag at current level */ &ASN_PER_MEMB_RESERVED3_CONSTR_4, 0, "reserved3"},
&asn_DEF_NativeInteger, {ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved4),
memb_reserved2_constraint_1, (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
&ASN_PER_MEMB_RESERVED2_CONSTR_3, &asn_DEF_NativeInteger, memb_reserved4_constraint_1,
0, &ASN_PER_MEMB_RESERVED4_CONSTR_5, 0, "reserved4"},
"reserved2"
},
{ ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved3),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_reserved3_constraint_1,
&ASN_PER_MEMB_RESERVED3_CONSTR_4,
0,
"reserved3"
},
{ ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved4),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_reserved4_constraint_1,
&ASN_PER_MEMB_RESERVED4_CONSTR_5,
0,
"reserved4"
},
}; };
static ber_tlv_tag_t asn_DEF_EphemerisSubframe1Reserved_tags_1[] = { static ber_tlv_tag_t asn_DEF_EphemerisSubframe1Reserved_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_EphemerisSubframe1Reserved_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_EphemerisSubframe1Reserved_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reserved1 at 755 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* reserved1 at 755 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reserved2 at 756 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* reserved2 at 756 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* reserved3 at 757 */ {(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0}, /* reserved3 at 757 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* reserved4 at 758 */ {(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0} /* reserved4 at 758 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_EphemerisSubframe1Reserved_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_EphemerisSubframe1Reserved_specs_1 = {
sizeof(struct EphemerisSubframe1Reserved), sizeof(struct EphemerisSubframe1Reserved),
offsetof(struct EphemerisSubframe1Reserved, _asn_ctx), offsetof(struct EphemerisSubframe1Reserved, _asn_ctx),
asn_MAP_EphemerisSubframe1Reserved_tag2el_1, asn_MAP_EphemerisSubframe1Reserved_tag2el_1,
4, /* Count of tags in the map */ 4, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -196,14 +197,13 @@ asn_TYPE_descriptor_t asn_DEF_EphemerisSubframe1Reserved = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_EphemerisSubframe1Reserved_tags_1, asn_DEF_EphemerisSubframe1Reserved_tags_1,
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1) sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1) /
/sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */ sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */
asn_DEF_EphemerisSubframe1Reserved_tags_1, /* Same as above */ asn_DEF_EphemerisSubframe1Reserved_tags_1, /* Same as above */
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1) sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1) /
/sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */ sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_EphemerisSubframe1Reserved_1, asn_MBR_EphemerisSubframe1Reserved_1,
4, /* Elements count */ 4, /* Elements count */
&asn_SPC_EphemerisSubframe1Reserved_specs_1 /* Additional specs */ &asn_SPC_EphemerisSubframe1Reserved_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _EphemerisSubframe1Reserved_H_ #ifndef _EphemerisSubframe1Reserved_H_
#define _EphemerisSubframe1Reserved_H_ #define _EphemerisSubframe1Reserved_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,9 +6,9 @@
#include "ErrorCodes.h" #include "ErrorCodes.h"
int int ErrorCodes_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
ErrorCodes_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
/* Replace with underlying type checker */ /* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints; td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key); return td->check_constraints(td, sptr, ctfailcb, app_key);
@ -18,8 +18,8 @@ ErrorCodes_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using ENUMERATED, * This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void ErrorCodes_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
ErrorCodes_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_ENUMERATED.free_struct; td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct; td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder; td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
@ -28,84 +28,97 @@ ErrorCodes_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder; td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder; td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder; td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints; td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements; td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count; td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */ /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined
* explicitly
*/
} }
void void ErrorCodes_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
ErrorCodes_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int ErrorCodes_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
ErrorCodes_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ErrorCodes_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
ErrorCodes_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure, const void *bufptr,
size_t size, int tag_mode)
{
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t ErrorCodes_encode_der(asn_TYPE_descriptor_t *td, void *structure,
ErrorCodes_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ErrorCodes_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
ErrorCodes_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t ErrorCodes_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
ErrorCodes_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ErrorCodes_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
ErrorCodes_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t ErrorCodes_encode_uper(asn_TYPE_descriptor_t *td,
ErrorCodes_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
ErrorCodes_1_inherit_TYPE_descriptor(td); ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_ERROR_CODES_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_ERROR_CODES_CONSTR_1 = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, {APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5} /* (0..5,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_INTEGER_enum_map_t asn_MAP_ErrorCodes_value2enum_1[] = { static asn_INTEGER_enum_map_t asn_MAP_ErrorCodes_value2enum_1[] = {
{ 0, 9, "unDefined" }, {0, 9, "unDefined"},
{ 1, 15, "missingComponet" }, {1, 15, "missingComponet"},
{ 2, 13, "incorrectData" }, {2, 13, "incorrectData"},
{ 3, 27, "missingIEorComponentElement" }, {3, 27, "missingIEorComponentElement"},
{ 4, 15, "messageTooShort" }, {4, 15, "messageTooShort"},
{ 5, 21, "unknowReferenceNumber" } {5, 21, "unknowReferenceNumber"}
/* This list is extensible */ /* This list is extensible */
}; };
static unsigned int asn_MAP_ErrorCodes_enum2value_1[] = { static unsigned int asn_MAP_ErrorCodes_enum2value_1[] = {
@ -124,11 +137,9 @@ static asn_INTEGER_specifics_t asn_SPC_ErrorCodes_specs_1 = {
7, /* Extensions before this member */ 7, /* Extensions before this member */
1, /* Strict enumeration */ 1, /* Strict enumeration */
0, /* Native long size */ 0, /* Native long size */
0 0};
};
static ber_tlv_tag_t asn_DEF_ErrorCodes_tags_1[] = { static ber_tlv_tag_t asn_DEF_ErrorCodes_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_ErrorCodes = { asn_TYPE_descriptor_t asn_DEF_ErrorCodes = {
"ErrorCodes", "ErrorCodes",
"ErrorCodes", "ErrorCodes",
@ -143,13 +154,13 @@ asn_TYPE_descriptor_t asn_DEF_ErrorCodes = {
ErrorCodes_encode_uper, ErrorCodes_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_ErrorCodes_tags_1, asn_DEF_ErrorCodes_tags_1,
sizeof(asn_DEF_ErrorCodes_tags_1) sizeof(asn_DEF_ErrorCodes_tags_1) /
/sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */ sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */
asn_DEF_ErrorCodes_tags_1, /* Same as above */ asn_DEF_ErrorCodes_tags_1, /* Same as above */
sizeof(asn_DEF_ErrorCodes_tags_1) sizeof(asn_DEF_ErrorCodes_tags_1) /
/sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */ sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ERROR_CODES_CONSTR_1, &ASN_PER_TYPE_ERROR_CODES_CONSTR_1,
0, 0, /* Defined elsewhere */ 0,
0, /* Defined elsewhere */
&asn_SPC_ErrorCodes_specs_1 /* Additional specs */ &asn_SPC_ErrorCodes_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _ErrorCodes_H_ #ifndef _ErrorCodes_H_
#define _ErrorCodes_H_ #define _ErrorCodes_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,29 @@
#include "ExpOTDUncertainty.h" #include "ExpOTDUncertainty.h"
int int ExpOTDUncertainty_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
ExpOTDUncertainty_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 7)) { if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +38,9 @@ ExpOTDUncertainty_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void ExpOTDUncertainty_1_inherit_TYPE_descriptor(
ExpOTDUncertainty_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +49,98 @@ ExpOTDUncertainty_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void ExpOTDUncertainty_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
ExpOTDUncertainty_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int ExpOTDUncertainty_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
ExpOTDUncertainty_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { void *app_key)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExpOTDUncertainty_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
ExpOTDUncertainty_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t ExpOTDUncertainty_encode_der(asn_TYPE_descriptor_t *td,
ExpOTDUncertainty_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExpOTDUncertainty_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
ExpOTDUncertainty_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure,
const char *opt_mname,
const void *bufptr, size_t size)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t ExpOTDUncertainty_encode_xer(asn_TYPE_descriptor_t *td,
ExpOTDUncertainty_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExpOTDUncertainty_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
ExpOTDUncertainty_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t ExpOTDUncertainty_encode_uper(asn_TYPE_descriptor_t *td,
ExpOTDUncertainty_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure,
asn_per_outp_t *per_out)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td); ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_EXP_OTD_UNCERTAINTY_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_EXP_OTD_UNCERTAINTY_CONSTR_1 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, {APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_ExpOTDUncertainty_tags_1[] = { static ber_tlv_tag_t asn_DEF_ExpOTDUncertainty_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_ExpOTDUncertainty = { asn_TYPE_descriptor_t asn_DEF_ExpOTDUncertainty = {
"ExpOTDUncertainty", "ExpOTDUncertainty",
"ExpOTDUncertainty", "ExpOTDUncertainty",
@ -133,13 +155,13 @@ asn_TYPE_descriptor_t asn_DEF_ExpOTDUncertainty = {
ExpOTDUncertainty_encode_uper, ExpOTDUncertainty_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_ExpOTDUncertainty_tags_1, asn_DEF_ExpOTDUncertainty_tags_1,
sizeof(asn_DEF_ExpOTDUncertainty_tags_1) sizeof(asn_DEF_ExpOTDUncertainty_tags_1) /
/sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */ sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */
asn_DEF_ExpOTDUncertainty_tags_1, /* Same as above */ asn_DEF_ExpOTDUncertainty_tags_1, /* Same as above */
sizeof(asn_DEF_ExpOTDUncertainty_tags_1) sizeof(asn_DEF_ExpOTDUncertainty_tags_1) /
/sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */ sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXP_OTD_UNCERTAINTY_CONSTR_1, &ASN_PER_TYPE_EXP_OTD_UNCERTAINTY_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _ExpOTDUncertainty_H_ #ifndef _ExpOTDUncertainty_H_
#define _ExpOTDUncertainty_H_ #define _ExpOTDUncertainty_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "ExpectedOTD.h" #include "ExpectedOTD.h"
int int ExpectedOTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
ExpectedOTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 1250)) { if ((value >= 0 && value <= 1250))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ ExpectedOTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void ExpectedOTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
ExpectedOTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,94 @@ ExpectedOTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void ExpectedOTD_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
ExpectedOTD_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int ExpectedOTD_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
ExpectedOTD_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExpectedOTD_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
ExpectedOTD_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure, const void *bufptr,
size_t size, int tag_mode)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t ExpectedOTD_encode_der(asn_TYPE_descriptor_t *td,
ExpectedOTD_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExpectedOTD_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
ExpectedOTD_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t ExpectedOTD_encode_xer(asn_TYPE_descriptor_t *td,
ExpectedOTD_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExpectedOTD_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
ExpectedOTD_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t ExpectedOTD_encode_uper(asn_TYPE_descriptor_t *td,
ExpectedOTD_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td); ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_EXPECTED_OTD_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_EXPECTED_OTD_CONSTR_1 = {
{ APC_CONSTRAINED, 11, 11, 0, 1250 } /* (0..1250) */, {APC_CONSTRAINED, 11, 11, 0, 1250} /* (0..1250) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_ExpectedOTD_tags_1[] = { static ber_tlv_tag_t asn_DEF_ExpectedOTD_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_ExpectedOTD = { asn_TYPE_descriptor_t asn_DEF_ExpectedOTD = {
"ExpectedOTD", "ExpectedOTD",
"ExpectedOTD", "ExpectedOTD",
@ -133,13 +149,13 @@ asn_TYPE_descriptor_t asn_DEF_ExpectedOTD = {
ExpectedOTD_encode_uper, ExpectedOTD_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_ExpectedOTD_tags_1, asn_DEF_ExpectedOTD_tags_1,
sizeof(asn_DEF_ExpectedOTD_tags_1) sizeof(asn_DEF_ExpectedOTD_tags_1) /
/sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */ sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */
asn_DEF_ExpectedOTD_tags_1, /* Same as above */ asn_DEF_ExpectedOTD_tags_1, /* Same as above */
sizeof(asn_DEF_ExpectedOTD_tags_1) sizeof(asn_DEF_ExpectedOTD_tags_1) /
/sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */ sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXPECTED_OTD_CONSTR_1, &ASN_PER_TYPE_EXPECTED_OTD_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _ExpectedOTD_H_ #ifndef _ExpectedOTD_H_
#define _ExpectedOTD_H_ #define _ExpectedOTD_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,27 +6,30 @@
#include "Ext-GeographicalInformation.h" #include "Ext-GeographicalInformation.h"
int int Ext_GeographicalInformation_constraint(
Ext_GeographicalInformation_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size; size_t size;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
size = st->size; size = st->size;
if((size >= 1 && size <= 20)) { if ((size >= 1 && size <= 20))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -36,8 +39,9 @@ Ext_GeographicalInformation_constraint(asn_TYPE_descriptor_t *td, const void *sp
* This type is implemented using OCTET_STRING, * This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void Ext_GeographicalInformation_1_inherit_TYPE_descriptor(
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_OCTET_STRING.free_struct; td->free_struct = asn_DEF_OCTET_STRING.free_struct;
td->print_struct = asn_DEF_OCTET_STRING.print_struct; td->print_struct = asn_DEF_OCTET_STRING.print_struct;
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
@ -46,80 +50,90 @@ Ext_GeographicalInformation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
td->elements = asn_DEF_OCTET_STRING.elements; td->elements = asn_DEF_OCTET_STRING.elements;
td->elements_count = asn_DEF_OCTET_STRING.elements_count; td->elements_count = asn_DEF_OCTET_STRING.elements_count;
td->specifics = asn_DEF_OCTET_STRING.specifics; td->specifics = asn_DEF_OCTET_STRING.specifics;
} }
void void Ext_GeographicalInformation_free(asn_TYPE_descriptor_t *td,
Ext_GeographicalInformation_free(asn_TYPE_descriptor_t *td, void *struct_ptr, int contents_only)
void *struct_ptr, int contents_only) { {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int Ext_GeographicalInformation_print(asn_TYPE_descriptor_t *td,
Ext_GeographicalInformation_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, const void *struct_ptr, int ilevel,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t Ext_GeographicalInformation_decode_ber(
Ext_GeographicalInformation_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size, int tag_mode)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t Ext_GeographicalInformation_encode_der(
Ext_GeographicalInformation_encode_der(asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void *structure, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t Ext_GeographicalInformation_decode_xer(
Ext_GeographicalInformation_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr, size_t size)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t Ext_GeographicalInformation_encode_xer(
Ext_GeographicalInformation_encode_xer(asn_TYPE_descriptor_t *td, void *structure, asn_TYPE_descriptor_t *td, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t Ext_GeographicalInformation_decode_uper(
Ext_GeographicalInformation_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints, void **structure,
asn_per_data_t *per_data)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t Ext_GeographicalInformation_encode_uper(
Ext_GeographicalInformation_encode_uper(asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
asn_per_constraints_t *constraints, void *structure, asn_per_outp_t *per_out)
void *structure, asn_per_outp_t *per_out) { {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td); Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1 = { static asn_per_constraints_t
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1 = {
{ APC_CONSTRAINED, 5, 5, 1, 20 } /* (SIZE(1..20)) */, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ {APC_CONSTRAINED, 5, 5, 1, 20} /* (SIZE(1..20)) */,
0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_Ext_GeographicalInformation_tags_1[] = { static ber_tlv_tag_t asn_DEF_Ext_GeographicalInformation_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_Ext_GeographicalInformation = { asn_TYPE_descriptor_t asn_DEF_Ext_GeographicalInformation = {
"Ext-GeographicalInformation", "Ext-GeographicalInformation",
"Ext-GeographicalInformation", "Ext-GeographicalInformation",
@ -134,13 +148,13 @@ asn_TYPE_descriptor_t asn_DEF_Ext_GeographicalInformation = {
Ext_GeographicalInformation_encode_uper, Ext_GeographicalInformation_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_Ext_GeographicalInformation_tags_1, asn_DEF_Ext_GeographicalInformation_tags_1,
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1) sizeof(asn_DEF_Ext_GeographicalInformation_tags_1) /
/sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */ sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */
asn_DEF_Ext_GeographicalInformation_tags_1, /* Same as above */ asn_DEF_Ext_GeographicalInformation_tags_1, /* Same as above */
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1) sizeof(asn_DEF_Ext_GeographicalInformation_tags_1) /
/sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */ sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1, &ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _Ext_GeographicalInformation_H_ #ifndef _Ext_GeographicalInformation_H_
#define _Ext_GeographicalInformation_H_ #define _Ext_GeographicalInformation_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,99 +6,99 @@
#include "Extended-reference.h" #include "Extended-reference.h"
static int static int memb_smlc_code_constraint_1(asn_TYPE_descriptor_t *td,
memb_smlc_code_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 63)) { if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static int static int memb_transaction_ID_constraint_1(
memb_transaction_ID_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 262143)) { if ((value >= 0 && value <= 262143))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
} }
static asn_per_constraints_t ASN_PER_MEMB_SMLC_CODE_CONSTR_2 = { static asn_per_constraints_t ASN_PER_MEMB_SMLC_CODE_CONSTR_2 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, {APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_per_constraints_t ASN_PER_MEMB_TRANSACTION_ID_CONSTR_3 = { static asn_per_constraints_t ASN_PER_MEMB_TRANSACTION_ID_CONSTR_3 = {
{ APC_CONSTRAINED, 18, -1, 0, 262143 } /* (0..262143) */, {APC_CONSTRAINED, 18, -1, 0, 262143} /* (0..262143) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static asn_TYPE_member_t asn_MBR_Extended_reference_1[] = { static asn_TYPE_member_t asn_MBR_Extended_reference_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Extended_reference, smlc_code), {ATF_NOFLAGS, 0, offsetof(struct Extended_reference, smlc_code),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, memb_smlc_code_constraint_1,
&asn_DEF_NativeInteger, &ASN_PER_MEMB_SMLC_CODE_CONSTR_2, 0, "smlc-code"},
memb_smlc_code_constraint_1, {ATF_NOFLAGS, 0, offsetof(struct Extended_reference, transaction_ID),
&ASN_PER_MEMB_SMLC_CODE_CONSTR_2, (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
0, &asn_DEF_NativeInteger, memb_transaction_ID_constraint_1,
"smlc-code" &ASN_PER_MEMB_TRANSACTION_ID_CONSTR_3, 0, "transaction-ID"},
},
{ ATF_NOFLAGS, 0, offsetof(struct Extended_reference, transaction_ID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_transaction_ID_constraint_1,
&ASN_PER_MEMB_TRANSACTION_ID_CONSTR_3,
0,
"transaction-ID"
},
}; };
static ber_tlv_tag_t asn_DEF_Extended_reference_tags_1[] = { static ber_tlv_tag_t asn_DEF_Extended_reference_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_Extended_reference_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_Extended_reference_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* smlc-code at 999 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* smlc-code at 999 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* transaction-ID at 1000 */ {(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* transaction-ID at 1000 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_Extended_reference_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_Extended_reference_specs_1 = {
sizeof(struct Extended_reference), sizeof(struct Extended_reference),
offsetof(struct Extended_reference, _asn_ctx), offsetof(struct Extended_reference, _asn_ctx),
asn_MAP_Extended_reference_tag2el_1, asn_MAP_Extended_reference_tag2el_1,
2, /* Count of tags in the map */ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -116,14 +116,13 @@ asn_TYPE_descriptor_t asn_DEF_Extended_reference = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_Extended_reference_tags_1, asn_DEF_Extended_reference_tags_1,
sizeof(asn_DEF_Extended_reference_tags_1) sizeof(asn_DEF_Extended_reference_tags_1) /
/sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */ sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */
asn_DEF_Extended_reference_tags_1, /* Same as above */ asn_DEF_Extended_reference_tags_1, /* Same as above */
sizeof(asn_DEF_Extended_reference_tags_1) sizeof(asn_DEF_Extended_reference_tags_1) /
/sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */ sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_Extended_reference_1, asn_MBR_Extended_reference_1,
2, /* Elements count */ 2, /* Elements count */
&asn_SPC_Extended_reference_specs_1 /* Additional specs */ &asn_SPC_Extended_reference_specs_1 /* Additional specs */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _Extended_reference_H_ #ifndef _Extended_reference_H_
#define _Extended_reference_H_ #define _Extended_reference_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,9 +6,10 @@
#include "ExtensionContainer.h" #include "ExtensionContainer.h"
int int ExtensionContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
ExtensionContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb,
asn_app_constraint_failed_f *ctfailcb, void *app_key) { void *app_key)
{
/* Replace with underlying type checker */ /* Replace with underlying type checker */
td->check_constraints = asn_DEF_INTEGER.check_constraints; td->check_constraints = asn_DEF_INTEGER.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key); return td->check_constraints(td, sptr, ctfailcb, app_key);
@ -18,8 +19,9 @@ ExtensionContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using INTEGER, * This type is implemented using INTEGER,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void ExtensionContainer_1_inherit_TYPE_descriptor(
ExtensionContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_INTEGER.free_struct; td->free_struct = asn_DEF_INTEGER.free_struct;
td->print_struct = asn_DEF_INTEGER.print_struct; td->print_struct = asn_DEF_INTEGER.print_struct;
td->ber_decoder = asn_DEF_INTEGER.ber_decoder; td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
@ -28,75 +30,90 @@ ExtensionContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_INTEGER.xer_encoder; td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
td->uper_decoder = asn_DEF_INTEGER.uper_decoder; td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
td->uper_encoder = asn_DEF_INTEGER.uper_encoder; td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_INTEGER.per_constraints; td->per_constraints = asn_DEF_INTEGER.per_constraints;
td->elements = asn_DEF_INTEGER.elements; td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn_DEF_INTEGER.elements_count; td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn_DEF_INTEGER.specifics; td->specifics = asn_DEF_INTEGER.specifics;
} }
void void ExtensionContainer_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
ExtensionContainer_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int ExtensionContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
ExtensionContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { void *app_key)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExtensionContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
ExtensionContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t ExtensionContainer_encode_der(asn_TYPE_descriptor_t *td,
ExtensionContainer_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExtensionContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
ExtensionContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure,
const char *opt_mname,
const void *bufptr, size_t size)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t ExtensionContainer_encode_xer(asn_TYPE_descriptor_t *td,
ExtensionContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t ExtensionContainer_decode_uper(
ExtensionContainer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints, void **structure,
asn_per_data_t *per_data)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t ExtensionContainer_encode_uper(
ExtensionContainer_encode_uper(asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
asn_per_constraints_t *constraints, void *structure, asn_per_outp_t *per_out)
void *structure, asn_per_outp_t *per_out) { {
ExtensionContainer_1_inherit_TYPE_descriptor(td); ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static ber_tlv_tag_t asn_DEF_ExtensionContainer_tags_1[] = { static ber_tlv_tag_t asn_DEF_ExtensionContainer_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_ExtensionContainer = { asn_TYPE_descriptor_t asn_DEF_ExtensionContainer = {
"ExtensionContainer", "ExtensionContainer",
"ExtensionContainer", "ExtensionContainer",
@ -111,13 +128,13 @@ asn_TYPE_descriptor_t asn_DEF_ExtensionContainer = {
ExtensionContainer_encode_uper, ExtensionContainer_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_ExtensionContainer_tags_1, asn_DEF_ExtensionContainer_tags_1,
sizeof(asn_DEF_ExtensionContainer_tags_1) sizeof(asn_DEF_ExtensionContainer_tags_1) /
/sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */ sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */
asn_DEF_ExtensionContainer_tags_1, /* Same as above */ asn_DEF_ExtensionContainer_tags_1, /* Same as above */
sizeof(asn_DEF_ExtensionContainer_tags_1) sizeof(asn_DEF_ExtensionContainer_tags_1) /
/sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */ sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _ExtensionContainer_H_ #ifndef _ExtensionContainer_H_
#define _ExtensionContainer_H_ #define _ExtensionContainer_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "FineRTD.h" #include "FineRTD.h"
int int FineRTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
FineRTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 255)) { if ((value >= 0 && value <= 255))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ FineRTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void FineRTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
FineRTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,88 @@ FineRTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void FineRTD_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
FineRTD_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int FineRTD_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel,
FineRTD_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FineRTD_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
FineRTD_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size, int tag_mode)
{
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t FineRTD_encode_der(asn_TYPE_descriptor_t *td, void *structure,
FineRTD_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FineRTD_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
FineRTD_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr,
size_t size)
{
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t FineRTD_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
FineRTD_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FineRTD_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
FineRTD_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure, asn_per_data_t *per_data)
{
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t FineRTD_encode_uper(asn_TYPE_descriptor_t *td,
FineRTD_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
FineRTD_1_inherit_TYPE_descriptor(td); FineRTD_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_FINE_RTD_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_FINE_RTD_CONSTR_1 = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, {APC_CONSTRAINED, 8, 8, 0, 255} /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_FineRTD_tags_1[] = { static ber_tlv_tag_t asn_DEF_FineRTD_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_FineRTD = { asn_TYPE_descriptor_t asn_DEF_FineRTD = {
"FineRTD", "FineRTD",
"FineRTD", "FineRTD",
@ -133,13 +143,11 @@ asn_TYPE_descriptor_t asn_DEF_FineRTD = {
FineRTD_encode_uper, FineRTD_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_FineRTD_tags_1, asn_DEF_FineRTD_tags_1,
sizeof(asn_DEF_FineRTD_tags_1) sizeof(asn_DEF_FineRTD_tags_1) / sizeof(asn_DEF_FineRTD_tags_1[0]), /* 1 */
/sizeof(asn_DEF_FineRTD_tags_1[0]), /* 1 */
asn_DEF_FineRTD_tags_1, /* Same as above */ asn_DEF_FineRTD_tags_1, /* Same as above */
sizeof(asn_DEF_FineRTD_tags_1) sizeof(asn_DEF_FineRTD_tags_1) / sizeof(asn_DEF_FineRTD_tags_1[0]), /* 1 */
/sizeof(asn_DEF_FineRTD_tags_1[0]), /* 1 */
&ASN_PER_TYPE_FINE_RTD_CONSTR_1, &ASN_PER_TYPE_FINE_RTD_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _FineRTD_H_ #ifndef _FineRTD_H_
#define _FineRTD_H_ #define _FineRTD_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "FixType.h" #include "FixType.h"
int int FixType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
FixType_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 1)) { if ((value >= 0 && value <= 1))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ FixType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void FixType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
FixType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,88 @@ FixType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void FixType_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
FixType_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int FixType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel,
FixType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FixType_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
FixType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const void *bufptr, size_t size, int tag_mode) { const void *bufptr, size_t size, int tag_mode)
{
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t FixType_encode_der(asn_TYPE_descriptor_t *td, void *structure,
FixType_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FixType_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
FixType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td, void **structure,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { const char *opt_mname, const void *bufptr,
size_t size)
{
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t FixType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
FixType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FixType_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
FixType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure, asn_per_data_t *per_data)
{
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t FixType_encode_uper(asn_TYPE_descriptor_t *td,
FixType_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
FixType_1_inherit_TYPE_descriptor(td); FixType_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_FIX_TYPE_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_FIX_TYPE_CONSTR_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, {APC_CONSTRAINED, 1, 1, 0, 1} /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_FixType_tags_1[] = { static ber_tlv_tag_t asn_DEF_FixType_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_FixType = { asn_TYPE_descriptor_t asn_DEF_FixType = {
"FixType", "FixType",
"FixType", "FixType",
@ -133,13 +143,11 @@ asn_TYPE_descriptor_t asn_DEF_FixType = {
FixType_encode_uper, FixType_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_FixType_tags_1, asn_DEF_FixType_tags_1,
sizeof(asn_DEF_FixType_tags_1) sizeof(asn_DEF_FixType_tags_1) / sizeof(asn_DEF_FixType_tags_1[0]), /* 1 */
/sizeof(asn_DEF_FixType_tags_1[0]), /* 1 */
asn_DEF_FixType_tags_1, /* Same as above */ asn_DEF_FixType_tags_1, /* Same as above */
sizeof(asn_DEF_FixType_tags_1) sizeof(asn_DEF_FixType_tags_1) / sizeof(asn_DEF_FixType_tags_1[0]), /* 1 */
/sizeof(asn_DEF_FixType_tags_1[0]), /* 1 */
&ASN_PER_TYPE_FIX_TYPE_CONSTR_1, &ASN_PER_TYPE_FIX_TYPE_CONSTR_1,
0, 0, /* Defined elsewhere */ 0,
0, /* Defined elsewhere */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _FixType_H_ #ifndef _FixType_H_
#define _FixType_H_ #define _FixType_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "FrameDrift.h" #include "FrameDrift.h"
int int FrameDrift_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
FrameDrift_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= -64 && value <= 63)) { if ((value >= -64 && value <= 63))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ FrameDrift_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void FrameDrift_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
FrameDrift_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,90 @@ FrameDrift_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void FrameDrift_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
FrameDrift_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int FrameDrift_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
FrameDrift_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FrameDrift_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
FrameDrift_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure, const void *bufptr,
size_t size, int tag_mode)
{
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t FrameDrift_encode_der(asn_TYPE_descriptor_t *td, void *structure,
FrameDrift_encode_der(asn_TYPE_descriptor_t *td, int tag_mode, ber_tlv_tag_t tag,
void *structure, int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key)
asn_app_consume_bytes_f *cb, void *app_key) { {
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FrameDrift_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
FrameDrift_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t FrameDrift_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
FrameDrift_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags, int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb, void *app_key)
{
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FrameDrift_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
FrameDrift_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t FrameDrift_encode_uper(asn_TYPE_descriptor_t *td,
FrameDrift_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
FrameDrift_1_inherit_TYPE_descriptor(td); FrameDrift_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_FRAME_DRIFT_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_FRAME_DRIFT_CONSTR_1 = {
{ APC_CONSTRAINED, 7, 7, -64, 63 } /* (-64..63) */, {APC_CONSTRAINED, 7, 7, -64, 63} /* (-64..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_FrameDrift_tags_1[] = { static ber_tlv_tag_t asn_DEF_FrameDrift_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_FrameDrift = { asn_TYPE_descriptor_t asn_DEF_FrameDrift = {
"FrameDrift", "FrameDrift",
"FrameDrift", "FrameDrift",
@ -133,13 +145,13 @@ asn_TYPE_descriptor_t asn_DEF_FrameDrift = {
FrameDrift_encode_uper, FrameDrift_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_FrameDrift_tags_1, asn_DEF_FrameDrift_tags_1,
sizeof(asn_DEF_FrameDrift_tags_1) sizeof(asn_DEF_FrameDrift_tags_1) /
/sizeof(asn_DEF_FrameDrift_tags_1[0]), /* 1 */ sizeof(asn_DEF_FrameDrift_tags_1[0]), /* 1 */
asn_DEF_FrameDrift_tags_1, /* Same as above */ asn_DEF_FrameDrift_tags_1, /* Same as above */
sizeof(asn_DEF_FrameDrift_tags_1) sizeof(asn_DEF_FrameDrift_tags_1) /
/sizeof(asn_DEF_FrameDrift_tags_1[0]), /* 1 */ sizeof(asn_DEF_FrameDrift_tags_1[0]), /* 1 */
&ASN_PER_TYPE_FRAME_DRIFT_CONSTR_1, &ASN_PER_TYPE_FRAME_DRIFT_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _FrameDrift_H_ #ifndef _FrameDrift_H_
#define _FrameDrift_H_ #define _FrameDrift_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -6,26 +6,28 @@
#include "FrameNumber.h" #include "FrameNumber.h"
int int FrameNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
FrameNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
asn_app_constraint_failed_f *ctfailcb, void *app_key) { {
long value; long value;
if(!sptr) { if (!sptr)
_ASN_CTFAIL(app_key, td, sptr, {
"%s: value not given (%s:%d)", _ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
value = *(const long *)sptr; value = *(const long *)sptr;
if((value >= 0 && value <= 2097151)) { if ((value >= 0 && value <= 2097151))
{
/* Constraint check succeeded */ /* Constraint check succeeded */
return 0; return 0;
} else { }
_ASN_CTFAIL(app_key, td, sptr, else
"%s: constraint failed (%s:%d)", {
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__); td->name, __FILE__, __LINE__);
return -1; return -1;
} }
@ -35,8 +37,8 @@ FrameNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger, * This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly. * so here we adjust the DEF accordingly.
*/ */
static void static void FrameNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
FrameNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { {
td->free_struct = asn_DEF_NativeInteger.free_struct; td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct; td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
@ -45,80 +47,94 @@ FrameNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints) if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints; td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements; td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count; td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics; td->specifics = asn_DEF_NativeInteger.specifics;
} }
void void FrameNumber_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
FrameNumber_free(asn_TYPE_descriptor_t *td, int contents_only)
void *struct_ptr, int contents_only) { {
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only); td->free_struct(td, struct_ptr, contents_only);
} }
int int FrameNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
FrameNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { {
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key); return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FrameNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
FrameNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) { void **structure, const void *bufptr,
size_t size, int tag_mode)
{
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
} }
asn_enc_rval_t asn_enc_rval_t FrameNumber_encode_der(asn_TYPE_descriptor_t *td,
FrameNumber_encode_der(asn_TYPE_descriptor_t *td, void *structure, int tag_mode,
void *structure, int tag_mode, ber_tlv_tag_t tag, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FrameNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
FrameNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) { void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
} }
asn_enc_rval_t asn_enc_rval_t FrameNumber_encode_xer(asn_TYPE_descriptor_t *td,
FrameNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure, void *structure, int ilevel,
int ilevel, enum xer_encoder_flags_e flags, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) { asn_app_consume_bytes_f *cb,
void *app_key)
{
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
} }
asn_dec_rval_t asn_dec_rval_t FrameNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
FrameNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { asn_per_constraints_t *constraints,
void **structure,
asn_per_data_t *per_data)
{
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
} }
asn_enc_rval_t asn_enc_rval_t FrameNumber_encode_uper(asn_TYPE_descriptor_t *td,
FrameNumber_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) { void *structure, asn_per_outp_t *per_out)
{
FrameNumber_1_inherit_TYPE_descriptor(td); FrameNumber_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out); return td->uper_encoder(td, constraints, structure, per_out);
} }
static asn_per_constraints_t ASN_PER_TYPE_FRAME_NUMBER_CONSTR_1 = { static asn_per_constraints_t ASN_PER_TYPE_FRAME_NUMBER_CONSTR_1 = {
{ APC_CONSTRAINED, 21, -1, 0, 2097151 } /* (0..2097151) */, {APC_CONSTRAINED, 21, -1, 0, 2097151} /* (0..2097151) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 }, {APC_UNCONSTRAINED, -1, -1, 0, 0},
0, 0 /* No PER value map */ 0,
0 /* No PER value map */
}; };
static ber_tlv_tag_t asn_DEF_FrameNumber_tags_1[] = { static ber_tlv_tag_t asn_DEF_FrameNumber_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))};
};
asn_TYPE_descriptor_t asn_DEF_FrameNumber = { asn_TYPE_descriptor_t asn_DEF_FrameNumber = {
"FrameNumber", "FrameNumber",
"FrameNumber", "FrameNumber",
@ -133,13 +149,13 @@ asn_TYPE_descriptor_t asn_DEF_FrameNumber = {
FrameNumber_encode_uper, FrameNumber_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_FrameNumber_tags_1, asn_DEF_FrameNumber_tags_1,
sizeof(asn_DEF_FrameNumber_tags_1) sizeof(asn_DEF_FrameNumber_tags_1) /
/sizeof(asn_DEF_FrameNumber_tags_1[0]), /* 1 */ sizeof(asn_DEF_FrameNumber_tags_1[0]), /* 1 */
asn_DEF_FrameNumber_tags_1, /* Same as above */ asn_DEF_FrameNumber_tags_1, /* Same as above */
sizeof(asn_DEF_FrameNumber_tags_1) sizeof(asn_DEF_FrameNumber_tags_1) /
/sizeof(asn_DEF_FrameNumber_tags_1[0]), /* 1 */ sizeof(asn_DEF_FrameNumber_tags_1[0]), /* 1 */
&ASN_PER_TYPE_FRAME_NUMBER_CONSTR_1, &ASN_PER_TYPE_FRAME_NUMBER_CONSTR_1,
0, 0, /* No members */ 0,
0, /* No members */
0 /* No specifics */ 0 /* No specifics */
}; };

View File

@ -7,7 +7,6 @@
#ifndef _FrameNumber_H_ #ifndef _FrameNumber_H_
#define _FrameNumber_H_ #define _FrameNumber_H_
#include <asn_application.h> #include <asn_application.h>
/* Including external dependencies */ /* Including external dependencies */

View File

@ -7,28 +7,27 @@
#include "GANSS-AssistData.h" #include "GANSS-AssistData.h"
static asn_TYPE_member_t asn_MBR_GANSS_AssistData_1[] = { static asn_TYPE_member_t asn_MBR_GANSS_AssistData_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct GANSS_AssistData, ganss_controlHeader), {ATF_NOFLAGS, 0, offsetof(struct GANSS_AssistData, ganss_controlHeader),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
-1, /* IMPLICIT tag at current level */
&asn_DEF_GANSS_ControlHeader, &asn_DEF_GANSS_ControlHeader,
0, /* Defer constraints checking to the member type */ 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
0, 0, "ganss-controlHeader"},
"ganss-controlHeader"
},
}; };
static ber_tlv_tag_t asn_DEF_GANSS_AssistData_tags_1[] = { static ber_tlv_tag_t asn_DEF_GANSS_AssistData_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
};
static asn_TYPE_tag2member_t asn_MAP_GANSS_AssistData_tag2el_1[] = { static asn_TYPE_tag2member_t asn_MAP_GANSS_AssistData_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ganss-controlHeader at 1062 */ {(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0,
0} /* ganss-controlHeader at 1062 */
}; };
static asn_SEQUENCE_specifics_t asn_SPC_GANSS_AssistData_specs_1 = { static asn_SEQUENCE_specifics_t asn_SPC_GANSS_AssistData_specs_1 = {
sizeof(struct GANSS_AssistData), sizeof(struct GANSS_AssistData),
offsetof(struct GANSS_AssistData, _asn_ctx), offsetof(struct GANSS_AssistData, _asn_ctx),
asn_MAP_GANSS_AssistData_tag2el_1, asn_MAP_GANSS_AssistData_tag2el_1,
1, /* Count of tags in the map */ 1, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */ 0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */ -1, /* Start extensions */
-1 /* Stop extensions */ -1 /* Stop extensions */
}; };
@ -46,14 +45,13 @@ asn_TYPE_descriptor_t asn_DEF_GANSS_AssistData = {
SEQUENCE_encode_uper, SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */ 0, /* Use generic outmost tag fetcher */
asn_DEF_GANSS_AssistData_tags_1, asn_DEF_GANSS_AssistData_tags_1,
sizeof(asn_DEF_GANSS_AssistData_tags_1) sizeof(asn_DEF_GANSS_AssistData_tags_1) /
/sizeof(asn_DEF_GANSS_AssistData_tags_1[0]), /* 1 */ sizeof(asn_DEF_GANSS_AssistData_tags_1[0]), /* 1 */
asn_DEF_GANSS_AssistData_tags_1, /* Same as above */ asn_DEF_GANSS_AssistData_tags_1, /* Same as above */
sizeof(asn_DEF_GANSS_AssistData_tags_1) sizeof(asn_DEF_GANSS_AssistData_tags_1) /
/sizeof(asn_DEF_GANSS_AssistData_tags_1[0]), /* 1 */ sizeof(asn_DEF_GANSS_AssistData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */ 0, /* No PER visible constraints */
asn_MBR_GANSS_AssistData_1, asn_MBR_GANSS_AssistData_1,
1, /* Elements count */ 1, /* Elements count */
&asn_SPC_GANSS_AssistData_specs_1 /* Additional specs */ &asn_SPC_GANSS_AssistData_specs_1 /* Additional specs */
}; };

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