1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-07-13 15:14:20 +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
script:
- 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
- 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)
- 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 install
- cd ../../../build
- cmake -DENABLE_RAW_UDP=ON ..
- cmake -DENABLE_RAW_UDP=ON -DENABLE_AD9361=ON ..
- make -j$(($NPROC+1)) VERBOSE=1
- make check
- 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_GLOG_LOCAL_VERSION "0.4.0")
set(GNSSSDR_ARMADILLO_LOCAL_VERSION "9.700.x")
set(GNSSSDR_GTEST_LOCAL_VERSION "1.8.1")
set(GNSSSDR_ARMADILLO_LOCAL_VERSION "9.800.x")
set(GNSSSDR_GTEST_LOCAL_VERSION "1.10.0")
set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master")
set(GNSSSDR_GPSTK_LOCAL_VERSION "2.12")
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.17")
@ -2275,11 +2275,17 @@ endif()
# IIO blocks for GNU Radio
# https://github.com/analogdevicesinc/gr-iio
##############################################
find_package(GRIIO)
set_package_properties(GRIIO PROPERTIES
PURPOSE "Used for communication with PlutoSDR and FMCOMMS devices."
TYPE OPTIONAL
)
if(GNURADIO_IIO_FOUND)
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."
TYPE OPTIONAL
)
endif()
if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
if(NOT GRIIO_FOUND)
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 zypper install lapack-devel blas-devel # For OpenSUSE
$ sudo pacman -S blas lapack # For Arch Linux
$ wget http://sourceforge.net/projects/arma/files/armadillo-9.700.2.tar.xz
$ tar xvfz armadillo-9.700.2.tar.xz
$ cd armadillo-9.700.2
$ wget https://sourceforge.net/projects/arma/files/armadillo-9.700.3.tar.xz
$ tar xvfz armadillo-9.700.3.tar.xz
$ cd armadillo-9.700.3
$ cmake .
$ make
$ 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
$ unzip release-1.8.1.zip
$ cd googletest-release-1.8.1
$ cmake -DINSTALL_GTEST=OFF -DBUILD_GMOCK=OFF .
$ make
$ wget https://github.com/google/googletest/archive/v1.10.x.zip
$ unzip v1.10.x.zip
~~~~~~
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
/usr/local/include
/opt/local/include
${GNURADIO_INSTALL_PREFIX}/include
${GNURADIO_ROOT}/include
$ENV{GNURADIO_ROOT}/include
$ENV{GNURADIO_RUNTIME_DIR}/include
@ -118,7 +117,6 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
/usr/local/lib
/usr/local/lib64
/opt/local/lib
${GNURADIO_INSTALL_PREFIX}/lib
${GNURADIO_ROOT}/lib
$ENV{GNURADIO_ROOT}/lib
${GNURADIO_ROOT}/lib64
@ -277,6 +275,99 @@ else()
)
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
URL "https://www.gnuradio.org/"
)

View File

@ -97,7 +97,7 @@ Channel.signal=1C
;######### ACQUISITION GLOBAL CONFIG ############
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
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.pfa=0.0001
Acquisition_1C.doppler_max=10000

View File

@ -654,7 +654,7 @@ EXCLUDE = @top_srcdir@/docs/html \
@top_srcdir@/cmake \
@top_srcdir@/data \
@top_srcdir@/src/core/libs/supl \
@top_srcdir@/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr \
@top_srcdir@/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr \
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or

View File

@ -46,8 +46,8 @@ class Fpga_Acquisition
{
public:
/*!
* \brief Constructor
*/
* \brief Constructor
*/
Fpga_Acquisition(
std::string device_name,
uint32_t nsamples,

View File

@ -40,7 +40,7 @@
*
* cl
* cl_ext_device_fission
* #define USE_CL_DEVICE_FISSION
* #define USE_CL_DEVICE_FISSION
*/
/*! \mainpage

View File

@ -217,6 +217,16 @@ if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
PUBLIC -DGRIIO_INCLUDE_HAS_GNURADIO=1
)
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()
if(ENABLE_CLANG_TIDY)

View File

@ -342,6 +342,34 @@ Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(ConfigurationInterface *configura
}
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;
config_ad9361_rx_local(bandwidth_,
sample_rate_,
@ -350,7 +378,10 @@ Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(ConfigurationInterface *configura
gain_mode_rx1_,
gain_mode_rx2_,
rf_gain_rx1_,
rf_gain_rx2_);
rf_gain_rx2_,
quadrature_,
rf_dc_,
bb_dc_);
// LOCAL OSCILLATOR DDS GENERATOR FOR DUAL FREQUENCY OPERATION
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_port_select_ = configuration->property(role + ".rf_port_select", std::string("A_BALANCED"));
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);
item_type_ = configuration->property(role + ".item_type", default_item_type);
samples_ = configuration->property(role + ".samples", 0);
@ -80,6 +84,46 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
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 << "LO frequency : " << freq_ << " Hz" << std::endl;
std::cout << "sample rate: " << sample_rate_ << " Hz" << std::endl;
@ -94,6 +138,17 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
}
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(
uri_.c_str(), freq_, sample_rate_,
bandwidth_,
@ -103,7 +158,7 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
gain_mode_rx2_.c_str(), rf_gain_rx2_,
rf_port_select_.c_str(), filter_file_.c_str(),
filter_auto_);
#endif
// configure LO
if (enable_dds_lo_ == true)
{
@ -126,6 +181,17 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
}
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(
uri_.c_str(), freq_, sample_rate_,
bandwidth_,
@ -135,6 +201,7 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
gain_mode_rx2_.c_str(), rf_gain_rx2_,
rf_port_select_.c_str(), filter_file_.c_str(),
filter_auto_);
#endif
// configure LO
if (enable_dds_lo_ == true)
{

View File

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

View File

@ -55,7 +55,10 @@ PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration
rf_gain_ = configuration->property(role + ".gain", 50.0);
filter_file_ = configuration->property(role + ".filter_file", std::string(""));
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);
samples_ = configuration->property(role + ".samples", 0);
dump_ = configuration->property(role + ".dump", false);
@ -67,6 +70,16 @@ PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration
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);
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 << "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_,
bandwidth_, buffer_size_, quadrature_, rf_dc_, bb_dc_,
gain_mode_.c_str(), rf_gain_, filter_file_.c_str(), filter_auto_);
#endif
if (samples_ != 0)
{
DLOG(INFO) << "Send STOP signal after " << samples_ << " samples";

View File

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

View File

@ -63,16 +63,6 @@ target_include_directories(signal_source_libs
${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)
target_link_libraries(signal_source_libs
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_rx2_,
double rf_gain_rx1_,
double rf_gain_rx2_)
double rf_gain_rx2_,
bool quadrature_,
bool rfdc_,
bool bbdc_)
{
// 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;
}
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());
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_rx2_,
double rf_gain_rx1_,
double rf_gain_rx2_)
double rf_gain_rx2_,
bool quadrature_,
bool rfdc_,
bool bbdc_)
{
// RX stream config
// 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;
}
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());
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_rx2_,
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,
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_rx2_,
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_,
uint64_t sample_rate_,

View File

@ -2,7 +2,7 @@
* \file fpga_switch.h
* \brief Switch that connects the HW accelerator queues to the analog front end or the DMA.
* \authors <ul>
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
* <li> Javier Arribas, 2016. jarribas(at)cttc.es
* </ul>
*
@ -47,8 +47,8 @@ class Fpga_Switch
{
public:
/*!
* \brief Constructor
*/
* \brief Constructor
*/
explicit Fpga_Switch(const std::string& device_name);
/*!

View File

@ -65,13 +65,13 @@ class dll_pll_veml_tracking_fpga : public gr::block
{
public:
/*!
* \brief Destructor
*/
* \brief Destructor
*/
~dll_pll_veml_tracking_fpga();
/*!
* \brief Set the channel number and configure some multicorrelator parameters
*/
* \brief Set the channel number and configure some multicorrelator parameters
*/
void set_channel(uint32_t channel);
/*!
@ -85,24 +85,24 @@ public:
void set_gnss_synchro(Gnss_Synchro *p_gnss_synchro);
/*!
* \brief This function starts the tracking process
*/
* \brief This function starts the tracking process
*/
void start_tracking();
/*!
* \brief This function sets a flag that makes general_work to stop in order to finish the tracking process.
*/
* \brief This function sets a flag that makes general_work to stop in order to finish the tracking process.
*/
void stop_tracking();
/*!
* \brief General Work
*/
* \brief General Work
*/
int general_work(int noutput_items, gr_vector_int &ninput_items,
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
/*!
* \brief This function disables the HW multicorrelator in the FPGA in order to stop the tracking process
*/
* \brief This function disables the HW multicorrelator in the FPGA in order to stop the tracking process
*/
void reset();
private:

View File

@ -140,7 +140,7 @@ bool cuda_multicorrelator::init_cuda_integrated_resampler(
int n_correlators)
{
// use command-line specified CUDA device, otherwise use device with highest Gflops/s
// findCudaDevice(argc, (const char **)argv);
// findCudaDevice(argc, (const char **)argv);
cudaDeviceProp prop;
int num_devices, device;
cudaGetDeviceCount(&num_devices);
@ -208,8 +208,8 @@ bool cuda_multicorrelator::init_cuda_integrated_resampler(
//******** CudaMalloc version ***********
// input signal GPU memory (can be mapped to CPU memory in shared memory devices!)
// cudaMalloc((void **)&d_sig_in, size);
// cudaMemset(d_sig_in,0,size);
// cudaMalloc((void **)&d_sig_in, size);
// cudaMemset(d_sig_in,0,size);
// Doppler-free signal (internal GPU memory)
cudaMalloc((void **)&d_sig_doppler_wiped, size);
@ -249,20 +249,20 @@ bool cuda_multicorrelator::set_local_code_and_taps(
{
cudaSetDevice(selected_gps_device);
//********* ZERO COPY VERSION ************
// // Get device pointer from host memory. No allocation or memcpy
// cudaError_t code;
// // local code CPU -> GPU copy memory
// code=cudaHostGetDevicePointer((void **)&d_local_codes_in, (void *) local_codes_in, 0);
// if (code!=cudaSuccess)
// {
// printf("cuda cudaHostGetDevicePointer error in set_local_code_and_taps \r\n");
// }
// // Correlator shifts vector CPU -> GPU copy memory (fractional chip shifts are allowed!)
// code=cudaHostGetDevicePointer((void **)&d_shifts_chips, (void *) shifts_chips, 0);
// if (code!=cudaSuccess)
// {
// printf("cuda cudaHostGetDevicePointer error in set_local_code_and_taps \r\n");
// }
// // Get device pointer from host memory. No allocation or memcpy
// cudaError_t code;
// // local code CPU -> GPU copy memory
// code=cudaHostGetDevicePointer((void **)&d_local_codes_in, (void *) local_codes_in, 0);
// if (code!=cudaSuccess)
// {
// printf("cuda cudaHostGetDevicePointer error in set_local_code_and_taps \r\n");
// }
// // Correlator shifts vector CPU -> GPU copy memory (fractional chip shifts are allowed!)
// code=cudaHostGetDevicePointer((void **)&d_shifts_chips, (void *) shifts_chips, 0);
// if (code!=cudaSuccess)
// {
// printf("cuda cudaHostGetDevicePointer error in set_local_code_and_taps \r\n");
// }
//******** CudaMalloc version ***********
//local code CPU -> GPU copy memory

View File

@ -2,7 +2,7 @@
* \file fpga_multicorrelator.h
* \brief FPGA vector correlator class
* \authors <ul>
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
* <li> Marc Majoral, 2019. mmajoral(at)cttc.cat
* <li> Javier Arribas, 2019. jarribas(at)cttc.es
* </ul>
*
@ -49,8 +49,8 @@ class Fpga_Multicorrelator_8sc
{
public:
/*!
* \brief Constructor
*/
* \brief Constructor
*/
Fpga_Multicorrelator_8sc(int32_t n_correlators,
const std::string &device_name,
uint32_t dev_file_num,

View File

@ -190,9 +190,9 @@ int Gnss_Sdr_Supl_Client::get_assistance(int i_mcc, int i_mns, int i_lac, int i_
else
{
/*
* If supl_get_assist() fails, the connection remains open
* and the memory/files are not released.
*/
* If supl_get_assist() fails, the connection remains open
* and the memory/files are not released.
*/
supl_close(&ctx);
}
return err;

View File

@ -1,145 +1,156 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "Accuracy.h"
int
Accuracy_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 127)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int Accuracy_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 127))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
Accuracy_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void Accuracy_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
Accuracy_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Accuracy_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void Accuracy_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
Accuracy_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Accuracy_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Accuracy_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int Accuracy_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
Accuracy_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Accuracy_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Accuracy_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t Accuracy_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
Accuracy_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
Accuracy_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Accuracy_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t Accuracy_encode_der(asn_TYPE_descriptor_t *td, void *structure,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
Accuracy_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Accuracy_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Accuracy_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t Accuracy_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const char *opt_mname, const void *bufptr,
size_t size)
{
Accuracy_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
Accuracy_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Accuracy_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t Accuracy_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
Accuracy_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
Accuracy_decode_uper(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) {
Accuracy_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t Accuracy_decode_uper(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)
{
Accuracy_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
Accuracy_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
Accuracy_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t Accuracy_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
Accuracy_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_ACCURACY_CONSTR_1 = {
{ APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 7, 7, 0, 127} /* (0..127) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"Accuracy",
"Accuracy",
Accuracy_free,
Accuracy_print,
Accuracy_constraint,
Accuracy_decode_ber,
Accuracy_encode_der,
Accuracy_decode_xer,
Accuracy_encode_xer,
Accuracy_decode_uper,
Accuracy_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Accuracy_tags_1,
sizeof(asn_DEF_Accuracy_tags_1)
/sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */
asn_DEF_Accuracy_tags_1, /* Same as above */
sizeof(asn_DEF_Accuracy_tags_1)
/sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ACCURACY_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"Accuracy",
"Accuracy",
Accuracy_free,
Accuracy_print,
Accuracy_constraint,
Accuracy_decode_ber,
Accuracy_encode_der,
Accuracy_decode_xer,
Accuracy_encode_xer,
Accuracy_decode_uper,
Accuracy_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Accuracy_tags_1,
sizeof(asn_DEF_Accuracy_tags_1) /
sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */
asn_DEF_Accuracy_tags_1, /* Same as above */
sizeof(asn_DEF_Accuracy_tags_1) /
sizeof(asn_DEF_Accuracy_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ACCURACY_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _Accuracy_H_
#define _Accuracy_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,61 +1,56 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AccuracyOpt.h"
static asn_TYPE_member_t asn_MBR_AccuracyOpt_1[] = {
{ ATF_POINTER, 1, offsetof(struct AccuracyOpt, accuracy),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Accuracy,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"accuracy"
},
{ATF_POINTER, 1, offsetof(struct AccuracyOpt, accuracy),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_Accuracy, 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 = {
sizeof(struct AccuracyOpt),
offsetof(struct AccuracyOpt, _asn_ctx),
asn_MAP_AccuracyOpt_tag2el_1,
1, /* Count of tags in the map */
asn_MAP_AccuracyOpt_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AccuracyOpt),
offsetof(struct AccuracyOpt, _asn_ctx),
asn_MAP_AccuracyOpt_tag2el_1,
1, /* Count of tags in the map */
asn_MAP_AccuracyOpt_oms_1, /* Optional members */
1,
0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AccuracyOpt = {
"AccuracyOpt",
"AccuracyOpt",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AccuracyOpt_tags_1,
sizeof(asn_DEF_AccuracyOpt_tags_1)
/sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */
asn_DEF_AccuracyOpt_tags_1, /* Same as above */
sizeof(asn_DEF_AccuracyOpt_tags_1)
/sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AccuracyOpt_1,
1, /* Elements count */
&asn_SPC_AccuracyOpt_specs_1 /* Additional specs */
"AccuracyOpt",
"AccuracyOpt",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AccuracyOpt_tags_1,
sizeof(asn_DEF_AccuracyOpt_tags_1) /
sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */
asn_DEF_AccuracyOpt_tags_1, /* Same as above */
sizeof(asn_DEF_AccuracyOpt_tags_1) /
sizeof(asn_DEF_AccuracyOpt_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AccuracyOpt_1,
1, /* Elements count */
&asn_SPC_AccuracyOpt_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AccuracyOpt_H_
#define _AccuracyOpt_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,69 +1,63 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AcquisAssist.h"
static asn_TYPE_member_t asn_MBR_AcquisAssist_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, timeRelation),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_TimeRelation,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"timeRelation"
},
{ ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, acquisList),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOfAcquisElement,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"acquisList"
},
{ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, timeRelation),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_TimeRelation,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "timeRelation"},
{ATF_NOFLAGS, 0, offsetof(struct AcquisAssist, acquisList),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOfAcquisElement,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "acquisList"},
};
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[] = {
{ (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 | (0 << 2)), 0, 0, 0}, /* timeRelation at 817 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* acquisList at 822 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AcquisAssist_specs_1 = {
sizeof(struct AcquisAssist),
offsetof(struct AcquisAssist, _asn_ctx),
asn_MAP_AcquisAssist_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AcquisAssist),
offsetof(struct AcquisAssist, _asn_ctx),
asn_MAP_AcquisAssist_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AcquisAssist = {
"AcquisAssist",
"AcquisAssist",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AcquisAssist_tags_1,
sizeof(asn_DEF_AcquisAssist_tags_1)
/sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */
asn_DEF_AcquisAssist_tags_1, /* Same as above */
sizeof(asn_DEF_AcquisAssist_tags_1)
/sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AcquisAssist_1,
2, /* Elements count */
&asn_SPC_AcquisAssist_specs_1 /* Additional specs */
"AcquisAssist",
"AcquisAssist",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AcquisAssist_tags_1,
sizeof(asn_DEF_AcquisAssist_tags_1) /
sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */
asn_DEF_AcquisAssist_tags_1, /* Same as above */
sizeof(asn_DEF_AcquisAssist_tags_1) /
sizeof(asn_DEF_AcquisAssist_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AcquisAssist_1,
2, /* Elements count */
&asn_SPC_AcquisAssist_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AcquisAssist_H_
#define _AcquisAssist_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,281 +1,272 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AcquisElement.h"
static int
memb_doppler0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -2048 && value <= 2047)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_doppler0_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -2048 && value <= 2047))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_codePhase_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 1022)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_codePhase_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 1022))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_intCodePhase_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 19)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_intCodePhase_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 19))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_gpsBitNumber_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 3)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_gpsBitNumber_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 3))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_codePhaseSearchWindow_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 15)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_codePhaseSearchWindow_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 15))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER0_CONSTR_3 = {
{ APC_CONSTRAINED, 12, 12, -2048, 2047 } /* (-2048..2047) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 12, 12, -2048, 2047} /* (-2048..2047) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_CODE_PHASE_CONSTR_5 = {
{ APC_CONSTRAINED, 10, 10, 0, 1022 } /* (0..1022) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 10, 10, 0, 1022} /* (0..1022) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_INT_CODE_PHASE_CONSTR_6 = {
{ APC_CONSTRAINED, 5, 5, 0, 19 } /* (0..19) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 5, 5, 0, 19} /* (0..19) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_GPS_BIT_NUMBER_CONSTR_7 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 2, 2, 0, 3} /* (0..3) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_CODE_PHASE_SEARCH_WINDOW_CONSTR_8 = {
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 4, 4, 0, 15} /* (0..15) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AcquisElement_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, svid),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SatelliteID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"svid"
},
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, doppler0),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
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,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"addionalDoppler"
},
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, codePhase),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_codePhase_constraint_1,
&ASN_PER_MEMB_CODE_PHASE_CONSTR_5,
0,
"codePhase"
},
{ ATF_NOFLAGS, 0, offsetof(struct AcquisElement, intCodePhase),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_intCodePhase_constraint_1,
&ASN_PER_MEMB_INT_CODE_PHASE_CONSTR_6,
0,
"intCodePhase"
},
{ 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,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"addionalAngle"
},
{ATF_NOFLAGS, 0, offsetof(struct AcquisElement, svid),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_SatelliteID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "svid"},
{ATF_NOFLAGS, 0, offsetof(struct AcquisElement, doppler0),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, 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,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "addionalDoppler"},
{ATF_NOFLAGS, 0, offsetof(struct AcquisElement, codePhase),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_codePhase_constraint_1,
&ASN_PER_MEMB_CODE_PHASE_CONSTR_5, 0, "codePhase"},
{ATF_NOFLAGS, 0, offsetof(struct AcquisElement, intCodePhase),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_intCodePhase_constraint_1,
&ASN_PER_MEMB_INT_CODE_PHASE_CONSTR_6, 0, "intCodePhase"},
{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,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* doppler0 at 838 */
{ (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 | (4 << 2)), 4, 0, 0 }, /* intCodePhase at 841 */
{ (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 | (7 << 2)), 7, 0, 0 } /* addionalAngle at 844 */
{(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 | (2 << 2)), 2, 0, 0}, /* addionalDoppler at 839 */
{(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 | (5 << 2)), 5, 0, 0}, /* gpsBitNumber at 842 */
{(ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0,
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 = {
sizeof(struct AcquisElement),
offsetof(struct AcquisElement, _asn_ctx),
asn_MAP_AcquisElement_tag2el_1,
8, /* Count of tags in the map */
asn_MAP_AcquisElement_oms_1, /* Optional members */
2, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AcquisElement),
offsetof(struct AcquisElement, _asn_ctx),
asn_MAP_AcquisElement_tag2el_1,
8, /* Count of tags in the map */
asn_MAP_AcquisElement_oms_1, /* Optional members */
2,
0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AcquisElement = {
"AcquisElement",
"AcquisElement",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AcquisElement_tags_1,
sizeof(asn_DEF_AcquisElement_tags_1)
/sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */
asn_DEF_AcquisElement_tags_1, /* Same as above */
sizeof(asn_DEF_AcquisElement_tags_1)
/sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AcquisElement_1,
8, /* Elements count */
&asn_SPC_AcquisElement_specs_1 /* Additional specs */
"AcquisElement",
"AcquisElement",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AcquisElement_tags_1,
sizeof(asn_DEF_AcquisElement_tags_1) /
sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */
asn_DEF_AcquisElement_tags_1, /* Same as above */
sizeof(asn_DEF_AcquisElement_tags_1) /
sizeof(asn_DEF_AcquisElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AcquisElement_1,
8, /* Elements count */
&asn_SPC_AcquisElement_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AcquisElement_H_
#define _AcquisElement_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,129 +1,129 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AddionalAngleFields.h"
static int
memb_azimuth_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 31)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_azimuth_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 31))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_elevation_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_elevation_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_AZIMUTH_CONSTR_2 = {
{ APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 5, 5, 0, 31} /* (0..31) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_ELEVATION_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AddionalAngleFields_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AddionalAngleFields, azimuth),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_azimuth_constraint_1,
&ASN_PER_MEMB_AZIMUTH_CONSTR_2,
0,
"azimuth"
},
{ 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"
},
{ATF_NOFLAGS, 0, offsetof(struct AddionalAngleFields, azimuth),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_azimuth_constraint_1,
&ASN_PER_MEMB_AZIMUTH_CONSTR_2, 0, "azimuth"},
{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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 } /* elevation at 860 */
{(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* azimuth at 858 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* elevation at 860 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AddionalAngleFields_specs_1 = {
sizeof(struct AddionalAngleFields),
offsetof(struct AddionalAngleFields, _asn_ctx),
asn_MAP_AddionalAngleFields_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AddionalAngleFields),
offsetof(struct AddionalAngleFields, _asn_ctx),
asn_MAP_AddionalAngleFields_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AddionalAngleFields = {
"AddionalAngleFields",
"AddionalAngleFields",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AddionalAngleFields_tags_1,
sizeof(asn_DEF_AddionalAngleFields_tags_1)
/sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */
asn_DEF_AddionalAngleFields_tags_1, /* Same as above */
sizeof(asn_DEF_AddionalAngleFields_tags_1)
/sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AddionalAngleFields_1,
2, /* Elements count */
&asn_SPC_AddionalAngleFields_specs_1 /* Additional specs */
"AddionalAngleFields",
"AddionalAngleFields",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AddionalAngleFields_tags_1,
sizeof(asn_DEF_AddionalAngleFields_tags_1) /
sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */
asn_DEF_AddionalAngleFields_tags_1, /* Same as above */
sizeof(asn_DEF_AddionalAngleFields_tags_1) /
sizeof(asn_DEF_AddionalAngleFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AddionalAngleFields_1,
2, /* Elements count */
&asn_SPC_AddionalAngleFields_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AddionalAngleFields_H_
#define _AddionalAngleFields_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,129 +1,129 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AddionalDopplerFields.h"
static int
memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 63)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_dopplerUncertainty_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_dopplerUncertainty_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER1_CONSTR_2 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AddionalDopplerFields_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AddionalDopplerFields, doppler1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_doppler1_constraint_1,
&ASN_PER_MEMB_DOPPLER1_CONSTR_2,
0,
"doppler1"
},
{ 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"
},
{ATF_NOFLAGS, 0, offsetof(struct AddionalDopplerFields, doppler1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_doppler1_constraint_1,
&ASN_PER_MEMB_DOPPLER1_CONSTR_2, 0, "doppler1"},
{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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 } /* dopplerUncertainty at 851 */
{(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* doppler1 at 850 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0,
0} /* dopplerUncertainty at 851 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AddionalDopplerFields_specs_1 = {
sizeof(struct AddionalDopplerFields),
offsetof(struct AddionalDopplerFields, _asn_ctx),
asn_MAP_AddionalDopplerFields_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AddionalDopplerFields),
offsetof(struct AddionalDopplerFields, _asn_ctx),
asn_MAP_AddionalDopplerFields_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AddionalDopplerFields = {
"AddionalDopplerFields",
"AddionalDopplerFields",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AddionalDopplerFields_tags_1,
sizeof(asn_DEF_AddionalDopplerFields_tags_1)
/sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */
asn_DEF_AddionalDopplerFields_tags_1, /* Same as above */
sizeof(asn_DEF_AddionalDopplerFields_tags_1)
/sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AddionalDopplerFields_1,
2, /* Elements count */
&asn_SPC_AddionalDopplerFields_specs_1 /* Additional specs */
"AddionalDopplerFields",
"AddionalDopplerFields",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AddionalDopplerFields_tags_1,
sizeof(asn_DEF_AddionalDopplerFields_tags_1) /
sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */
asn_DEF_AddionalDopplerFields_tags_1, /* Same as above */
sizeof(asn_DEF_AddionalDopplerFields_tags_1) /
sizeof(asn_DEF_AddionalDopplerFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AddionalDopplerFields_1,
2, /* Elements count */
&asn_SPC_AddionalDopplerFields_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AddionalDopplerFields_H_
#define _AddionalDopplerFields_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,81 +1,77 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AdditionalAssistanceData.h"
static asn_TYPE_member_t asn_MBR_AdditionalAssistanceData_1[] = {
{ ATF_POINTER, 3, offsetof(struct AdditionalAssistanceData, gpsAssistanceData),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_GPSAssistanceData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"gpsAssistanceData"
},
{ ATF_POINTER, 2, offsetof(struct AdditionalAssistanceData, extensionContainer),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExtensionContainer,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"extensionContainer"
},
{ ATF_POINTER, 1, offsetof(struct AdditionalAssistanceData, ganssAssistanceData),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_GANSSAssistanceData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ganssAssistanceData"
},
{ATF_POINTER, 3,
offsetof(struct AdditionalAssistanceData, gpsAssistanceData),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_GPSAssistanceData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "gpsAssistanceData"},
{ATF_POINTER, 2,
offsetof(struct AdditionalAssistanceData, extensionContainer),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_ExtensionContainer,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "extensionContainer"},
{ATF_POINTER, 1,
offsetof(struct AdditionalAssistanceData, ganssAssistanceData),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_GANSSAssistanceData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* extensionContainer at 521 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ganssAssistanceData at 523 */
{(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0,
0}, /* gpsAssistanceData at 520 */
{(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 = {
sizeof(struct AdditionalAssistanceData),
offsetof(struct AdditionalAssistanceData, _asn_ctx),
asn_MAP_AdditionalAssistanceData_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_AdditionalAssistanceData_oms_1, /* Optional members */
2, 1, /* Root/Additions */
1, /* Start extensions */
4 /* Stop extensions */
sizeof(struct AdditionalAssistanceData),
offsetof(struct AdditionalAssistanceData, _asn_ctx),
asn_MAP_AdditionalAssistanceData_tag2el_1,
3, /* Count of tags in the map */
asn_MAP_AdditionalAssistanceData_oms_1, /* Optional members */
2,
1, /* Root/Additions */
1, /* Start extensions */
4 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AdditionalAssistanceData = {
"AdditionalAssistanceData",
"AdditionalAssistanceData",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalAssistanceData_tags_1,
sizeof(asn_DEF_AdditionalAssistanceData_tags_1)
/sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */
asn_DEF_AdditionalAssistanceData_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalAssistanceData_tags_1)
/sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AdditionalAssistanceData_1,
3, /* Elements count */
&asn_SPC_AdditionalAssistanceData_specs_1 /* Additional specs */
"AdditionalAssistanceData",
"AdditionalAssistanceData",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalAssistanceData_tags_1,
sizeof(asn_DEF_AdditionalAssistanceData_tags_1) /
sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */
asn_DEF_AdditionalAssistanceData_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalAssistanceData_tags_1) /
sizeof(asn_DEF_AdditionalAssistanceData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AdditionalAssistanceData_1,
3, /* Elements count */
&asn_SPC_AdditionalAssistanceData_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AdditionalAssistanceData_H_
#define _AdditionalAssistanceData_H_
#include <asn_application.h>
/* Including external dependencies */
@ -27,9 +26,9 @@ extern "C"
GPSAssistanceData_t *gpsAssistanceData /* OPTIONAL */;
ExtensionContainer_t *extensionContainer /* OPTIONAL */;
/*
* This type is extensible,
* possible extensions are below.
*/
* This type is extensible,
* possible extensions are below.
*/
GANSSAssistanceData_t *ganssAssistanceData /* OPTIONAL */;
/* Context for parsing across buffer boundaries */

View File

@ -1,129 +1,130 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AdditionalDopplerFields.h"
static int
memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 63)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_doppler1_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_dopplerUncertainty_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 4)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_dopplerUncertainty_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 4))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER1_CONSTR_2 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_DOPPLER_UNCERTAINTY_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 3, 3, 0, 4} /* (0..4) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_AdditionalDopplerFields_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AdditionalDopplerFields, doppler1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_doppler1_constraint_1,
&ASN_PER_MEMB_DOPPLER1_CONSTR_2,
0,
"doppler1"
},
{ 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"
},
{ATF_NOFLAGS, 0, offsetof(struct AdditionalDopplerFields, doppler1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_doppler1_constraint_1,
&ASN_PER_MEMB_DOPPLER1_CONSTR_2, 0, "doppler1"},
{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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 } /* dopplerUncertainty at 1343 */
{(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* doppler1 at 1342 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0,
0} /* dopplerUncertainty at 1343 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AdditionalDopplerFields_specs_1 = {
sizeof(struct AdditionalDopplerFields),
offsetof(struct AdditionalDopplerFields, _asn_ctx),
asn_MAP_AdditionalDopplerFields_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AdditionalDopplerFields),
offsetof(struct AdditionalDopplerFields, _asn_ctx),
asn_MAP_AdditionalDopplerFields_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AdditionalDopplerFields = {
"AdditionalDopplerFields",
"AdditionalDopplerFields",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalDopplerFields_tags_1,
sizeof(asn_DEF_AdditionalDopplerFields_tags_1)
/sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */
asn_DEF_AdditionalDopplerFields_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalDopplerFields_tags_1)
/sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AdditionalDopplerFields_1,
2, /* Elements count */
&asn_SPC_AdditionalDopplerFields_specs_1 /* Additional specs */
"AdditionalDopplerFields",
"AdditionalDopplerFields",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AdditionalDopplerFields_tags_1,
sizeof(asn_DEF_AdditionalDopplerFields_tags_1) /
sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */
asn_DEF_AdditionalDopplerFields_tags_1, /* Same as above */
sizeof(asn_DEF_AdditionalDopplerFields_tags_1) /
sizeof(asn_DEF_AdditionalDopplerFields_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AdditionalDopplerFields_1,
2, /* Elements count */
&asn_SPC_AdditionalDopplerFields_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AdditionalDopplerFields_H_
#define _AdditionalDopplerFields_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,145 +1,156 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AlertFlag.h"
int
AlertFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 1)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int AlertFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 1))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
AlertFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void AlertFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
AlertFlag_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
AlertFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void AlertFlag_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
AlertFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int AlertFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
AlertFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t AlertFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
AlertFlag_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t AlertFlag_encode_der(asn_TYPE_descriptor_t *td, void *structure,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
AlertFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t AlertFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const char *opt_mname, const void *bufptr,
size_t size)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
AlertFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t AlertFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
AlertFlag_decode_uper(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) {
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t AlertFlag_decode_uper(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)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
AlertFlag_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t AlertFlag_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
AlertFlag_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_ALERT_FLAG_CONSTR_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 1, 1, 0, 1} /* (0..1) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"AlertFlag",
"AlertFlag",
AlertFlag_free,
AlertFlag_print,
AlertFlag_constraint,
AlertFlag_decode_ber,
AlertFlag_encode_der,
AlertFlag_decode_xer,
AlertFlag_encode_xer,
AlertFlag_decode_uper,
AlertFlag_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AlertFlag_tags_1,
sizeof(asn_DEF_AlertFlag_tags_1)
/sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */
asn_DEF_AlertFlag_tags_1, /* Same as above */
sizeof(asn_DEF_AlertFlag_tags_1)
/sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ALERT_FLAG_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"AlertFlag",
"AlertFlag",
AlertFlag_free,
AlertFlag_print,
AlertFlag_constraint,
AlertFlag_decode_ber,
AlertFlag_encode_der,
AlertFlag_decode_xer,
AlertFlag_encode_xer,
AlertFlag_decode_uper,
AlertFlag_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AlertFlag_tags_1,
sizeof(asn_DEF_AlertFlag_tags_1) /
sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */
asn_DEF_AlertFlag_tags_1, /* Same as above */
sizeof(asn_DEF_AlertFlag_tags_1) /
sizeof(asn_DEF_AlertFlag_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ALERT_FLAG_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AlertFlag_H_
#define _AlertFlag_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,449 +1,449 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "Almanac-KeplerianSet.h"
static int
memb_kepAlmanacE_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 2047)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacE_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 2047))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacDeltaI_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacDeltaI_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacOmegaDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacOmegaDot_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepSVHealth_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 15)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepSVHealth_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 15))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacAPowerHalf_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -65536 && value <= 65535)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacAPowerHalf_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -65536 && value <= 65535))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacOmega0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacOmega0_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacW_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacW_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacM0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -32768 && value <= 32767)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacM0_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -32768 && value <= 32767))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacAF0_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -8192 && value <= 8191)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacAF0_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -8192 && value <= 8191))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_kepAlmanacAF1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -1024 && value <= 1023)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_kepAlmanacAF1_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -1024 && value <= 1023))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_E_CONSTR_2 = {
{ APC_CONSTRAINED, 11, 11, 0, 2047 } /* (0..2047) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 11, 11, 0, 2047} /* (0..2047) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_DELTA_I_CONSTR_3 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_OMEGA_DOT_CONSTR_4 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_SV_HEALTH_CONSTR_5 = {
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 4, 4, 0, 15} /* (0..15) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_POWER_HALF_CONSTR_6 = {
{ APC_CONSTRAINED, 17, -1, -65536, 65535 } /* (-65536..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 17, -1, -65536, 65535} /* (-65536..65535) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_OMEGA0_CONSTR_7 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_W_CONSTR_8 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_M0_CONSTR_9 = {
{ APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 16, 16, -32768, 32767} /* (-32768..32767) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_F0_CONSTR_10 = {
{ APC_CONSTRAINED, 14, 14, -8192, 8191 } /* (-8192..8191) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 14, 14, -8192, 8191} /* (-8192..8191) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_KEP_ALMANAC_A_F1_CONSTR_11 = {
{ APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 11, 11, -1024, 1023} /* (-1024..1023) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_Almanac_KeplerianSet_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacE),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacE_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_E_CONSTR_2,
0,
"kepAlmanacE"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacDeltaI),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacDeltaI_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_DELTA_I_CONSTR_3,
0,
"kepAlmanacDeltaI"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacOmegaDot),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacOmegaDot_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_OMEGA_DOT_CONSTR_4,
0,
"kepAlmanacOmegaDot"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepSVHealth),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepSVHealth_constraint_1,
&ASN_PER_MEMB_KEP_SV_HEALTH_CONSTR_5,
0,
"kepSVHealth"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacAPowerHalf),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_kepAlmanacAPowerHalf_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_A_POWER_HALF_CONSTR_6,
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"
},
{ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacE),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_kepAlmanacE_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_E_CONSTR_2, 0, "kepAlmanacE"},
{ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacDeltaI),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_kepAlmanacDeltaI_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_DELTA_I_CONSTR_3, 0, "kepAlmanacDeltaI"},
{ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepAlmanacOmegaDot),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_kepAlmanacOmegaDot_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_OMEGA_DOT_CONSTR_4, 0, "kepAlmanacOmegaDot"},
{ATF_NOFLAGS, 0, offsetof(struct Almanac_KeplerianSet, kepSVHealth),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_kepSVHealth_constraint_1,
&ASN_PER_MEMB_KEP_SV_HEALTH_CONSTR_5, 0, "kepSVHealth"},
{ATF_NOFLAGS, 0,
offsetof(struct Almanac_KeplerianSet, kepAlmanacAPowerHalf),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_kepAlmanacAPowerHalf_constraint_1,
&ASN_PER_MEMB_KEP_ALMANAC_A_POWER_HALF_CONSTR_6, 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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* kepAlmanacDeltaI at 1369 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* kepAlmanacOmegaDot at 1370 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* kepSVHealth at 1371 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* kepAlmanacAPowerHalf at 1372 */
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 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 */
{(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 | (2 << 2)), 2, 0,
0}, /* kepAlmanacOmegaDot at 1370 */
{(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* kepSVHealth at 1371 */
{(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0,
0}, /* kepAlmanacAPowerHalf at 1372 */
{(ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0,
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 = {
sizeof(struct Almanac_KeplerianSet),
offsetof(struct Almanac_KeplerianSet, _asn_ctx),
asn_MAP_Almanac_KeplerianSet_tag2el_1,
10, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct Almanac_KeplerianSet),
offsetof(struct Almanac_KeplerianSet, _asn_ctx),
asn_MAP_Almanac_KeplerianSet_tag2el_1,
10, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_Almanac_KeplerianSet = {
"Almanac-KeplerianSet",
"Almanac-KeplerianSet",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Almanac_KeplerianSet_tags_1,
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1)
/sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */
asn_DEF_Almanac_KeplerianSet_tags_1, /* Same as above */
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1)
/sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Almanac_KeplerianSet_1,
10, /* Elements count */
&asn_SPC_Almanac_KeplerianSet_specs_1 /* Additional specs */
"Almanac-KeplerianSet",
"Almanac-KeplerianSet",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Almanac_KeplerianSet_tags_1,
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1) /
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */
asn_DEF_Almanac_KeplerianSet_tags_1, /* Same as above */
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1) /
sizeof(asn_DEF_Almanac_KeplerianSet_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Almanac_KeplerianSet_1,
10, /* Elements count */
&asn_SPC_Almanac_KeplerianSet_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _Almanac_KeplerianSet_H_
#define _Almanac_KeplerianSet_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,99 +1,94 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "Almanac.h"
static int
memb_alamanacWNa_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 255)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_alamanacWNa_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 255))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_ALAMANAC_W_NA_CONSTR_2 = {
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 8, 8, 0, 255} /* (0..255) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_Almanac_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Almanac, alamanacWNa),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_alamanacWNa_constraint_1,
&ASN_PER_MEMB_ALAMANAC_W_NA_CONSTR_2,
0,
"alamanacWNa"
},
{ ATF_NOFLAGS, 0, offsetof(struct Almanac, almanacList),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOfAlmanacElement,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"almanacList"
},
{ATF_NOFLAGS, 0, offsetof(struct Almanac, alamanacWNa),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_alamanacWNa_constraint_1,
&ASN_PER_MEMB_ALAMANAC_W_NA_CONSTR_2, 0, "alamanacWNa"},
{ATF_NOFLAGS, 0, offsetof(struct Almanac, almanacList),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOfAlmanacElement,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "almanacList"},
};
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[] = {
{ (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 | (0 << 2)), 0, 0, 0}, /* alamanacWNa at 789 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* almanacList at 794 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Almanac_specs_1 = {
sizeof(struct Almanac),
offsetof(struct Almanac, _asn_ctx),
asn_MAP_Almanac_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct Almanac),
offsetof(struct Almanac, _asn_ctx),
asn_MAP_Almanac_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_Almanac = {
"Almanac",
"Almanac",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Almanac_tags_1,
sizeof(asn_DEF_Almanac_tags_1)
/sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
asn_DEF_Almanac_tags_1, /* Same as above */
sizeof(asn_DEF_Almanac_tags_1)
/sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Almanac_1,
2, /* Elements count */
&asn_SPC_Almanac_specs_1 /* Additional specs */
"Almanac",
"Almanac",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Almanac_tags_1,
sizeof(asn_DEF_Almanac_tags_1) / sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
asn_DEF_Almanac_tags_1, /* Same as above */
sizeof(asn_DEF_Almanac_tags_1) / sizeof(asn_DEF_Almanac_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Almanac_1,
2, /* Elements count */
&asn_SPC_Almanac_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _Almanac_H_
#define _Almanac_H_
#include <asn_application.h>
/* Including external dependencies */

View File

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

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AlmanacElement_H_
#define _AlmanacElement_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,145 +1,163 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AntiSpoofFlag.h"
int
AntiSpoofFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 1)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int AntiSpoofFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 1))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
AntiSpoofFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void AntiSpoofFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
AntiSpoofFlag_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void AntiSpoofFlag_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
AntiSpoofFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int AntiSpoofFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
AntiSpoofFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t AntiSpoofFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr,
size_t size, int tag_mode)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
AntiSpoofFlag_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t AntiSpoofFlag_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode,
ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb,
void *app_key)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
AntiSpoofFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t AntiSpoofFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
AntiSpoofFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t AntiSpoofFlag_encode_xer(asn_TYPE_descriptor_t *td,
void *structure, int ilevel,
enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb,
void *app_key)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
AntiSpoofFlag_decode_uper(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) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t AntiSpoofFlag_decode_uper(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)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
AntiSpoofFlag_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t AntiSpoofFlag_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure,
asn_per_outp_t *per_out)
{
AntiSpoofFlag_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_ANTI_SPOOF_FLAG_CONSTR_1 = {
{ APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 1, 1, 0, 1} /* (0..1) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"AntiSpoofFlag",
"AntiSpoofFlag",
AntiSpoofFlag_free,
AntiSpoofFlag_print,
AntiSpoofFlag_constraint,
AntiSpoofFlag_decode_ber,
AntiSpoofFlag_encode_der,
AntiSpoofFlag_decode_xer,
AntiSpoofFlag_encode_xer,
AntiSpoofFlag_decode_uper,
AntiSpoofFlag_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AntiSpoofFlag_tags_1,
sizeof(asn_DEF_AntiSpoofFlag_tags_1)
/sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */
asn_DEF_AntiSpoofFlag_tags_1, /* Same as above */
sizeof(asn_DEF_AntiSpoofFlag_tags_1)
/sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ANTI_SPOOF_FLAG_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"AntiSpoofFlag",
"AntiSpoofFlag",
AntiSpoofFlag_free,
AntiSpoofFlag_print,
AntiSpoofFlag_constraint,
AntiSpoofFlag_decode_ber,
AntiSpoofFlag_encode_der,
AntiSpoofFlag_decode_xer,
AntiSpoofFlag_encode_xer,
AntiSpoofFlag_decode_uper,
AntiSpoofFlag_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AntiSpoofFlag_tags_1,
sizeof(asn_DEF_AntiSpoofFlag_tags_1) /
sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */
asn_DEF_AntiSpoofFlag_tags_1, /* Same as above */
sizeof(asn_DEF_AntiSpoofFlag_tags_1) /
sizeof(asn_DEF_AntiSpoofFlag_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ANTI_SPOOF_FLAG_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AntiSpoofFlag_H_
#define _AntiSpoofFlag_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,69 +1,64 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AssistBTSData-R98-ExpOTD.h"
static asn_TYPE_member_t asn_MBR_AssistBTSData_R98_ExpOTD_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData_R98_ExpOTD, expectedOTD),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExpectedOTD,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"expectedOTD"
},
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData_R98_ExpOTD, expOTDuncertainty),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExpOTDUncertainty,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"expOTDuncertainty"
},
{ATF_NOFLAGS, 0, offsetof(struct AssistBTSData_R98_ExpOTD, expectedOTD),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_ExpectedOTD,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "expectedOTD"},
{ATF_NOFLAGS, 0,
offsetof(struct AssistBTSData_R98_ExpOTD, expOTDuncertainty),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_ExpOTDUncertainty,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "expOTDuncertainty"},
};
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[] = {
{ (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 | (0 << 2)), 0, 0, 0}, /* expectedOTD at 933 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* expOTDuncertainty at 935 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AssistBTSData_R98_ExpOTD_specs_1 = {
sizeof(struct AssistBTSData_R98_ExpOTD),
offsetof(struct AssistBTSData_R98_ExpOTD, _asn_ctx),
asn_MAP_AssistBTSData_R98_ExpOTD_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AssistBTSData_R98_ExpOTD),
offsetof(struct AssistBTSData_R98_ExpOTD, _asn_ctx),
asn_MAP_AssistBTSData_R98_ExpOTD_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AssistBTSData_R98_ExpOTD = {
"AssistBTSData-R98-ExpOTD",
"AssistBTSData-R98-ExpOTD",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
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 */
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[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AssistBTSData_R98_ExpOTD_1,
2, /* Elements count */
&asn_SPC_AssistBTSData_R98_ExpOTD_specs_1 /* Additional specs */
"AssistBTSData-R98-ExpOTD",
"AssistBTSData-R98-ExpOTD",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
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 */
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[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AssistBTSData_R98_ExpOTD_1,
2, /* Elements count */
&asn_SPC_AssistBTSData_R98_ExpOTD_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AssistBTSData_R98_ExpOTD_H_
#define _AssistBTSData_R98_ExpOTD_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,101 +1,83 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AssistBTSData.h"
static asn_TYPE_member_t asn_MBR_AssistBTSData_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, bsic),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BSIC,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"bsic"
},
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, multiFrameOffset),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MultiFrameOffset,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"multiFrameOffset"
},
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, timeSlotScheme),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_TimeSlotScheme,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"timeSlotScheme"
},
{ ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, roughRTD),
(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,
"roughRTD"
},
{ ATF_POINTER, 1, offsetof(struct AssistBTSData, calcAssistanceBTS),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CalcAssistanceBTS,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"calcAssistanceBTS"
},
{ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, bsic),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_BSIC, 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "bsic"},
{ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, multiFrameOffset),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_MultiFrameOffset,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "multiFrameOffset"},
{ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, timeSlotScheme),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_TimeSlotScheme,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "timeSlotScheme"},
{ATF_NOFLAGS, 0, offsetof(struct AssistBTSData, roughRTD),
(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, "roughRTD"},
{ATF_POINTER, 1, offsetof(struct AssistBTSData, calcAssistanceBTS),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_CalcAssistanceBTS,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* multiFrameOffset at 230 */
{ (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 | (4 << 2)), 4, 0, 0 } /* calcAssistanceBTS at 235 */
{(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 | (2 << 2)), 2, 0, 0}, /* timeSlotScheme at 231 */
{(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* roughRTD at 232 */
{(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0} /* calcAssistanceBTS at 235 */
};
static asn_SEQUENCE_specifics_t asn_SPC_AssistBTSData_specs_1 = {
sizeof(struct AssistBTSData),
offsetof(struct AssistBTSData, _asn_ctx),
asn_MAP_AssistBTSData_tag2el_1,
5, /* Count of tags in the map */
asn_MAP_AssistBTSData_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct AssistBTSData),
offsetof(struct AssistBTSData, _asn_ctx),
asn_MAP_AssistBTSData_tag2el_1,
5, /* Count of tags in the map */
asn_MAP_AssistBTSData_oms_1, /* Optional members */
1,
0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AssistBTSData = {
"AssistBTSData",
"AssistBTSData",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AssistBTSData_tags_1,
sizeof(asn_DEF_AssistBTSData_tags_1)
/sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */
asn_DEF_AssistBTSData_tags_1, /* Same as above */
sizeof(asn_DEF_AssistBTSData_tags_1)
/sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AssistBTSData_1,
5, /* Elements count */
&asn_SPC_AssistBTSData_specs_1 /* Additional specs */
"AssistBTSData",
"AssistBTSData",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AssistBTSData_tags_1,
sizeof(asn_DEF_AssistBTSData_tags_1) /
sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */
asn_DEF_AssistBTSData_tags_1, /* Same as above */
sizeof(asn_DEF_AssistBTSData_tags_1) /
sizeof(asn_DEF_AssistBTSData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AssistBTSData_1,
5, /* Elements count */
&asn_SPC_AssistBTSData_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AssistBTSData_H_
#define _AssistBTSData_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,131 +1,114 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "AssistanceData.h"
static asn_TYPE_member_t asn_MBR_AssistanceData_1[] = {
{ ATF_POINTER, 8, offsetof(struct AssistanceData, referenceAssistData),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceAssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"referenceAssistData"
},
{ ATF_POINTER, 7, offsetof(struct AssistanceData, msrAssistData),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MsrAssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"msrAssistData"
},
{ ATF_POINTER, 6, offsetof(struct AssistanceData, systemInfoAssistData),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SystemInfoAssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"systemInfoAssistData"
},
{ ATF_POINTER, 5, offsetof(struct AssistanceData, gps_AssistData),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_GPS_AssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"gps-AssistData"
},
{ ATF_POINTER, 4, offsetof(struct AssistanceData, moreAssDataToBeSent),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_MoreAssDataToBeSent,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"moreAssDataToBeSent"
},
{ ATF_POINTER, 3, offsetof(struct AssistanceData, extensionContainer),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ExtensionContainer,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"extensionContainer"
},
{ ATF_POINTER, 2, offsetof(struct AssistanceData, rel98_AssistanceData_Extension),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Rel98_AssistanceData_Extension,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"rel98-AssistanceData-Extension"
},
{ ATF_POINTER, 1, offsetof(struct AssistanceData, rel5_AssistanceData_Extension),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Rel5_AssistanceData_Extension,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"rel5-AssistanceData-Extension"
},
{ATF_POINTER, 8, offsetof(struct AssistanceData, referenceAssistData),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceAssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "referenceAssistData"},
{ATF_POINTER, 7, offsetof(struct AssistanceData, msrAssistData),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_MsrAssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "msrAssistData"},
{ATF_POINTER, 6, offsetof(struct AssistanceData, systemInfoAssistData),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_SystemInfoAssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "systemInfoAssistData"},
{ATF_POINTER, 5, offsetof(struct AssistanceData, gps_AssistData),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_GPS_AssistData,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "gps-AssistData"},
{ATF_POINTER, 4, offsetof(struct AssistanceData, moreAssDataToBeSent),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_MoreAssDataToBeSent,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "moreAssDataToBeSent"},
{ATF_POINTER, 3, offsetof(struct AssistanceData, extensionContainer),
(ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_ExtensionContainer,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "extensionContainer"},
{ATF_POINTER, 2,
offsetof(struct AssistanceData, rel98_AssistanceData_Extension),
(ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_Rel98_AssistanceData_Extension,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "rel98-AssistanceData-Extension"},
{ATF_POINTER, 1,
offsetof(struct AssistanceData, rel5_AssistanceData_Extension),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_Rel5_AssistanceData_Extension,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* msrAssistData at 76 */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* systemInfoAssistData at 77 */
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* gps-AssistData at 78 */
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 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 */
{(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0,
0}, /* referenceAssistData at 75 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0}, /* msrAssistData at 76 */
{(ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0,
0}, /* systemInfoAssistData at 77 */
{(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* gps-AssistData at 78 */
{(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0,
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 = {
sizeof(struct AssistanceData),
offsetof(struct AssistanceData, _asn_ctx),
asn_MAP_AssistanceData_tag2el_1,
8, /* Count of tags in the map */
asn_MAP_AssistanceData_oms_1, /* Optional members */
6, 2, /* Root/Additions */
5, /* Start extensions */
9 /* Stop extensions */
sizeof(struct AssistanceData),
offsetof(struct AssistanceData, _asn_ctx),
asn_MAP_AssistanceData_tag2el_1,
8, /* Count of tags in the map */
asn_MAP_AssistanceData_oms_1, /* Optional members */
6,
2, /* Root/Additions */
5, /* Start extensions */
9 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_AssistanceData = {
"AssistanceData",
"AssistanceData",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AssistanceData_tags_1,
sizeof(asn_DEF_AssistanceData_tags_1)
/sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */
asn_DEF_AssistanceData_tags_1, /* Same as above */
sizeof(asn_DEF_AssistanceData_tags_1)
/sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AssistanceData_1,
8, /* Elements count */
&asn_SPC_AssistanceData_specs_1 /* Additional specs */
"AssistanceData",
"AssistanceData",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_AssistanceData_tags_1,
sizeof(asn_DEF_AssistanceData_tags_1) /
sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */
asn_DEF_AssistanceData_tags_1, /* Same as above */
sizeof(asn_DEF_AssistanceData_tags_1) /
sizeof(asn_DEF_AssistanceData_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_AssistanceData_1,
8, /* Elements count */
&asn_SPC_AssistanceData_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _AssistanceData_H_
#define _AssistanceData_H_
#include <asn_application.h>
/* Including external dependencies */
@ -38,11 +37,13 @@ extern "C"
MoreAssDataToBeSent_t *moreAssDataToBeSent /* OPTIONAL */;
ExtensionContainer_t *extensionContainer /* OPTIONAL */;
/*
* This type is extensible,
* possible extensions are below.
*/
struct Rel98_AssistanceData_Extension *rel98_AssistanceData_Extension /* OPTIONAL */;
struct Rel5_AssistanceData_Extension *rel5_AssistanceData_Extension /* OPTIONAL */;
* This type is extensible,
* possible extensions are below.
*/
struct Rel98_AssistanceData_Extension
*rel98_AssistanceData_Extension /* OPTIONAL */;
struct Rel5_AssistanceData_Extension
*rel5_AssistanceData_Extension /* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;

View File

@ -1,145 +1,161 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "BCCHCarrier.h"
int
BCCHCarrier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 1023)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int BCCHCarrier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 1023))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
BCCHCarrier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void BCCHCarrier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
BCCHCarrier_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void BCCHCarrier_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BCCHCarrier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int BCCHCarrier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BCCHCarrier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t BCCHCarrier_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr,
size_t size, int tag_mode)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
BCCHCarrier_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t BCCHCarrier_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode,
ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb,
void *app_key)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BCCHCarrier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t BCCHCarrier_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
BCCHCarrier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t BCCHCarrier_encode_xer(asn_TYPE_descriptor_t *td,
void *structure, int ilevel,
enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb,
void *app_key)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BCCHCarrier_decode_uper(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) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t BCCHCarrier_decode_uper(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)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
BCCHCarrier_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t BCCHCarrier_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
BCCHCarrier_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_BCCH_CARRIER_CONSTR_1 = {
{ APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 10, 10, 0, 1023} /* (0..1023) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"BCCHCarrier",
"BCCHCarrier",
BCCHCarrier_free,
BCCHCarrier_print,
BCCHCarrier_constraint,
BCCHCarrier_decode_ber,
BCCHCarrier_encode_der,
BCCHCarrier_decode_xer,
BCCHCarrier_encode_xer,
BCCHCarrier_decode_uper,
BCCHCarrier_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BCCHCarrier_tags_1,
sizeof(asn_DEF_BCCHCarrier_tags_1)
/sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */
asn_DEF_BCCHCarrier_tags_1, /* Same as above */
sizeof(asn_DEF_BCCHCarrier_tags_1)
/sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BCCH_CARRIER_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"BCCHCarrier",
"BCCHCarrier",
BCCHCarrier_free,
BCCHCarrier_print,
BCCHCarrier_constraint,
BCCHCarrier_decode_ber,
BCCHCarrier_encode_der,
BCCHCarrier_decode_xer,
BCCHCarrier_encode_xer,
BCCHCarrier_decode_uper,
BCCHCarrier_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BCCHCarrier_tags_1,
sizeof(asn_DEF_BCCHCarrier_tags_1) /
sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */
asn_DEF_BCCHCarrier_tags_1, /* Same as above */
sizeof(asn_DEF_BCCHCarrier_tags_1) /
sizeof(asn_DEF_BCCHCarrier_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BCCH_CARRIER_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _BCCHCarrier_H_
#define _BCCHCarrier_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -10,180 +10,175 @@
* BIT STRING basic type description.
*/
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 = {
sizeof(BIT_STRING_t),
offsetof(BIT_STRING_t, _asn_ctx),
ASN_OSUBV_BIT
};
sizeof(BIT_STRING_t), offsetof(BIT_STRING_t, _asn_ctx), ASN_OSUBV_BIT};
asn_TYPE_descriptor_t asn_DEF_BIT_STRING = {
"BIT STRING",
"BIT_STRING",
OCTET_STRING_free, /* Implemented in terms of OCTET STRING */
BIT_STRING_print,
BIT_STRING_constraint,
OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */
OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */
OCTET_STRING_decode_xer_binary,
BIT_STRING_encode_xer,
OCTET_STRING_decode_uper, /* Unaligned PER decoder */
OCTET_STRING_encode_uper, /* Unaligned PER encoder */
0, /* Use generic outmost tag fetcher */
asn_DEF_BIT_STRING_tags,
sizeof(asn_DEF_BIT_STRING_tags)
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
asn_DEF_BIT_STRING_tags, /* Same as above */
sizeof(asn_DEF_BIT_STRING_tags)
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_DEF_BIT_STRING_specs
};
"BIT STRING",
"BIT_STRING",
OCTET_STRING_free, /* Implemented in terms of OCTET STRING */
BIT_STRING_print,
BIT_STRING_constraint,
OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */
OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */
OCTET_STRING_decode_xer_binary,
BIT_STRING_encode_xer,
OCTET_STRING_decode_uper, /* Unaligned PER decoder */
OCTET_STRING_encode_uper, /* Unaligned PER encoder */
0, /* Use generic outmost tag fetcher */
asn_DEF_BIT_STRING_tags,
sizeof(asn_DEF_BIT_STRING_tags) / sizeof(asn_DEF_BIT_STRING_tags[0]),
asn_DEF_BIT_STRING_tags, /* Same as above */
sizeof(asn_DEF_BIT_STRING_tags) / sizeof(asn_DEF_BIT_STRING_tags[0]),
0, /* No PER visible constraints */
0,
0, /* No members */
&asn_DEF_BIT_STRING_specs};
/*
* BIT STRING generic constraint.
*/
int
BIT_STRING_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
int BIT_STRING_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
if(st && st->buf) {
if((st->size == 0 && st->bits_unused)
|| st->bits_unused < 0 || st->bits_unused > 7) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: invalid padding byte (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
if (st && st->buf)
{
if ((st->size == 0 && st->bits_unused) || st->bits_unused < 0 ||
st->bits_unused > 7)
{
_ASN_CTFAIL(app_key, td, sptr,
"%s: invalid padding byte (%s:%d)", td->name,
__FILE__, __LINE__);
return -1;
}
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
return 0;
return 0;
}
static char *_bit_pattern[16] = {
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
};
static char *_bit_pattern[16] = {"0000", "0001", "0010", "0011", "0100", "0101",
"0110", "0111", "1000", "1001", "1010", "1011",
"1100", "1101", "1110", "1111"};
asn_enc_rval_t
BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_enc_rval_t er;
char scratch[128];
char *p = scratch;
char *scend = scratch + (sizeof(scratch) - 10);
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
int xcan = (flags & XER_F_CANONICAL);
uint8_t *buf;
uint8_t *end;
asn_enc_rval_t BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
asn_enc_rval_t er;
char scratch[128];
char *p = scratch;
char *scend = scratch + (sizeof(scratch) - 10);
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
int xcan = (flags & XER_F_CANONICAL);
uint8_t *buf;
uint8_t *end;
if(!st || !st->buf)
_ASN_ENCODE_FAILED;
if (!st || !st->buf) _ASN_ENCODE_FAILED;
er.encoded = 0;
er.encoded = 0;
buf = st->buf;
end = buf + st->size - 1; /* Last byte is special */
buf = st->buf;
end = buf + st->size - 1; /* Last byte is special */
/*
* Binary dump
*/
for(; buf < end; buf++) {
int v = *buf;
int nline = xcan?0:(((buf - st->buf) % 8) == 0);
if(p >= scend || nline) {
er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch);
p = scratch;
if(nline) _i_ASN_TEXT_INDENT(1, ilevel);
}
memcpy(p + 0, _bit_pattern[v >> 4], 4);
memcpy(p + 4, _bit_pattern[v & 0x0f], 4);
p += 8;
}
/*
* Binary dump
*/
for (; buf < end; buf++)
{
int v = *buf;
int nline = xcan ? 0 : (((buf - st->buf) % 8) == 0);
if (p >= scend || nline)
{
er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch);
p = scratch;
if (nline) _i_ASN_TEXT_INDENT(1, ilevel);
}
memcpy(p + 0, _bit_pattern[v >> 4], 4);
memcpy(p + 4, _bit_pattern[v & 0x0f], 4);
p += 8;
}
if(!xcan && ((buf - st->buf) % 8) == 0)
_i_ASN_TEXT_INDENT(1, ilevel);
er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch);
p = scratch;
if (!xcan && ((buf - st->buf) % 8) == 0) _i_ASN_TEXT_INDENT(1, ilevel);
er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch);
p = scratch;
if(buf == end) {
int v = *buf;
int ubits = st->bits_unused;
int i;
for(i = 7; i >= ubits; i--)
*p++ = (v & (1 << i)) ? 0x31 : 0x30;
er.encoded += p - scratch;
_ASN_CALLBACK(scratch, p - scratch);
}
if (buf == end)
{
int v = *buf;
int ubits = st->bits_unused;
int i;
for (i = 7; i >= ubits; i--) *p++ = (v & (1 << i)) ? 0x31 : 0x30;
er.encoded += 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:
_ASN_ENCODE_FAILED;
_ASN_ENCODE_FAILED;
}
/*
* BIT STRING specific contents printer.
*/
int
BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key) {
static const char *h2c = "0123456789ABCDEF";
char scratch[64];
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
uint8_t *buf;
uint8_t *end;
char *p = scratch;
int BIT_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key)
{
static const char *h2c = "0123456789ABCDEF";
char scratch[64];
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
uint8_t *buf;
uint8_t *end;
char *p = scratch;
(void)td; /* Unused argument */
(void)td; /* Unused argument */
if(!st || !st->buf)
return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
if (!st || !st->buf) return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
ilevel++;
buf = st->buf;
end = buf + st->size;
ilevel++;
buf = st->buf;
end = buf + st->size;
/*
* Hexadecimal dump.
*/
for(; buf < end; buf++) {
if((buf - st->buf) % 16 == 0 && (st->size > 16)
&& buf != st->buf) {
_i_INDENT(1);
/* Dump the string */
if(cb(scratch, p - scratch, app_key) < 0) return -1;
p = scratch;
}
*p++ = h2c[*buf >> 4];
*p++ = h2c[*buf & 0x0F];
*p++ = 0x20;
}
/*
* Hexadecimal dump.
*/
for (; buf < end; buf++)
{
if ((buf - st->buf) % 16 == 0 && (st->size > 16) && buf != st->buf)
{
_i_INDENT(1);
/* Dump the string */
if (cb(scratch, p - scratch, app_key) < 0) return -1;
p = scratch;
}
*p++ = h2c[*buf >> 4];
*p++ = h2c[*buf & 0x0F];
*p++ = 0x20;
}
if(p > scratch) {
p--; /* Eat the tailing space */
if (p > scratch)
{
p--; /* Eat the tailing space */
if((st->size > 16)) {
_i_INDENT(1);
}
if ((st->size > 16))
{
_i_INDENT(1);
}
/* Dump the incomplete 16-bytes row */
if(cb(scratch, p - scratch, app_key) < 0)
return -1;
}
/* Dump the incomplete 16-bytes row */
if (cb(scratch, p - scratch, app_key) < 0) return -1;
}
return 0;
return 0;
}

View File

@ -10,275 +10,303 @@
* BOOLEAN basic type description.
*/
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 = {
"BOOLEAN",
"BOOLEAN",
BOOLEAN_free,
BOOLEAN_print,
asn_generic_no_constraint,
BOOLEAN_decode_ber,
BOOLEAN_encode_der,
BOOLEAN_decode_xer,
BOOLEAN_encode_xer,
BOOLEAN_decode_uper, /* Unaligned PER decoder */
BOOLEAN_encode_uper, /* Unaligned PER encoder */
0, /* Use generic outmost tag fetcher */
asn_DEF_BOOLEAN_tags,
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
asn_DEF_BOOLEAN_tags, /* Same as above */
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
"BOOLEAN",
"BOOLEAN",
BOOLEAN_free,
BOOLEAN_print,
asn_generic_no_constraint,
BOOLEAN_decode_ber,
BOOLEAN_encode_der,
BOOLEAN_decode_xer,
BOOLEAN_encode_xer,
BOOLEAN_decode_uper, /* Unaligned PER decoder */
BOOLEAN_encode_uper, /* Unaligned PER encoder */
0, /* Use generic outmost tag fetcher */
asn_DEF_BOOLEAN_tags,
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
asn_DEF_BOOLEAN_tags, /* Same as above */
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
0, /* No PER visible constraints */
0,
0, /* No members */
0 /* No specifics */
};
/*
* Decode BOOLEAN type.
*/
asn_dec_rval_t
BOOLEAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **bool_value, const void *buf_ptr, size_t size,
int tag_mode) {
BOOLEAN_t *st = (BOOLEAN_t *)*bool_value;
asn_dec_rval_t rval;
ber_tlv_len_t length;
ber_tlv_len_t lidx;
asn_dec_rval_t BOOLEAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **bool_value,
const void *buf_ptr, size_t size,
int tag_mode)
{
BOOLEAN_t *st = (BOOLEAN_t *)*bool_value;
asn_dec_rval_t rval;
ber_tlv_len_t length;
ber_tlv_len_t lidx;
if(st == NULL) {
st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st)));
if(st == NULL) {
rval.code = RC_FAIL;
rval.consumed = 0;
return rval;
}
}
if (st == NULL)
{
st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st)));
if (st == NULL)
{
rval.code = RC_FAIL;
rval.consumed = 0;
return rval;
}
}
ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)",
td->name, tag_mode);
ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)", td->name, tag_mode);
/*
* Check tags.
*/
rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size,
tag_mode, 0, &length, 0);
if(rval.code != RC_OK)
return rval;
/*
* Check tags.
*/
rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, tag_mode, 0,
&length, 0);
if (rval.code != RC_OK) 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;
size -= rval.consumed;
if(length > (ber_tlv_len_t)size) {
rval.code = RC_WMORE;
rval.consumed = 0;
return rval;
}
buf_ptr = ((const char *)buf_ptr) + rval.consumed;
size -= rval.consumed;
if (length > (ber_tlv_len_t)size)
{
rval.code = RC_WMORE;
rval.consumed = 0;
return rval;
}
/*
* Compute boolean value.
*/
for(*st = 0, lidx = 0;
(lidx < length) && *st == 0; lidx++) {
/*
* Very simple approach: read bytes until the end or
* value is already TRUE.
* BOOLEAN is not supposed to contain meaningful data anyway.
*/
*st |= ((const uint8_t *)buf_ptr)[lidx];
}
/*
* Compute boolean value.
*/
for (*st = 0, lidx = 0; (lidx < length) && *st == 0; lidx++)
{
/*
* Very simple approach: read bytes until the end or
* value is already TRUE.
* BOOLEAN is not supposed to contain meaningful data anyway.
*/
*st |= ((const uint8_t *)buf_ptr)[lidx];
}
rval.code = RC_OK;
rval.consumed += length;
rval.code = RC_OK;
rval.consumed += length;
ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d",
(long)rval.consumed, (long)length,
td->name, *st);
return rval;
ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d", (long)rval.consumed,
(long)length, td->name, *st);
return rval;
}
asn_enc_rval_t
BOOLEAN_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
asn_enc_rval_t erval;
BOOLEAN_t *st = (BOOLEAN_t *)sptr;
asn_enc_rval_t BOOLEAN_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
asn_enc_rval_t erval;
BOOLEAN_t *st = (BOOLEAN_t *)sptr;
erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key);
if(erval.encoded == -1) {
erval.failed_type = td;
erval.structure_ptr = sptr;
return erval;
}
erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key);
if (erval.encoded == -1)
{
erval.failed_type = td;
erval.structure_ptr = sptr;
return erval;
}
if(cb) {
uint8_t bool_value;
if (cb)
{
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) {
erval.encoded = -1;
erval.failed_type = td;
erval.structure_ptr = sptr;
return erval;
}
}
if (cb(&bool_value, 1, app_key) < 0)
{
erval.encoded = -1;
erval.failed_type = td;
erval.structure_ptr = sptr;
return erval;
}
}
erval.encoded += 1;
erval.encoded += 1;
_ASN_ENCODED_OK(erval);
_ASN_ENCODED_OK(erval);
}
/*
* Decode the chunk of XML text encoding INTEGER.
*/
static enum xer_pbd_rval
BOOLEAN__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chunk_buf, size_t chunk_size) {
BOOLEAN_t *st = (BOOLEAN_t *)sptr;
const char *p = (const char *)chunk_buf;
static enum xer_pbd_rval BOOLEAN__xer_body_decode(asn_TYPE_descriptor_t *td,
void *sptr,
const void *chunk_buf,
size_t chunk_size)
{
BOOLEAN_t *st = (BOOLEAN_t *)sptr;
const char *p = (const char *)chunk_buf;
(void)td;
(void)td;
if(chunk_size && p[0] == 0x3c /* '<' */) {
switch(xer_check_tag(chunk_buf, chunk_size, "false")) {
case XCT_BOTH:
/* "<false/>" */
*st = 0;
break;
case XCT_UNKNOWN_BO:
if(xer_check_tag(chunk_buf, chunk_size, "true")
!= XCT_BOTH)
return XPBD_BROKEN_ENCODING;
/* "<true/>" */
*st = 1; /* Or 0xff as in DER?.. */
break;
default:
return XPBD_BROKEN_ENCODING;
}
return XPBD_BODY_CONSUMED;
} else {
if(xer_is_whitespace(chunk_buf, chunk_size))
return XPBD_NOT_BODY_IGNORE;
else
return XPBD_BROKEN_ENCODING;
}
if (chunk_size && p[0] == 0x3c /* '<' */)
{
switch (xer_check_tag(chunk_buf, chunk_size, "false"))
{
case XCT_BOTH:
/* "<false/>" */
*st = 0;
break;
case XCT_UNKNOWN_BO:
if (xer_check_tag(chunk_buf, chunk_size, "true") !=
XCT_BOTH)
return XPBD_BROKEN_ENCODING;
/* "<true/>" */
*st = 1; /* Or 0xff as in DER?.. */
break;
default:
return XPBD_BROKEN_ENCODING;
}
return XPBD_BODY_CONSUMED;
}
else
{
if (xer_is_whitespace(chunk_buf, chunk_size))
return XPBD_NOT_BODY_IGNORE;
else
return XPBD_BROKEN_ENCODING;
}
}
asn_dec_rval_t
BOOLEAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **sptr, const char *opt_mname,
const void *buf_ptr, size_t size) {
return xer_decode_primitive(opt_codec_ctx, td,
sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size,
BOOLEAN__xer_body_decode);
asn_dec_rval_t BOOLEAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **sptr,
const char *opt_mname, const void *buf_ptr,
size_t size)
{
return xer_decode_primitive(opt_codec_ctx, td, sptr, sizeof(BOOLEAN_t),
opt_mname, buf_ptr, size,
BOOLEAN__xer_body_decode);
}
asn_enc_rval_t
BOOLEAN_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
asn_enc_rval_t er;
asn_enc_rval_t BOOLEAN_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
asn_enc_rval_t er;
(void)ilevel;
(void)flags;
(void)ilevel;
(void)flags;
if(!st) _ASN_ENCODE_FAILED;
if (!st) _ASN_ENCODE_FAILED;
if(*st) {
_ASN_CALLBACK("<true/>", 7);
er.encoded = 7;
} else {
_ASN_CALLBACK("<false/>", 8);
er.encoded = 8;
}
if (*st)
{
_ASN_CALLBACK("<true/>", 7);
er.encoded = 7;
}
else
{
_ASN_CALLBACK("<false/>", 8);
er.encoded = 8;
}
_ASN_ENCODED_OK(er);
_ASN_ENCODED_OK(er);
cb_failed:
_ASN_ENCODE_FAILED;
_ASN_ENCODE_FAILED;
}
int
BOOLEAN_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key) {
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
const char *buf;
size_t buflen;
int BOOLEAN_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key)
{
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
const char *buf;
size_t buflen;
(void)td; /* Unused argument */
(void)ilevel; /* Unused argument */
(void)td; /* Unused argument */
(void)ilevel; /* Unused argument */
if(st) {
if(*st) {
buf = "TRUE";
buflen = 4;
} else {
buf = "FALSE";
buflen = 5;
}
} else {
buf = "<absent>";
buflen = 8;
}
if (st)
{
if (*st)
{
buf = "TRUE";
buflen = 4;
}
else
{
buf = "FALSE";
buflen = 5;
}
}
else
{
buf = "<absent>";
buflen = 8;
}
return (cb(buf, buflen, app_key) < 0) ? -1 : 0;
return (cb(buf, buflen, app_key) < 0) ? -1 : 0;
}
void
BOOLEAN_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only) {
if(td && ptr && !contents_only) {
FREEMEM(ptr);
}
void BOOLEAN_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only)
{
if (td && ptr && !contents_only)
{
FREEMEM(ptr);
}
}
asn_dec_rval_t
BOOLEAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
asn_dec_rval_t rv;
BOOLEAN_t *st = (BOOLEAN_t *)*sptr;
asn_dec_rval_t BOOLEAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void **sptr, asn_per_data_t *pd)
{
asn_dec_rval_t rv;
BOOLEAN_t *st = (BOOLEAN_t *)*sptr;
(void)opt_codec_ctx;
(void)constraints;
(void)opt_codec_ctx;
(void)constraints;
if(!st) {
st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st)));
if(!st) _ASN_DECODE_FAILED;
}
if (!st)
{
st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st)));
if (!st) _ASN_DECODE_FAILED;
}
/*
* Extract a single bit
*/
switch(per_get_few_bits(pd, 1)) {
case 1: *st = 1; break;
case 0: *st = 0; break;
case -1: default: _ASN_DECODE_STARVED;
}
/*
* Extract a single bit
*/
switch (per_get_few_bits(pd, 1))
{
case 1:
*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");
rv.code = RC_OK;
rv.consumed = 1;
return rv;
rv.code = RC_OK;
rv.consumed = 1;
return rv;
}
asn_enc_rval_t BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *sptr, asn_per_outp_t *po)
{
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
asn_enc_rval_t er;
asn_enc_rval_t
BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
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);
_ASN_ENCODED_OK(er);
_ASN_ENCODED_OK(er);
}

View File

@ -13,10 +13,10 @@ extern "C"
#endif
/*
* The underlying integer may contain various values, but everything
* non-zero is capped to 0xff by the DER encoder. The BER decoder may
* yield non-zero values different from 1, beware.
*/
* The underlying integer may contain various values, but everything
* non-zero is capped to 0xff by the DER encoder. The BER decoder may
* yield non-zero values different from 1, beware.
*/
typedef int BOOLEAN_t;
extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN;

View File

@ -1,145 +1,152 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "BSIC.h"
int
BSIC_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 63)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int BSIC_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
BSIC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void BSIC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
BSIC_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BSIC_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void BSIC_free(asn_TYPE_descriptor_t *td, void *struct_ptr, int contents_only)
{
BSIC_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BSIC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BSIC_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int BSIC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key)
{
BSIC_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BSIC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BSIC_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t BSIC_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const void *bufptr, size_t size, int tag_mode)
{
BSIC_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
BSIC_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BSIC_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t BSIC_encode_der(asn_TYPE_descriptor_t *td, void *structure,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
BSIC_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BSIC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BSIC_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t BSIC_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const char *opt_mname, const void *bufptr,
size_t size)
{
BSIC_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
BSIC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BSIC_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t BSIC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
BSIC_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BSIC_decode_uper(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) {
BSIC_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t BSIC_decode_uper(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)
{
BSIC_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
BSIC_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BSIC_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t BSIC_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
BSIC_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_BSIC_CONSTR_1 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"BSIC",
"BSIC",
BSIC_free,
BSIC_print,
BSIC_constraint,
BSIC_decode_ber,
BSIC_encode_der,
BSIC_decode_xer,
BSIC_encode_xer,
BSIC_decode_uper,
BSIC_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BSIC_tags_1,
sizeof(asn_DEF_BSIC_tags_1)
/sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
asn_DEF_BSIC_tags_1, /* Same as above */
sizeof(asn_DEF_BSIC_tags_1)
/sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BSIC_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"BSIC",
"BSIC",
BSIC_free,
BSIC_print,
BSIC_constraint,
BSIC_decode_ber,
BSIC_encode_der,
BSIC_decode_xer,
BSIC_encode_xer,
BSIC_decode_uper,
BSIC_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BSIC_tags_1,
sizeof(asn_DEF_BSIC_tags_1) / sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
asn_DEF_BSIC_tags_1, /* Same as above */
sizeof(asn_DEF_BSIC_tags_1) / sizeof(asn_DEF_BSIC_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BSIC_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _BSIC_H_
#define _BSIC_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,69 +1,62 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "BSICAndCarrier.h"
static asn_TYPE_member_t asn_MBR_BSICAndCarrier_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, carrier),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BCCHCarrier,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"carrier"
},
{ ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, bsic),
(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,
"bsic"
},
{ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, carrier),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_BCCHCarrier,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "carrier"},
{ATF_NOFLAGS, 0, offsetof(struct BSICAndCarrier, bsic),
(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, "bsic"},
};
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[] = {
{ (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 | (0 << 2)), 0, 0, 0}, /* carrier at 304 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* bsic at 306 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BSICAndCarrier_specs_1 = {
sizeof(struct BSICAndCarrier),
offsetof(struct BSICAndCarrier, _asn_ctx),
asn_MAP_BSICAndCarrier_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct BSICAndCarrier),
offsetof(struct BSICAndCarrier, _asn_ctx),
asn_MAP_BSICAndCarrier_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BSICAndCarrier = {
"BSICAndCarrier",
"BSICAndCarrier",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BSICAndCarrier_tags_1,
sizeof(asn_DEF_BSICAndCarrier_tags_1)
/sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */
asn_DEF_BSICAndCarrier_tags_1, /* Same as above */
sizeof(asn_DEF_BSICAndCarrier_tags_1)
/sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BSICAndCarrier_1,
2, /* Elements count */
&asn_SPC_BSICAndCarrier_specs_1 /* Additional specs */
"BSICAndCarrier",
"BSICAndCarrier",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BSICAndCarrier_tags_1,
sizeof(asn_DEF_BSICAndCarrier_tags_1) /
sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */
asn_DEF_BSICAndCarrier_tags_1, /* Same as above */
sizeof(asn_DEF_BSICAndCarrier_tags_1) /
sizeof(asn_DEF_BSICAndCarrier_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BSICAndCarrier_1,
2, /* Elements count */
&asn_SPC_BSICAndCarrier_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _BSICAndCarrier_H_
#define _BSICAndCarrier_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,141 +1,158 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "BTSPosition.h"
int
BTSPosition_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const Ext_GeographicalInformation_t *st = (const Ext_GeographicalInformation_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size >= 1 && size <= 20)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int BTSPosition_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
const Ext_GeographicalInformation_t *st =
(const Ext_GeographicalInformation_t *)sptr;
size_t size;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if ((size >= 1 && size <= 20))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using Ext_GeographicalInformation,
* so here we adjust the DEF accordingly.
*/
static void
BTSPosition_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_Ext_GeographicalInformation.free_struct;
td->print_struct = asn_DEF_Ext_GeographicalInformation.print_struct;
td->ber_decoder = asn_DEF_Ext_GeographicalInformation.ber_decoder;
td->der_encoder = asn_DEF_Ext_GeographicalInformation.der_encoder;
td->xer_decoder = asn_DEF_Ext_GeographicalInformation.xer_decoder;
td->xer_encoder = asn_DEF_Ext_GeographicalInformation.xer_encoder;
td->uper_decoder = asn_DEF_Ext_GeographicalInformation.uper_decoder;
td->uper_encoder = asn_DEF_Ext_GeographicalInformation.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_Ext_GeographicalInformation.per_constraints;
td->elements = asn_DEF_Ext_GeographicalInformation.elements;
td->elements_count = asn_DEF_Ext_GeographicalInformation.elements_count;
td->specifics = asn_DEF_Ext_GeographicalInformation.specifics;
static void BTSPosition_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_Ext_GeographicalInformation.free_struct;
td->print_struct = asn_DEF_Ext_GeographicalInformation.print_struct;
td->ber_decoder = asn_DEF_Ext_GeographicalInformation.ber_decoder;
td->der_encoder = asn_DEF_Ext_GeographicalInformation.der_encoder;
td->xer_decoder = asn_DEF_Ext_GeographicalInformation.xer_decoder;
td->xer_encoder = asn_DEF_Ext_GeographicalInformation.xer_encoder;
td->uper_decoder = asn_DEF_Ext_GeographicalInformation.uper_decoder;
td->uper_encoder = asn_DEF_Ext_GeographicalInformation.uper_encoder;
if (!td->per_constraints)
td->per_constraints =
asn_DEF_Ext_GeographicalInformation.per_constraints;
td->elements = asn_DEF_Ext_GeographicalInformation.elements;
td->elements_count = asn_DEF_Ext_GeographicalInformation.elements_count;
td->specifics = asn_DEF_Ext_GeographicalInformation.specifics;
}
void
BTSPosition_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BTSPosition_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void BTSPosition_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BTSPosition_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int BTSPosition_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BTSPosition_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t BTSPosition_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr,
size_t size, int tag_mode)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
BTSPosition_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t BTSPosition_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode,
ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb,
void *app_key)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BTSPosition_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t BTSPosition_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
BTSPosition_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t BTSPosition_encode_xer(asn_TYPE_descriptor_t *td,
void *structure, int ilevel,
enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb,
void *app_key)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BTSPosition_decode_uper(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) {
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t BTSPosition_decode_uper(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)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
BTSPosition_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t BTSPosition_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
BTSPosition_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
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 = {
"BTSPosition",
"BTSPosition",
BTSPosition_free,
BTSPosition_print,
BTSPosition_constraint,
BTSPosition_decode_ber,
BTSPosition_encode_der,
BTSPosition_decode_xer,
BTSPosition_encode_xer,
BTSPosition_decode_uper,
BTSPosition_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BTSPosition_tags_1,
sizeof(asn_DEF_BTSPosition_tags_1)
/sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */
asn_DEF_BTSPosition_tags_1, /* Same as above */
sizeof(asn_DEF_BTSPosition_tags_1)
/sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
"BTSPosition",
"BTSPosition",
BTSPosition_free,
BTSPosition_print,
BTSPosition_constraint,
BTSPosition_decode_ber,
BTSPosition_encode_der,
BTSPosition_decode_xer,
BTSPosition_encode_xer,
BTSPosition_decode_uper,
BTSPosition_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BTSPosition_tags_1,
sizeof(asn_DEF_BTSPosition_tags_1) /
sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */
asn_DEF_BTSPosition_tags_1, /* Same as above */
sizeof(asn_DEF_BTSPosition_tags_1) /
sizeof(asn_DEF_BTSPosition_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _BTSPosition_H_
#define _BTSPosition_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,101 +1,96 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "BadSignalElement.h"
static int
memb_badSignalID_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 3)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_badSignalID_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 3))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_BAD_SIGNAL_ID_CONSTR_3 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 2, 2, 0, 3} /* (0..3) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_BadSignalElement_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BadSignalElement, badSVID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SVID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"badSVID"
},
{ ATF_POINTER, 1, offsetof(struct BadSignalElement, badSignalID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_badSignalID_constraint_1,
&ASN_PER_MEMB_BAD_SIGNAL_ID_CONSTR_3,
0,
"badSignalID"
},
{ATF_NOFLAGS, 0, offsetof(struct BadSignalElement, badSVID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_SVID, 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "badSVID"},
{ATF_POINTER, 1, offsetof(struct BadSignalElement, badSignalID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 } /* badSignalID at 1301 */
{(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0}, /* badSVID at 1300 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* badSignalID at 1301 */
};
static asn_SEQUENCE_specifics_t asn_SPC_BadSignalElement_specs_1 = {
sizeof(struct BadSignalElement),
offsetof(struct BadSignalElement, _asn_ctx),
asn_MAP_BadSignalElement_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_BadSignalElement_oms_1, /* Optional members */
1, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct BadSignalElement),
offsetof(struct BadSignalElement, _asn_ctx),
asn_MAP_BadSignalElement_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_BadSignalElement_oms_1, /* Optional members */
1,
0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_BadSignalElement = {
"BadSignalElement",
"BadSignalElement",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BadSignalElement_tags_1,
sizeof(asn_DEF_BadSignalElement_tags_1)
/sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */
asn_DEF_BadSignalElement_tags_1, /* Same as above */
sizeof(asn_DEF_BadSignalElement_tags_1)
/sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BadSignalElement_1,
2, /* Elements count */
&asn_SPC_BadSignalElement_specs_1 /* Additional specs */
"BadSignalElement",
"BadSignalElement",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BadSignalElement_tags_1,
sizeof(asn_DEF_BadSignalElement_tags_1) /
sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */
asn_DEF_BadSignalElement_tags_1, /* Same as above */
sizeof(asn_DEF_BadSignalElement_tags_1) /
sizeof(asn_DEF_BadSignalElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_BadSignalElement_1,
2, /* Elements count */
&asn_SPC_BadSignalElement_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _BadSignalElement_H_
#define _BadSignalElement_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,145 +1,156 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "BitNumber.h"
int
BitNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 156)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int BitNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 156))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
BitNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void BitNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
BitNumber_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
BitNumber_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void BitNumber_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
BitNumber_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
BitNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
BitNumber_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int BitNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
BitNumber_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
BitNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
BitNumber_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t BitNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
BitNumber_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
BitNumber_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
BitNumber_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t BitNumber_encode_der(asn_TYPE_descriptor_t *td, void *structure,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
BitNumber_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
BitNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
BitNumber_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t BitNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const char *opt_mname, const void *bufptr,
size_t size)
{
BitNumber_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
BitNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
BitNumber_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t BitNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
BitNumber_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
BitNumber_decode_uper(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) {
BitNumber_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t BitNumber_decode_uper(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)
{
BitNumber_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
BitNumber_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
BitNumber_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t BitNumber_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
BitNumber_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_BIT_NUMBER_CONSTR_1 = {
{ APC_CONSTRAINED, 8, 8, 0, 156 } /* (0..156) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 8, 8, 0, 156} /* (0..156) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"BitNumber",
"BitNumber",
BitNumber_free,
BitNumber_print,
BitNumber_constraint,
BitNumber_decode_ber,
BitNumber_encode_der,
BitNumber_decode_xer,
BitNumber_encode_xer,
BitNumber_decode_uper,
BitNumber_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BitNumber_tags_1,
sizeof(asn_DEF_BitNumber_tags_1)
/sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */
asn_DEF_BitNumber_tags_1, /* Same as above */
sizeof(asn_DEF_BitNumber_tags_1)
/sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BIT_NUMBER_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"BitNumber",
"BitNumber",
BitNumber_free,
BitNumber_print,
BitNumber_constraint,
BitNumber_decode_ber,
BitNumber_encode_der,
BitNumber_decode_xer,
BitNumber_encode_xer,
BitNumber_decode_uper,
BitNumber_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BitNumber_tags_1,
sizeof(asn_DEF_BitNumber_tags_1) /
sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */
asn_DEF_BitNumber_tags_1, /* Same as above */
sizeof(asn_DEF_BitNumber_tags_1) /
sizeof(asn_DEF_BitNumber_tags_1[0]), /* 1 */
&ASN_PER_TYPE_BIT_NUMBER_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _BitNumber_H_
#define _BitNumber_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,69 +1,62 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "CalcAssistanceBTS.h"
static asn_TYPE_member_t asn_MBR_CalcAssistanceBTS_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, fineRTD),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_FineRTD,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"fineRTD"
},
{ ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, referenceWGS84),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceWGS84,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"referenceWGS84"
},
{ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, fineRTD),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_FineRTD, 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "fineRTD"},
{ATF_NOFLAGS, 0, offsetof(struct CalcAssistanceBTS, referenceWGS84),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceWGS84,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "referenceWGS84"},
};
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[] = {
{ (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 | (0 << 2)), 0, 0, 0}, /* fineRTD at 241 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* referenceWGS84 at 243 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CalcAssistanceBTS_specs_1 = {
sizeof(struct CalcAssistanceBTS),
offsetof(struct CalcAssistanceBTS, _asn_ctx),
asn_MAP_CalcAssistanceBTS_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct CalcAssistanceBTS),
offsetof(struct CalcAssistanceBTS, _asn_ctx),
asn_MAP_CalcAssistanceBTS_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_CalcAssistanceBTS = {
"CalcAssistanceBTS",
"CalcAssistanceBTS",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CalcAssistanceBTS_tags_1,
sizeof(asn_DEF_CalcAssistanceBTS_tags_1)
/sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */
asn_DEF_CalcAssistanceBTS_tags_1, /* Same as above */
sizeof(asn_DEF_CalcAssistanceBTS_tags_1)
/sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_CalcAssistanceBTS_1,
2, /* Elements count */
&asn_SPC_CalcAssistanceBTS_specs_1 /* Additional specs */
"CalcAssistanceBTS",
"CalcAssistanceBTS",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CalcAssistanceBTS_tags_1,
sizeof(asn_DEF_CalcAssistanceBTS_tags_1) /
sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */
asn_DEF_CalcAssistanceBTS_tags_1, /* Same as above */
sizeof(asn_DEF_CalcAssistanceBTS_tags_1) /
sizeof(asn_DEF_CalcAssistanceBTS_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_CalcAssistanceBTS_1,
2, /* Elements count */
&asn_SPC_CalcAssistanceBTS_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _CalcAssistanceBTS_H_
#define _CalcAssistanceBTS_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,145 +1,152 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "CellID.h"
int
CellID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 65535)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int CellID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 65535))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
CellID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void CellID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
CellID_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
CellID_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void CellID_free(asn_TYPE_descriptor_t *td, void *struct_ptr, int contents_only)
{
CellID_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
CellID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
CellID_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int CellID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key)
{
CellID_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
CellID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
CellID_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t CellID_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const void *bufptr, size_t size, int tag_mode)
{
CellID_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
CellID_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
CellID_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t CellID_encode_der(asn_TYPE_descriptor_t *td, void *structure,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
CellID_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
CellID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
CellID_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t CellID_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td, void **structure,
const char *opt_mname, const void *bufptr,
size_t size)
{
CellID_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
CellID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
CellID_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t CellID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
CellID_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
CellID_decode_uper(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) {
CellID_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t CellID_decode_uper(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)
{
CellID_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
CellID_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
CellID_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t CellID_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
CellID_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_CELL_ID_CONSTR_1 = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 16, 16, 0, 65535} /* (0..65535) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"CellID",
"CellID",
CellID_free,
CellID_print,
CellID_constraint,
CellID_decode_ber,
CellID_encode_der,
CellID_decode_xer,
CellID_encode_xer,
CellID_decode_uper,
CellID_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CellID_tags_1,
sizeof(asn_DEF_CellID_tags_1)
/sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
asn_DEF_CellID_tags_1, /* Same as above */
sizeof(asn_DEF_CellID_tags_1)
/sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
&ASN_PER_TYPE_CELL_ID_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"CellID",
"CellID",
CellID_free,
CellID_print,
CellID_constraint,
CellID_decode_ber,
CellID_encode_der,
CellID_decode_xer,
CellID_encode_xer,
CellID_decode_uper,
CellID_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CellID_tags_1,
sizeof(asn_DEF_CellID_tags_1) / sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
asn_DEF_CellID_tags_1, /* Same as above */
sizeof(asn_DEF_CellID_tags_1) / sizeof(asn_DEF_CellID_tags_1[0]), /* 1 */
&ASN_PER_TYPE_CELL_ID_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _CellID_H_
#define _CellID_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,69 +1,61 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "CellIDAndLAC.h"
static asn_TYPE_member_t asn_MBR_CellIDAndLAC_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceLAC),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LAC,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"referenceLAC"
},
{ ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceCI),
(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,
"referenceCI"
},
{ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceLAC),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_LAC, 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "referenceLAC"},
{ATF_NOFLAGS, 0, offsetof(struct CellIDAndLAC, referenceCI),
(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, "referenceCI"},
};
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[] = {
{ (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 | (0 << 2)), 0, 0, 0}, /* referenceLAC at 313 */
{(ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0} /* referenceCI at 315 */
};
static asn_SEQUENCE_specifics_t asn_SPC_CellIDAndLAC_specs_1 = {
sizeof(struct CellIDAndLAC),
offsetof(struct CellIDAndLAC, _asn_ctx),
asn_MAP_CellIDAndLAC_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct CellIDAndLAC),
offsetof(struct CellIDAndLAC, _asn_ctx),
asn_MAP_CellIDAndLAC_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_CellIDAndLAC = {
"CellIDAndLAC",
"CellIDAndLAC",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CellIDAndLAC_tags_1,
sizeof(asn_DEF_CellIDAndLAC_tags_1)
/sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */
asn_DEF_CellIDAndLAC_tags_1, /* Same as above */
sizeof(asn_DEF_CellIDAndLAC_tags_1)
/sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_CellIDAndLAC_1,
2, /* Elements count */
&asn_SPC_CellIDAndLAC_specs_1 /* Additional specs */
"CellIDAndLAC",
"CellIDAndLAC",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_CellIDAndLAC_tags_1,
sizeof(asn_DEF_CellIDAndLAC_tags_1) /
sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */
asn_DEF_CellIDAndLAC_tags_1, /* Same as above */
sizeof(asn_DEF_CellIDAndLAC_tags_1) /
sizeof(asn_DEF_CellIDAndLAC_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_CellIDAndLAC_1,
2, /* Elements count */
&asn_SPC_CellIDAndLAC_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _CellIDAndLAC_H_
#define _CellIDAndLAC_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,141 +1,111 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "ControlHeader.h"
static asn_TYPE_member_t asn_MBR_ControlHeader_1[] = {
{ ATF_POINTER, 9, offsetof(struct ControlHeader, referenceTime),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceTime,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"referenceTime"
},
{ ATF_POINTER, 8, offsetof(struct ControlHeader, refLocation),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RefLocation,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"refLocation"
},
{ ATF_POINTER, 7, offsetof(struct ControlHeader, dgpsCorrections),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_DGPSCorrections,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"dgpsCorrections"
},
{ ATF_POINTER, 6, offsetof(struct ControlHeader, navigationModel),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NavigationModel,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"navigationModel"
},
{ ATF_POINTER, 5, offsetof(struct ControlHeader, ionosphericModel),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_IonosphericModel,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"ionosphericModel"
},
{ ATF_POINTER, 4, offsetof(struct ControlHeader, utcModel),
(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,
"utcModel"
},
{ ATF_POINTER, 3, offsetof(struct ControlHeader, almanac),
(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,
"almanac"
},
{ ATF_POINTER, 2, offsetof(struct ControlHeader, acquisAssist),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_AcquisAssist,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"acquisAssist"
},
{ ATF_POINTER, 1, offsetof(struct ControlHeader, realTimeIntegrity),
(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOf_BadSatelliteSet,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"realTimeIntegrity"
},
{ATF_POINTER, 9, offsetof(struct ControlHeader, referenceTime),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_ReferenceTime,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "referenceTime"},
{ATF_POINTER, 8, offsetof(struct ControlHeader, refLocation),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_RefLocation,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "refLocation"},
{ATF_POINTER, 7, offsetof(struct ControlHeader, dgpsCorrections),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_DGPSCorrections,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "dgpsCorrections"},
{ATF_POINTER, 6, offsetof(struct ControlHeader, navigationModel),
(ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NavigationModel,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "navigationModel"},
{ATF_POINTER, 5, offsetof(struct ControlHeader, ionosphericModel),
(ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_IonosphericModel,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "ionosphericModel"},
{ATF_POINTER, 4, offsetof(struct ControlHeader, utcModel),
(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, "utcModel"},
{ATF_POINTER, 3, offsetof(struct ControlHeader, almanac),
(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, "almanac"},
{ATF_POINTER, 2, offsetof(struct ControlHeader, acquisAssist),
(ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_AcquisAssist,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "acquisAssist"},
{ATF_POINTER, 1, offsetof(struct ControlHeader, realTimeIntegrity),
(ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_SeqOf_BadSatelliteSet,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* refLocation at 575 */
{ (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 | (4 << 2)), 4, 0, 0 }, /* ionosphericModel at 578 */
{ (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 | (7 << 2)), 7, 0, 0 }, /* acquisAssist at 581 */
{ (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* realTimeIntegrity at 582 */
{(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 | (2 << 2)), 2, 0, 0}, /* dgpsCorrections at 576 */
{(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 | (5 << 2)), 5, 0, 0}, /* utcModel at 579 */
{(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 | (8 << 2)), 8, 0, 0} /* realTimeIntegrity at 582 */
};
static asn_SEQUENCE_specifics_t asn_SPC_ControlHeader_specs_1 = {
sizeof(struct ControlHeader),
offsetof(struct ControlHeader, _asn_ctx),
asn_MAP_ControlHeader_tag2el_1,
9, /* Count of tags in the map */
asn_MAP_ControlHeader_oms_1, /* Optional members */
9, 0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct ControlHeader),
offsetof(struct ControlHeader, _asn_ctx),
asn_MAP_ControlHeader_tag2el_1,
9, /* Count of tags in the map */
asn_MAP_ControlHeader_oms_1, /* Optional members */
9,
0, /* Root/Additions */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_ControlHeader = {
"ControlHeader",
"ControlHeader",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ControlHeader_tags_1,
sizeof(asn_DEF_ControlHeader_tags_1)
/sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */
asn_DEF_ControlHeader_tags_1, /* Same as above */
sizeof(asn_DEF_ControlHeader_tags_1)
/sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_ControlHeader_1,
9, /* Elements count */
&asn_SPC_ControlHeader_specs_1 /* Additional specs */
"ControlHeader",
"ControlHeader",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ControlHeader_tags_1,
sizeof(asn_DEF_ControlHeader_tags_1) /
sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */
asn_DEF_ControlHeader_tags_1, /* Same as above */
sizeof(asn_DEF_ControlHeader_tags_1) /
sizeof(asn_DEF_ControlHeader_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_ControlHeader_1,
9, /* Elements count */
&asn_SPC_ControlHeader_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _ControlHeader_H_
#define _ControlHeader_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,219 +1,212 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "DGANSSSgnElement.h"
static int
memb_iod_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 1023)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_iod_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 1023))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_udre_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 3)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_udre_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 3))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_pseudoRangeCor_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -2047 && value <= 2047)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_pseudoRangeCor_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -2047 && value <= 2047))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_rangeRateCor_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= -127 && value <= 127)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_rangeRateCor_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= -127 && value <= 127))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_IOD_CONSTR_3 = {
{ APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 10, 10, 0, 1023} /* (0..1023) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_UDRE_CONSTR_4 = {
{ APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 2, 2, 0, 3} /* (0..3) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_PSEUDO_RANGE_COR_CONSTR_5 = {
{ APC_CONSTRAINED, 12, 12, -2047, 2047 } /* (-2047..2047) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 12, 12, -2047, 2047} /* (-2047..2047) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_RANGE_RATE_COR_CONSTR_6 = {
{ APC_CONSTRAINED, 8, 8, -127, 127 } /* (-127..127) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 8, 8, -127, 127} /* (-127..127) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_DGANSSSgnElement_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, svID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_SVID,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"svID"
},
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, iod),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_iod_constraint_1,
&ASN_PER_MEMB_IOD_CONSTR_3,
0,
"iod"
},
{ ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, udre),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_udre_constraint_1,
&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"
},
{ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, svID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_SVID, 0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "svID"},
{ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, iod),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_iod_constraint_1, &ASN_PER_MEMB_IOD_CONSTR_3,
0, "iod"},
{ATF_NOFLAGS, 0, offsetof(struct DGANSSSgnElement, udre),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_udre_constraint_1,
&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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* iod at 1210 */
{ (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 | (4 << 2)), 4, 0, 0 } /* rangeRateCor at 1221 */
{(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 | (2 << 2)), 2, 0, 0}, /* udre at 1213 */
{(ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0}, /* pseudoRangeCor at 1217 */
{(ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0} /* rangeRateCor at 1221 */
};
static asn_SEQUENCE_specifics_t asn_SPC_DGANSSSgnElement_specs_1 = {
sizeof(struct DGANSSSgnElement),
offsetof(struct DGANSSSgnElement, _asn_ctx),
asn_MAP_DGANSSSgnElement_tag2el_1,
5, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct DGANSSSgnElement),
offsetof(struct DGANSSSgnElement, _asn_ctx),
asn_MAP_DGANSSSgnElement_tag2el_1,
5, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_DGANSSSgnElement = {
"DGANSSSgnElement",
"DGANSSSgnElement",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_DGANSSSgnElement_tags_1,
sizeof(asn_DEF_DGANSSSgnElement_tags_1)
/sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */
asn_DEF_DGANSSSgnElement_tags_1, /* Same as above */
sizeof(asn_DEF_DGANSSSgnElement_tags_1)
/sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_DGANSSSgnElement_1,
5, /* Elements count */
&asn_SPC_DGANSSSgnElement_specs_1 /* Additional specs */
"DGANSSSgnElement",
"DGANSSSgnElement",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_DGANSSSgnElement_tags_1,
sizeof(asn_DEF_DGANSSSgnElement_tags_1) /
sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */
asn_DEF_DGANSSSgnElement_tags_1, /* Same as above */
sizeof(asn_DEF_DGANSSSgnElement_tags_1) /
sizeof(asn_DEF_DGANSSSgnElement_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_DGANSSSgnElement_1,
5, /* Elements count */
&asn_SPC_DGANSSSgnElement_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _DGANSSSgnElement_H_
#define _DGANSSSgnElement_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,139 +1,134 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "DGPSCorrections.h"
static int
memb_gpsTOW_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 604799)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_gpsTOW_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 604799))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_status_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_status_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_GPS_TOW_CONSTR_2 = {
{ APC_CONSTRAINED, 20, -1, 0, 604799 } /* (0..604799) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 20, -1, 0, 604799} /* (0..604799) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_STATUS_CONSTR_3 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_DGPSCorrections_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, gpsTOW),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_gpsTOW_constraint_1,
&ASN_PER_MEMB_GPS_TOW_CONSTR_2,
0,
"gpsTOW"
},
{ ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, status),
(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,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,
"satList"
},
{ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, gpsTOW),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_gpsTOW_constraint_1,
&ASN_PER_MEMB_GPS_TOW_CONSTR_2, 0, "gpsTOW"},
{ATF_NOFLAGS, 0, offsetof(struct DGPSCorrections, status),
(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,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0, "satList"},
};
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[] = {
{ (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 | (2 << 2)), 2, 0, 0 } /* satList at 659 */
{(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 | (2 << 2)), 2, 0, 0} /* satList at 659 */
};
static asn_SEQUENCE_specifics_t asn_SPC_DGPSCorrections_specs_1 = {
sizeof(struct DGPSCorrections),
offsetof(struct DGPSCorrections, _asn_ctx),
asn_MAP_DGPSCorrections_tag2el_1,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct DGPSCorrections),
offsetof(struct DGPSCorrections, _asn_ctx),
asn_MAP_DGPSCorrections_tag2el_1,
3, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_DGPSCorrections = {
"DGPSCorrections",
"DGPSCorrections",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_DGPSCorrections_tags_1,
sizeof(asn_DEF_DGPSCorrections_tags_1)
/sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */
asn_DEF_DGPSCorrections_tags_1, /* Same as above */
sizeof(asn_DEF_DGPSCorrections_tags_1)
/sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_DGPSCorrections_1,
3, /* Elements count */
&asn_SPC_DGPSCorrections_specs_1 /* Additional specs */
"DGPSCorrections",
"DGPSCorrections",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_DGPSCorrections_tags_1,
sizeof(asn_DEF_DGPSCorrections_tags_1) /
sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */
asn_DEF_DGPSCorrections_tags_1, /* Same as above */
sizeof(asn_DEF_DGPSCorrections_tags_1) /
sizeof(asn_DEF_DGPSCorrections_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_DGPSCorrections_1,
3, /* Elements count */
&asn_SPC_DGPSCorrections_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _DGPSCorrections_H_
#define _DGPSCorrections_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -6,66 +6,67 @@
#include <asn_internal.h>
#include <ENUMERATED.h>
#include <NativeEnumerated.h>
#include <asn_codecs_prim.h> /* Encoder and decoder of a primitive type */
#include <asn_codecs_prim.h> /* Encoder and decoder of a primitive type */
/*
* ENUMERATED basic type description.
*/
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 = {
"ENUMERATED",
"ENUMERATED",
ASN__PRIMITIVE_TYPE_free,
INTEGER_print, /* Implemented in terms of INTEGER */
asn_generic_no_constraint,
ber_decode_primitive,
INTEGER_encode_der, /* Implemented in terms of INTEGER */
INTEGER_decode_xer, /* This is temporary! */
INTEGER_encode_xer,
ENUMERATED_decode_uper, /* Unaligned PER decoder */
ENUMERATED_encode_uper, /* Unaligned PER encoder */
0, /* Use generic outmost tag fetcher */
asn_DEF_ENUMERATED_tags,
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
asn_DEF_ENUMERATED_tags, /* Same as above */
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
"ENUMERATED",
"ENUMERATED",
ASN__PRIMITIVE_TYPE_free,
INTEGER_print, /* Implemented in terms of INTEGER */
asn_generic_no_constraint,
ber_decode_primitive,
INTEGER_encode_der, /* Implemented in terms of INTEGER */
INTEGER_decode_xer, /* This is temporary! */
INTEGER_encode_xer,
ENUMERATED_decode_uper, /* Unaligned PER decoder */
ENUMERATED_encode_uper, /* Unaligned PER encoder */
0, /* Use generic outmost tag fetcher */
asn_DEF_ENUMERATED_tags,
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
asn_DEF_ENUMERATED_tags, /* Same as above */
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
0, /* No PER visible constraints */
0,
0, /* No members */
0 /* No specifics */
};
asn_dec_rval_t
ENUMERATED_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
asn_dec_rval_t rval;
ENUMERATED_t *st = (ENUMERATED_t *)*sptr;
long value;
void *vptr = &value;
asn_dec_rval_t ENUMERATED_decode_uper(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void **sptr, asn_per_data_t *pd)
{
asn_dec_rval_t rval;
ENUMERATED_t *st = (ENUMERATED_t *)*sptr;
long value;
void *vptr = &value;
if(!st) {
st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st)));
if(!st) _ASN_DECODE_FAILED;
}
if (!st)
{
st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st)));
if (!st) _ASN_DECODE_FAILED;
}
rval = NativeEnumerated_decode_uper(opt_codec_ctx, td, constraints,
(void **)&vptr, pd);
if(rval.code == RC_OK)
if(asn_long2INTEGER(st, value))
rval.code = RC_FAIL;
return rval;
rval =
NativeEnumerated_decode_uper(opt_codec_ctx, td, constraints, &vptr, pd);
if (rval.code == RC_OK)
if (asn_long2INTEGER(st, value)) rval.code = RC_FAIL;
return rval;
}
asn_enc_rval_t
ENUMERATED_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
ENUMERATED_t *st = (ENUMERATED_t *)sptr;
int64_t value;
asn_enc_rval_t ENUMERATED_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *sptr, asn_per_outp_t *po)
{
ENUMERATED_t *st = (ENUMERATED_t *)sptr;
int64_t value;
if(asn_INTEGER2long(st, &value))
_ASN_ENCODE_FAILED;
if (asn_INTEGER2long(st, &value)) _ASN_ENCODE_FAILED;
return NativeEnumerated_encode_uper(td, constraints, &value, po);
return NativeEnumerated_encode_uper(td, constraints, &value, po);
}

View File

@ -1,129 +1,129 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "EOTDQuality.h"
static int
memb_nbrOfMeasurements_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_nbrOfMeasurements_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_stdOfEOTD_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 31)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_stdOfEOTD_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 31))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_NBR_OF_MEASUREMENTS_CONSTR_2 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_STD_OF_EOTD_CONSTR_3 = {
{ APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 5, 5, 0, 31} /* (0..31) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_EOTDQuality_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct EOTDQuality, nbrOfMeasurements),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_nbrOfMeasurements_constraint_1,
&ASN_PER_MEMB_NBR_OF_MEASUREMENTS_CONSTR_2,
0,
"nbrOfMeasurements"
},
{ 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"
},
{ATF_NOFLAGS, 0, offsetof(struct EOTDQuality, nbrOfMeasurements),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_nbrOfMeasurements_constraint_1,
&ASN_PER_MEMB_NBR_OF_MEASUREMENTS_CONSTR_2, 0, "nbrOfMeasurements"},
{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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 } /* stdOfEOTD at 394 */
{(ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0,
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 = {
sizeof(struct EOTDQuality),
offsetof(struct EOTDQuality, _asn_ctx),
asn_MAP_EOTDQuality_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct EOTDQuality),
offsetof(struct EOTDQuality, _asn_ctx),
asn_MAP_EOTDQuality_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_EOTDQuality = {
"EOTDQuality",
"EOTDQuality",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_EOTDQuality_tags_1,
sizeof(asn_DEF_EOTDQuality_tags_1)
/sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */
asn_DEF_EOTDQuality_tags_1, /* Same as above */
sizeof(asn_DEF_EOTDQuality_tags_1)
/sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_EOTDQuality_1,
2, /* Elements count */
&asn_SPC_EOTDQuality_specs_1 /* Additional specs */
"EOTDQuality",
"EOTDQuality",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_EOTDQuality_tags_1,
sizeof(asn_DEF_EOTDQuality_tags_1) /
sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */
asn_DEF_EOTDQuality_tags_1, /* Same as above */
sizeof(asn_DEF_EOTDQuality_tags_1) /
sizeof(asn_DEF_EOTDQuality_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_EOTDQuality_1,
2, /* Elements count */
&asn_SPC_EOTDQuality_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _EOTDQuality_H_
#define _EOTDQuality_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,149 +1,166 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "EnvironmentCharacter.h"
int
EnvironmentCharacter_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
int EnvironmentCharacter_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
EnvironmentCharacter_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
static void EnvironmentCharacter_1_inherit_TYPE_descriptor(
asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined
* explicitly
*/
}
void
EnvironmentCharacter_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void EnvironmentCharacter_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
EnvironmentCharacter_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int EnvironmentCharacter_print(asn_TYPE_descriptor_t *td,
const void *struct_ptr, int ilevel,
asn_app_consume_bytes_f *cb, void *app_key)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
EnvironmentCharacter_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t EnvironmentCharacter_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
EnvironmentCharacter_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t EnvironmentCharacter_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode,
ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb,
void *app_key)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
EnvironmentCharacter_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t EnvironmentCharacter_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure,
const char *opt_mname,
const void *bufptr, size_t size)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
EnvironmentCharacter_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t EnvironmentCharacter_encode_xer(asn_TYPE_descriptor_t *td,
void *structure, int ilevel,
enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb,
void *app_key)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
EnvironmentCharacter_decode_uper(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) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t EnvironmentCharacter_decode_uper(
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)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
EnvironmentCharacter_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t EnvironmentCharacter_encode_uper(
asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
EnvironmentCharacter_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_ENVIRONMENT_CHARACTER_CONSTR_1 = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2} /* (0..2,...) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_EnvironmentCharacter_value2enum_1[] = {
{ 0, 7, "badArea" },
{ 1, 10, "notBadArea" },
{ 2, 9, "mixedArea" }
/* This list is extensible */
{0, 7, "badArea"}, {1, 10, "notBadArea"}, {2, 9, "mixedArea"}
/* This list is extensible */
};
static unsigned int asn_MAP_EnvironmentCharacter_enum2value_1[] = {
0, /* badArea(0) */
2, /* mixedArea(2) */
1 /* notBadArea(1) */
/* This list is extensible */
0, /* badArea(0) */
2, /* mixedArea(2) */
1 /* notBadArea(1) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_EnvironmentCharacter_specs_1 = {
asn_MAP_EnvironmentCharacter_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_EnvironmentCharacter_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
4, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
asn_MAP_EnvironmentCharacter_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_EnvironmentCharacter_enum2value_1, /* N => "tag"; sorted by N */
3, /* Number of elements in the maps */
4, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0};
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 = {
"EnvironmentCharacter",
"EnvironmentCharacter",
EnvironmentCharacter_free,
EnvironmentCharacter_print,
EnvironmentCharacter_constraint,
EnvironmentCharacter_decode_ber,
EnvironmentCharacter_encode_der,
EnvironmentCharacter_decode_xer,
EnvironmentCharacter_encode_xer,
EnvironmentCharacter_decode_uper,
EnvironmentCharacter_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_EnvironmentCharacter_tags_1,
sizeof(asn_DEF_EnvironmentCharacter_tags_1)
/sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */
asn_DEF_EnvironmentCharacter_tags_1, /* Same as above */
sizeof(asn_DEF_EnvironmentCharacter_tags_1)
/sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ENVIRONMENT_CHARACTER_CONSTR_1,
0, 0, /* Defined elsewhere */
&asn_SPC_EnvironmentCharacter_specs_1 /* Additional specs */
"EnvironmentCharacter",
"EnvironmentCharacter",
EnvironmentCharacter_free,
EnvironmentCharacter_print,
EnvironmentCharacter_constraint,
EnvironmentCharacter_decode_ber,
EnvironmentCharacter_encode_der,
EnvironmentCharacter_decode_xer,
EnvironmentCharacter_encode_xer,
EnvironmentCharacter_decode_uper,
EnvironmentCharacter_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_EnvironmentCharacter_tags_1,
sizeof(asn_DEF_EnvironmentCharacter_tags_1) /
sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */
asn_DEF_EnvironmentCharacter_tags_1, /* Same as above */
sizeof(asn_DEF_EnvironmentCharacter_tags_1) /
sizeof(asn_DEF_EnvironmentCharacter_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ENVIRONMENT_CHARACTER_CONSTR_1,
0,
0, /* Defined elsewhere */
&asn_SPC_EnvironmentCharacter_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _EnvironmentCharacter_H_
#define _EnvironmentCharacter_H_
#include <asn_application.h>
/* Including external dependencies */
@ -25,8 +24,8 @@ extern "C"
EnvironmentCharacter_notBadArea = 1,
EnvironmentCharacter_mixedArea = 2
/*
* Enumeration is extensible
*/
* Enumeration is extensible
*/
} e_EnvironmentCharacter;
/* EnvironmentCharacter */

View File

@ -1,209 +1,209 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "EphemerisSubframe1Reserved.h"
static int
memb_reserved1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 8388607)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_reserved1_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 8388607))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_reserved2_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 16777215)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_reserved2_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 16777215))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_reserved3_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 16777215)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_reserved3_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 16777215))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_reserved4_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 65535)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_reserved4_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 65535))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_RESERVED1_CONSTR_2 = {
{ APC_CONSTRAINED, 23, -1, 0, 8388607 } /* (0..8388607) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 23, -1, 0, 8388607} /* (0..8388607) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_RESERVED2_CONSTR_3 = {
{ APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 24, -1, 0, 16777215} /* (0..16777215) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_RESERVED3_CONSTR_4 = {
{ APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 24, -1, 0, 16777215} /* (0..16777215) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_RESERVED4_CONSTR_5 = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 16, 16, 0, 65535} /* (0..65535) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_EphemerisSubframe1Reserved_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_reserved1_constraint_1,
&ASN_PER_MEMB_RESERVED1_CONSTR_2,
0,
"reserved1"
},
{ ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved2),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_reserved2_constraint_1,
&ASN_PER_MEMB_RESERVED2_CONSTR_3,
0,
"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"
},
{ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_reserved1_constraint_1,
&ASN_PER_MEMB_RESERVED1_CONSTR_2, 0, "reserved1"},
{ATF_NOFLAGS, 0, offsetof(struct EphemerisSubframe1Reserved, reserved2),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_reserved2_constraint_1,
&ASN_PER_MEMB_RESERVED2_CONSTR_3, 0, "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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 }, /* reserved2 at 756 */
{ (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 | (0 << 2)), 0, 0, 0}, /* reserved1 at 755 */
{(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 | (3 << 2)), 3, 0, 0} /* reserved4 at 758 */
};
static asn_SEQUENCE_specifics_t asn_SPC_EphemerisSubframe1Reserved_specs_1 = {
sizeof(struct EphemerisSubframe1Reserved),
offsetof(struct EphemerisSubframe1Reserved, _asn_ctx),
asn_MAP_EphemerisSubframe1Reserved_tag2el_1,
4, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct EphemerisSubframe1Reserved),
offsetof(struct EphemerisSubframe1Reserved, _asn_ctx),
asn_MAP_EphemerisSubframe1Reserved_tag2el_1,
4, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_EphemerisSubframe1Reserved = {
"EphemerisSubframe1Reserved",
"EphemerisSubframe1Reserved",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_EphemerisSubframe1Reserved_tags_1,
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1)
/sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */
asn_DEF_EphemerisSubframe1Reserved_tags_1, /* Same as above */
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1)
/sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_EphemerisSubframe1Reserved_1,
4, /* Elements count */
&asn_SPC_EphemerisSubframe1Reserved_specs_1 /* Additional specs */
"EphemerisSubframe1Reserved",
"EphemerisSubframe1Reserved",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_EphemerisSubframe1Reserved_tags_1,
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1) /
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */
asn_DEF_EphemerisSubframe1Reserved_tags_1, /* Same as above */
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1) /
sizeof(asn_DEF_EphemerisSubframe1Reserved_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_EphemerisSubframe1Reserved_1,
4, /* Elements count */
&asn_SPC_EphemerisSubframe1Reserved_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _EphemerisSubframe1Reserved_H_
#define _EphemerisSubframe1Reserved_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,155 +1,166 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "ErrorCodes.h"
int
ErrorCodes_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
int ErrorCodes_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using ENUMERATED,
* so here we adjust the DEF accordingly.
*/
static void
ErrorCodes_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
static void ErrorCodes_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_ENUMERATED.free_struct;
td->print_struct = asn_DEF_ENUMERATED.print_struct;
td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
td->elements = asn_DEF_ENUMERATED.elements;
td->elements_count = asn_DEF_ENUMERATED.elements_count;
/* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined
* explicitly
*/
}
void
ErrorCodes_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void ErrorCodes_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ErrorCodes_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int ErrorCodes_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ErrorCodes_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t ErrorCodes_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr,
size_t size, int tag_mode)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
ErrorCodes_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t ErrorCodes_encode_der(asn_TYPE_descriptor_t *td, void *structure,
int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ErrorCodes_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t ErrorCodes_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
ErrorCodes_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t ErrorCodes_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ErrorCodes_decode_uper(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) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t ErrorCodes_decode_uper(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)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
ErrorCodes_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t ErrorCodes_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
ErrorCodes_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_ERROR_CODES_CONSTR_1 = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5} /* (0..5,...) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_INTEGER_enum_map_t asn_MAP_ErrorCodes_value2enum_1[] = {
{ 0, 9, "unDefined" },
{ 1, 15, "missingComponet" },
{ 2, 13, "incorrectData" },
{ 3, 27, "missingIEorComponentElement" },
{ 4, 15, "messageTooShort" },
{ 5, 21, "unknowReferenceNumber" }
/* This list is extensible */
{0, 9, "unDefined"},
{1, 15, "missingComponet"},
{2, 13, "incorrectData"},
{3, 27, "missingIEorComponentElement"},
{4, 15, "messageTooShort"},
{5, 21, "unknowReferenceNumber"}
/* This list is extensible */
};
static unsigned int asn_MAP_ErrorCodes_enum2value_1[] = {
2, /* incorrectData(2) */
4, /* messageTooShort(4) */
1, /* missingComponet(1) */
3, /* missingIEorComponentElement(3) */
0, /* unDefined(0) */
5 /* unknowReferenceNumber(5) */
/* This list is extensible */
2, /* incorrectData(2) */
4, /* messageTooShort(4) */
1, /* missingComponet(1) */
3, /* missingIEorComponentElement(3) */
0, /* unDefined(0) */
5 /* unknowReferenceNumber(5) */
/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_ErrorCodes_specs_1 = {
asn_MAP_ErrorCodes_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_ErrorCodes_enum2value_1, /* N => "tag"; sorted by N */
6, /* Number of elements in the maps */
7, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
};
asn_MAP_ErrorCodes_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_ErrorCodes_enum2value_1, /* N => "tag"; sorted by N */
6, /* Number of elements in the maps */
7, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0};
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 = {
"ErrorCodes",
"ErrorCodes",
ErrorCodes_free,
ErrorCodes_print,
ErrorCodes_constraint,
ErrorCodes_decode_ber,
ErrorCodes_encode_der,
ErrorCodes_decode_xer,
ErrorCodes_encode_xer,
ErrorCodes_decode_uper,
ErrorCodes_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ErrorCodes_tags_1,
sizeof(asn_DEF_ErrorCodes_tags_1)
/sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */
asn_DEF_ErrorCodes_tags_1, /* Same as above */
sizeof(asn_DEF_ErrorCodes_tags_1)
/sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ERROR_CODES_CONSTR_1,
0, 0, /* Defined elsewhere */
&asn_SPC_ErrorCodes_specs_1 /* Additional specs */
"ErrorCodes",
"ErrorCodes",
ErrorCodes_free,
ErrorCodes_print,
ErrorCodes_constraint,
ErrorCodes_decode_ber,
ErrorCodes_encode_der,
ErrorCodes_decode_xer,
ErrorCodes_encode_xer,
ErrorCodes_decode_uper,
ErrorCodes_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ErrorCodes_tags_1,
sizeof(asn_DEF_ErrorCodes_tags_1) /
sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */
asn_DEF_ErrorCodes_tags_1, /* Same as above */
sizeof(asn_DEF_ErrorCodes_tags_1) /
sizeof(asn_DEF_ErrorCodes_tags_1[0]), /* 1 */
&ASN_PER_TYPE_ERROR_CODES_CONSTR_1,
0,
0, /* Defined elsewhere */
&asn_SPC_ErrorCodes_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _ErrorCodes_H_
#define _ErrorCodes_H_
#include <asn_application.h>
/* Including external dependencies */
@ -28,8 +27,8 @@ extern "C"
ErrorCodes_messageTooShort = 4,
ErrorCodes_unknowReferenceNumber = 5
/*
* Enumeration is extensible
*/
* Enumeration is extensible
*/
} e_ErrorCodes;
/* ErrorCodes */

View File

@ -1,145 +1,167 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "ExpOTDUncertainty.h"
int
ExpOTDUncertainty_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 7)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int ExpOTDUncertainty_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 7))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
ExpOTDUncertainty_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void ExpOTDUncertainty_1_inherit_TYPE_descriptor(
asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
ExpOTDUncertainty_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void ExpOTDUncertainty_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ExpOTDUncertainty_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int ExpOTDUncertainty_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ExpOTDUncertainty_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t ExpOTDUncertainty_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
ExpOTDUncertainty_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t ExpOTDUncertainty_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode,
ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ExpOTDUncertainty_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t ExpOTDUncertainty_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure,
const char *opt_mname,
const void *bufptr, size_t size)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
ExpOTDUncertainty_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t ExpOTDUncertainty_encode_xer(asn_TYPE_descriptor_t *td,
void *structure, int ilevel,
enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ExpOTDUncertainty_decode_uper(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) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t ExpOTDUncertainty_decode_uper(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)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
ExpOTDUncertainty_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t ExpOTDUncertainty_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure,
asn_per_outp_t *per_out)
{
ExpOTDUncertainty_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_EXP_OTD_UNCERTAINTY_CONSTR_1 = {
{ APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 3, 3, 0, 7} /* (0..7) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"ExpOTDUncertainty",
"ExpOTDUncertainty",
ExpOTDUncertainty_free,
ExpOTDUncertainty_print,
ExpOTDUncertainty_constraint,
ExpOTDUncertainty_decode_ber,
ExpOTDUncertainty_encode_der,
ExpOTDUncertainty_decode_xer,
ExpOTDUncertainty_encode_xer,
ExpOTDUncertainty_decode_uper,
ExpOTDUncertainty_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExpOTDUncertainty_tags_1,
sizeof(asn_DEF_ExpOTDUncertainty_tags_1)
/sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */
asn_DEF_ExpOTDUncertainty_tags_1, /* Same as above */
sizeof(asn_DEF_ExpOTDUncertainty_tags_1)
/sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXP_OTD_UNCERTAINTY_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"ExpOTDUncertainty",
"ExpOTDUncertainty",
ExpOTDUncertainty_free,
ExpOTDUncertainty_print,
ExpOTDUncertainty_constraint,
ExpOTDUncertainty_decode_ber,
ExpOTDUncertainty_encode_der,
ExpOTDUncertainty_decode_xer,
ExpOTDUncertainty_encode_xer,
ExpOTDUncertainty_decode_uper,
ExpOTDUncertainty_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExpOTDUncertainty_tags_1,
sizeof(asn_DEF_ExpOTDUncertainty_tags_1) /
sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */
asn_DEF_ExpOTDUncertainty_tags_1, /* Same as above */
sizeof(asn_DEF_ExpOTDUncertainty_tags_1) /
sizeof(asn_DEF_ExpOTDUncertainty_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXP_OTD_UNCERTAINTY_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _ExpOTDUncertainty_H_
#define _ExpOTDUncertainty_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,145 +1,161 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "ExpectedOTD.h"
int
ExpectedOTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 1250)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int ExpectedOTD_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 1250))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
static void
ExpectedOTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
static void ExpectedOTD_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_NativeInteger.free_struct;
td->print_struct = asn_DEF_NativeInteger.print_struct;
td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
td->der_encoder = asn_DEF_NativeInteger.der_encoder;
td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_NativeInteger.per_constraints;
td->elements = asn_DEF_NativeInteger.elements;
td->elements_count = asn_DEF_NativeInteger.elements_count;
td->specifics = asn_DEF_NativeInteger.specifics;
}
void
ExpectedOTD_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void ExpectedOTD_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ExpectedOTD_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int ExpectedOTD_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ExpectedOTD_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t ExpectedOTD_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr,
size_t size, int tag_mode)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
ExpectedOTD_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t ExpectedOTD_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode,
ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ExpectedOTD_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t ExpectedOTD_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname,
const void *bufptr, size_t size)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
ExpectedOTD_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t ExpectedOTD_encode_xer(asn_TYPE_descriptor_t *td,
void *structure, int ilevel,
enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb,
void *app_key)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ExpectedOTD_decode_uper(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) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t ExpectedOTD_decode_uper(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)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
ExpectedOTD_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t ExpectedOTD_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
ExpectedOTD_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_EXPECTED_OTD_CONSTR_1 = {
{ APC_CONSTRAINED, 11, 11, 0, 1250 } /* (0..1250) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 11, 11, 0, 1250} /* (0..1250) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
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 = {
"ExpectedOTD",
"ExpectedOTD",
ExpectedOTD_free,
ExpectedOTD_print,
ExpectedOTD_constraint,
ExpectedOTD_decode_ber,
ExpectedOTD_encode_der,
ExpectedOTD_decode_xer,
ExpectedOTD_encode_xer,
ExpectedOTD_decode_uper,
ExpectedOTD_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExpectedOTD_tags_1,
sizeof(asn_DEF_ExpectedOTD_tags_1)
/sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */
asn_DEF_ExpectedOTD_tags_1, /* Same as above */
sizeof(asn_DEF_ExpectedOTD_tags_1)
/sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXPECTED_OTD_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"ExpectedOTD",
"ExpectedOTD",
ExpectedOTD_free,
ExpectedOTD_print,
ExpectedOTD_constraint,
ExpectedOTD_decode_ber,
ExpectedOTD_encode_der,
ExpectedOTD_decode_xer,
ExpectedOTD_encode_xer,
ExpectedOTD_decode_uper,
ExpectedOTD_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExpectedOTD_tags_1,
sizeof(asn_DEF_ExpectedOTD_tags_1) /
sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */
asn_DEF_ExpectedOTD_tags_1, /* Same as above */
sizeof(asn_DEF_ExpectedOTD_tags_1) /
sizeof(asn_DEF_ExpectedOTD_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXPECTED_OTD_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _ExpectedOTD_H_
#define _ExpectedOTD_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,146 +1,160 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "Ext-GeographicalInformation.h"
int
Ext_GeographicalInformation_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if((size >= 1 && size <= 20)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
int Ext_GeographicalInformation_constraint(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
size_t size;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
size = st->size;
if ((size >= 1 && size <= 20))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
/*
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
static void
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
td->elements = asn_DEF_OCTET_STRING.elements;
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
td->specifics = asn_DEF_OCTET_STRING.specifics;
static void Ext_GeographicalInformation_1_inherit_TYPE_descriptor(
asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_OCTET_STRING.free_struct;
td->print_struct = asn_DEF_OCTET_STRING.print_struct;
td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
td->elements = asn_DEF_OCTET_STRING.elements;
td->elements_count = asn_DEF_OCTET_STRING.elements_count;
td->specifics = asn_DEF_OCTET_STRING.specifics;
}
void
Ext_GeographicalInformation_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void Ext_GeographicalInformation_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
Ext_GeographicalInformation_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int Ext_GeographicalInformation_print(asn_TYPE_descriptor_t *td,
const void *struct_ptr, int ilevel,
asn_app_consume_bytes_f *cb,
void *app_key)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
Ext_GeographicalInformation_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t Ext_GeographicalInformation_decode_ber(
asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **structure,
const void *bufptr, size_t size, int tag_mode)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
Ext_GeographicalInformation_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t Ext_GeographicalInformation_encode_der(
asn_TYPE_descriptor_t *td, void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
Ext_GeographicalInformation_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t Ext_GeographicalInformation_decode_xer(
asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **structure,
const char *opt_mname, const void *bufptr, size_t size)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
Ext_GeographicalInformation_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t Ext_GeographicalInformation_encode_xer(
asn_TYPE_descriptor_t *td, void *structure, int ilevel,
enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
Ext_GeographicalInformation_decode_uper(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) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t Ext_GeographicalInformation_decode_uper(
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)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
Ext_GeographicalInformation_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t Ext_GeographicalInformation_encode_uper(
asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
Ext_GeographicalInformation_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
static asn_per_constraints_t ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1 = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 5, 5, 1, 20 } /* (SIZE(1..20)) */,
0, 0 /* No PER value map */
static asn_per_constraints_t
ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1 = {
{APC_UNCONSTRAINED, -1, -1, 0, 0},
{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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))};
asn_TYPE_descriptor_t asn_DEF_Ext_GeographicalInformation = {
"Ext-GeographicalInformation",
"Ext-GeographicalInformation",
Ext_GeographicalInformation_free,
Ext_GeographicalInformation_print,
Ext_GeographicalInformation_constraint,
Ext_GeographicalInformation_decode_ber,
Ext_GeographicalInformation_encode_der,
Ext_GeographicalInformation_decode_xer,
Ext_GeographicalInformation_encode_xer,
Ext_GeographicalInformation_decode_uper,
Ext_GeographicalInformation_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Ext_GeographicalInformation_tags_1,
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1)
/sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */
asn_DEF_Ext_GeographicalInformation_tags_1, /* Same as above */
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1)
/sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1,
0, 0, /* No members */
0 /* No specifics */
"Ext-GeographicalInformation",
"Ext-GeographicalInformation",
Ext_GeographicalInformation_free,
Ext_GeographicalInformation_print,
Ext_GeographicalInformation_constraint,
Ext_GeographicalInformation_decode_ber,
Ext_GeographicalInformation_encode_der,
Ext_GeographicalInformation_decode_xer,
Ext_GeographicalInformation_encode_xer,
Ext_GeographicalInformation_decode_uper,
Ext_GeographicalInformation_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Ext_GeographicalInformation_tags_1,
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1) /
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */
asn_DEF_Ext_GeographicalInformation_tags_1, /* Same as above */
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1) /
sizeof(asn_DEF_Ext_GeographicalInformation_tags_1[0]), /* 1 */
&ASN_PER_TYPE_EXT_GEOGRAPHICAL_INFORMATION_CONSTR_1,
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _Ext_GeographicalInformation_H_
#define _Ext_GeographicalInformation_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,129 +1,128 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "Extended-reference.h"
static int
memb_smlc_code_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 63)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_smlc_code_constraint_1(asn_TYPE_descriptor_t *td,
const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 63))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static int
memb_transaction_ID_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
long value;
if(!sptr) {
_ASN_CTFAIL(app_key, td, sptr,
"%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if((value >= 0 && value <= 262143)) {
/* Constraint check succeeded */
return 0;
} else {
_ASN_CTFAIL(app_key, td, sptr,
"%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
static int memb_transaction_ID_constraint_1(
asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key)
{
long value;
if (!sptr)
{
_ASN_CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
value = *(const long *)sptr;
if ((value >= 0 && value <= 262143))
{
/* Constraint check succeeded */
return 0;
}
else
{
_ASN_CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)",
td->name, __FILE__, __LINE__);
return -1;
}
}
static asn_per_constraints_t ASN_PER_MEMB_SMLC_CODE_CONSTR_2 = {
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 6, 6, 0, 63} /* (0..63) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_per_constraints_t ASN_PER_MEMB_TRANSACTION_ID_CONSTR_3 = {
{ APC_CONSTRAINED, 18, -1, 0, 262143 } /* (0..262143) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
{APC_CONSTRAINED, 18, -1, 0, 262143} /* (0..262143) */,
{APC_UNCONSTRAINED, -1, -1, 0, 0},
0,
0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_Extended_reference_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Extended_reference, smlc_code),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
memb_smlc_code_constraint_1,
&ASN_PER_MEMB_SMLC_CODE_CONSTR_2,
0,
"smlc-code"
},
{ 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"
},
{ATF_NOFLAGS, 0, offsetof(struct Extended_reference, smlc_code),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger, memb_smlc_code_constraint_1,
&ASN_PER_MEMB_SMLC_CODE_CONSTR_2, 0, "smlc-code"},
{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[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};
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 | (1 << 2)), 1, 0, 0 } /* transaction-ID at 1000 */
{(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 */
};
static asn_SEQUENCE_specifics_t asn_SPC_Extended_reference_specs_1 = {
sizeof(struct Extended_reference),
offsetof(struct Extended_reference, _asn_ctx),
asn_MAP_Extended_reference_tag2el_1,
2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
sizeof(struct Extended_reference),
offsetof(struct Extended_reference, _asn_ctx),
asn_MAP_Extended_reference_tag2el_1,
2, /* Count of tags in the map */
0,
0,
0, /* Optional elements (not needed) */
-1, /* Start extensions */
-1 /* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_Extended_reference = {
"Extended-reference",
"Extended-reference",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Extended_reference_tags_1,
sizeof(asn_DEF_Extended_reference_tags_1)
/sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */
asn_DEF_Extended_reference_tags_1, /* Same as above */
sizeof(asn_DEF_Extended_reference_tags_1)
/sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Extended_reference_1,
2, /* Elements count */
&asn_SPC_Extended_reference_specs_1 /* Additional specs */
"Extended-reference",
"Extended-reference",
SEQUENCE_free,
SEQUENCE_print,
SEQUENCE_constraint,
SEQUENCE_decode_ber,
SEQUENCE_encode_der,
SEQUENCE_decode_xer,
SEQUENCE_encode_xer,
SEQUENCE_decode_uper,
SEQUENCE_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_Extended_reference_tags_1,
sizeof(asn_DEF_Extended_reference_tags_1) /
sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */
asn_DEF_Extended_reference_tags_1, /* Same as above */
sizeof(asn_DEF_Extended_reference_tags_1) /
sizeof(asn_DEF_Extended_reference_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
asn_MBR_Extended_reference_1,
2, /* Elements count */
&asn_SPC_Extended_reference_specs_1 /* Additional specs */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _Extended_reference_H_
#define _Extended_reference_H_
#include <asn_application.h>
/* Including external dependencies */

View File

@ -1,123 +1,140 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#include "ExtensionContainer.h"
int
ExtensionContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_INTEGER.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
int ExtensionContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb,
void *app_key)
{
/* Replace with underlying type checker */
td->check_constraints = asn_DEF_INTEGER.check_constraints;
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
/*
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
static void
ExtensionContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
td->free_struct = asn_DEF_INTEGER.free_struct;
td->print_struct = asn_DEF_INTEGER.print_struct;
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
td->der_encoder = asn_DEF_INTEGER.der_encoder;
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
if(!td->per_constraints)
td->per_constraints = asn_DEF_INTEGER.per_constraints;
td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn_DEF_INTEGER.specifics;
static void ExtensionContainer_1_inherit_TYPE_descriptor(
asn_TYPE_descriptor_t *td)
{
td->free_struct = asn_DEF_INTEGER.free_struct;
td->print_struct = asn_DEF_INTEGER.print_struct;
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
td->der_encoder = asn_DEF_INTEGER.der_encoder;
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
td->uper_decoder = asn_DEF_INTEGER.uper_decoder;
td->uper_encoder = asn_DEF_INTEGER.uper_encoder;
if (!td->per_constraints)
td->per_constraints = asn_DEF_INTEGER.per_constraints;
td->elements = asn_DEF_INTEGER.elements;
td->elements_count = asn_DEF_INTEGER.elements_count;
td->specifics = asn_DEF_INTEGER.specifics;
}
void
ExtensionContainer_free(asn_TYPE_descriptor_t *td,
void *struct_ptr, int contents_only) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
void ExtensionContainer_free(asn_TYPE_descriptor_t *td, void *struct_ptr,
int contents_only)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
td->free_struct(td, struct_ptr, contents_only);
}
int
ExtensionContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
int ExtensionContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
int ilevel, asn_app_consume_bytes_f *cb,
void *app_key)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}
asn_dec_rval_t
ExtensionContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const void *bufptr, size_t size, int tag_mode) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
asn_dec_rval_t ExtensionContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure,
const void *bufptr, size_t size,
int tag_mode)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size,
tag_mode);
}
asn_enc_rval_t
ExtensionContainer_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode, ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb, void *app_key) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
asn_enc_rval_t ExtensionContainer_encode_der(asn_TYPE_descriptor_t *td,
void *structure, int tag_mode,
ber_tlv_tag_t tag,
asn_app_consume_bytes_f *cb,
void *app_key)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}
asn_dec_rval_t
ExtensionContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
asn_dec_rval_t ExtensionContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx,
asn_TYPE_descriptor_t *td,
void **structure,
const char *opt_mname,
const void *bufptr, size_t size)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr,
size);
}
asn_enc_rval_t
ExtensionContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
int ilevel, enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb, void *app_key) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
asn_enc_rval_t ExtensionContainer_encode_xer(asn_TYPE_descriptor_t *td,
void *structure, int ilevel,
enum xer_encoder_flags_e flags,
asn_app_consume_bytes_f *cb,
void *app_key)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}
asn_dec_rval_t
ExtensionContainer_decode_uper(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) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
asn_dec_rval_t ExtensionContainer_decode_uper(
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)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->uper_decoder(opt_codec_ctx, td, constraints, structure,
per_data);
}
asn_enc_rval_t
ExtensionContainer_encode_uper(asn_TYPE_descriptor_t *td,
asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out) {
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
asn_enc_rval_t ExtensionContainer_encode_uper(
asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
void *structure, asn_per_outp_t *per_out)
{
ExtensionContainer_1_inherit_TYPE_descriptor(td);
return td->uper_encoder(td, constraints, structure, per_out);
}
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 = {
"ExtensionContainer",
"ExtensionContainer",
ExtensionContainer_free,
ExtensionContainer_print,
ExtensionContainer_constraint,
ExtensionContainer_decode_ber,
ExtensionContainer_encode_der,
ExtensionContainer_decode_xer,
ExtensionContainer_encode_xer,
ExtensionContainer_decode_uper,
ExtensionContainer_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExtensionContainer_tags_1,
sizeof(asn_DEF_ExtensionContainer_tags_1)
/sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */
asn_DEF_ExtensionContainer_tags_1, /* Same as above */
sizeof(asn_DEF_ExtensionContainer_tags_1)
/sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
"ExtensionContainer",
"ExtensionContainer",
ExtensionContainer_free,
ExtensionContainer_print,
ExtensionContainer_constraint,
ExtensionContainer_decode_ber,
ExtensionContainer_encode_der,
ExtensionContainer_decode_xer,
ExtensionContainer_encode_xer,
ExtensionContainer_decode_uper,
ExtensionContainer_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_ExtensionContainer_tags_1,
sizeof(asn_DEF_ExtensionContainer_tags_1) /
sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */
asn_DEF_ExtensionContainer_tags_1, /* Same as above */
sizeof(asn_DEF_ExtensionContainer_tags_1) /
sizeof(asn_DEF_ExtensionContainer_tags_1[0]), /* 1 */
0, /* No PER visible constraints */
0,
0, /* No members */
0 /* No specifics */
};

View File

@ -1,13 +1,12 @@
/*
* Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
* From ASN.1 module "RRLP-Components"
* found in "../rrlp-components.asn"
* found in "../rrlp-components.asn"
*/
#ifndef _ExtensionContainer_H_
#define _ExtensionContainer_H_
#include <asn_application.h>
/* Including external dependencies */

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