Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but that tree was gitignored, so a clone of this repository could not build the firmware it ships. It is now committed here as ordinary files in its own folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP bridge's signature verification (--trust) used on the bench. Nothing is fetched from or pushed to the colleague's repository; this repository and its remotes carry everything. The folder's own .gitignore keeps build output, downloaded components and private key material out, as it did there; the committed file set is identical to that repository's tracked files. The ESP32-C5 is still flashed from obu-firmware/, which only takes vanetza-idf from microbu-esp32c5/, so the two stay separate folders. FLASHING.md says how to take a newer version of the colleague's tree (copy it over the folder, rebuild, test, commit).
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
set(CXX_SOURCES
|
||||
access_category.cpp
|
||||
data_rates.cpp
|
||||
g5_link_layer.cpp
|
||||
)
|
||||
add_vanetza_component(access ${CXX_SOURCES})
|
||||
target_link_libraries(access PUBLIC net)
|
||||
|
||||
add_test_subdirectory(tests)
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
#include <vanetza/access/access_category.hpp>
|
||||
#include <iostream>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, AccessCategory ac)
|
||||
{
|
||||
switch (ac) {
|
||||
case AccessCategory::BK:
|
||||
os << "AC_BK";
|
||||
break;
|
||||
case AccessCategory::BE:
|
||||
os << "AC_BE";
|
||||
break;
|
||||
case AccessCategory::VI:
|
||||
os << "AC_VI";
|
||||
break;
|
||||
case AccessCategory::VO:
|
||||
os << "AC_VO";
|
||||
break;
|
||||
default:
|
||||
os << "<unknown AC>";
|
||||
break;
|
||||
};
|
||||
return os;
|
||||
}
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#ifndef ACCESS_CATEGORY_HPP_QAWSOPED
|
||||
#define ACCESS_CATEGORY_HPP_QAWSOPED
|
||||
|
||||
#include <cstdint>
|
||||
#include <iosfwd>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
/**
|
||||
* \enum AccessCategory
|
||||
* \brief AccessCategory represents packet priority at link layer
|
||||
*
|
||||
* Each enumerator's value matches the user priority UP (802.1D)
|
||||
* of the respective access category AC (802.11).
|
||||
*
|
||||
* See ETSI EN 302 663 V1.2.1 (2013-07), Table B.3
|
||||
*/
|
||||
enum class AccessCategory {
|
||||
BK = 1, //!< Background (lowest priority)
|
||||
BE = 3, //!< Best effort
|
||||
VI = 5, //!< Video
|
||||
VO = 7 //!< Voice (highest priority)
|
||||
}; /**< \enum */
|
||||
|
||||
std::ostream& operator<<(std::ostream&, AccessCategory);
|
||||
|
||||
constexpr std::uint8_t user_priority(AccessCategory ac)
|
||||
{
|
||||
return static_cast<std::uint8_t>(ac) & 0x7;
|
||||
}
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* ACCESS_CATEGORY_HPP_QAWSOPED */
|
||||
@@ -0,0 +1,25 @@
|
||||
#include "data_rates.hpp"
|
||||
#include <cassert>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
std::size_t DataRateG5::data_length(std::size_t psdu) const
|
||||
{
|
||||
static const unsigned service_bits = 16;
|
||||
static const unsigned tail_bits = 6;
|
||||
|
||||
const unsigned body = service_bits + tail_bits + psdu * 8;
|
||||
unsigned padding = body % m_coded_bits_per_symbol;
|
||||
if (padding > 0) {
|
||||
padding = m_coded_bits_per_symbol - padding;
|
||||
}
|
||||
|
||||
assert((body + padding) % 8 == 0);
|
||||
return (body + padding) / 8;
|
||||
}
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
@@ -0,0 +1,54 @@
|
||||
#ifndef DATA_RATES_802DOT11P_HPP_SL3RZPZO
|
||||
#define DATA_RATES_802DOT11P_HPP_SL3RZPZO
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
class DataRateG5
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Create data rate for ITS-G5 band
|
||||
* \param kbps kilo-bits per second transfer rate
|
||||
* \param cbits number of coded bits per symbol
|
||||
*/
|
||||
constexpr DataRateG5(unsigned kbps, unsigned cbits) :
|
||||
m_bytes_per_second(kbps * 1000 / 8),
|
||||
m_coded_bits_per_symbol(cbits) {}
|
||||
|
||||
/**
|
||||
* Get tranfer rate as number of bytes per second
|
||||
* \return transfer rate
|
||||
*/
|
||||
unsigned bytes_per_second() const { return m_bytes_per_second; }
|
||||
|
||||
/**
|
||||
* Calculate length of PHY data length
|
||||
* \param psdu size of PSDU, i.e. MPDU (MAC header + payload)
|
||||
* \return length in bytes
|
||||
*/
|
||||
std::size_t data_length(std::size_t psdu) const;
|
||||
|
||||
private:
|
||||
unsigned m_bytes_per_second;
|
||||
unsigned m_coded_bits_per_symbol;
|
||||
};
|
||||
|
||||
static const DataRateG5 G5_3Mbps { 3000, 48 };
|
||||
static const DataRateG5 G5_4dot5Mbps { 4500, 48 };
|
||||
static const DataRateG5 G5_6Mbps { 6000, 96 };
|
||||
static const DataRateG5 G5_9Mbps { 9000, 96 };
|
||||
static const DataRateG5 G5_12Mbps { 12000, 192 };
|
||||
static const DataRateG5 G5_18bps { 18000, 192 };
|
||||
static const DataRateG5 G5_24Mbps { 24000, 288 };
|
||||
static const DataRateG5 G5_27Mbps { 27000, 288 };
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* DATA_RATES_802DOT11P_HPP_SL3RZPZO */
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef DATA_REQUEST_HPP_3OGGPFWF
|
||||
#define DATA_REQUEST_HPP_3OGGPFWF
|
||||
|
||||
#include <vanetza/access/access_category.hpp>
|
||||
#include <vanetza/common/byte_order.hpp>
|
||||
#include <vanetza/net/mac_address.hpp>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
struct DataRequest
|
||||
{
|
||||
DataRequest() : access_category(AccessCategory::BK) {}
|
||||
|
||||
uint16be_t ether_type;
|
||||
MacAddress source_addr;
|
||||
MacAddress destination_addr;
|
||||
AccessCategory access_category;
|
||||
};
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* DATA_REQUEST_HPP_3OGGPFWF */
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef ETHERTYPE_HPP_ED3SIJFX
|
||||
#define ETHERTYPE_HPP_ED3SIJFX
|
||||
|
||||
#include <vanetza/common/byte_order.hpp>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
using EtherType = uint16be_t;
|
||||
|
||||
namespace ethertype
|
||||
{
|
||||
|
||||
static const EtherType GeoNetworking = host_cast<uint16_t>(0x8947);
|
||||
static const EtherType WSMP = host_cast<uint16_t>(0x88DC);
|
||||
|
||||
} // namespace ethertype
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* ETHERTYPE_HPP_ED3SIJFX */
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
#include <vanetza/access/g5_link_layer.hpp>
|
||||
#include <vanetza/access/ethertype.hpp>
|
||||
#include <cstring>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
static const ieee802::LlcSnapHeader default_llc_header { ethertype::GeoNetworking };
|
||||
|
||||
G5LinkLayer::G5LinkLayer() :
|
||||
llc_snap_header(default_llc_header)
|
||||
{
|
||||
}
|
||||
|
||||
void serialize(OutputArchive& ar, const G5LinkLayer& g5)
|
||||
{
|
||||
serialize(ar, g5.mac_header);
|
||||
serialize(ar, g5.llc_snap_header);
|
||||
}
|
||||
|
||||
void deserialize(InputArchive& ar, G5LinkLayer& g5)
|
||||
{
|
||||
deserialize(ar, g5.mac_header);
|
||||
deserialize(ar, g5.llc_snap_header);
|
||||
}
|
||||
|
||||
bool check_fixed_fields(const G5LinkLayer& link_layer)
|
||||
{
|
||||
static const auto default_frame_control = ieee802::dot11::FrameControl::qos_data_frame();
|
||||
static const ieee802::dot11::QosControl default_qos_control;
|
||||
|
||||
// all frame control flags are fixed for now
|
||||
static const std::uint16_t frame_control_fixed = 0xFFFF;
|
||||
|
||||
// EOSP + A-MSDU + TXOP limit fixed, TID (LSB part = UP) and Ack policy are variable
|
||||
static const std::uint16_t qos_control_fixed = 0xFF98;
|
||||
|
||||
const ieee802::dot11::QosDataHeader& mac = link_layer.mac_header;
|
||||
const bool frame_control_ok =
|
||||
(mac.frame_control.raw.get() & frame_control_fixed) == (default_frame_control.raw.get() & frame_control_fixed);
|
||||
const bool qos_control_ok =
|
||||
(mac.qos_control.raw.get() & qos_control_fixed) == (default_qos_control.raw.get() & qos_control_fixed);
|
||||
return frame_control_ok && qos_control_ok &&
|
||||
mac.sequence_control.fragment_number() == 0 &&
|
||||
mac.bssid == ieee802::dot11::bssid_wildcard &&
|
||||
link_layer.llc_snap_header == default_llc_header;
|
||||
}
|
||||
|
||||
namespace ieee802
|
||||
{
|
||||
namespace dot11
|
||||
{
|
||||
|
||||
// Operation outside of a BSS, must be set to wildcard (all bits 1)
|
||||
const MacAddress bssid_wildcard = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
|
||||
|
||||
void QosControl::user_priority(AccessCategory access_category)
|
||||
{
|
||||
std::uint16_t tmp = raw.get();
|
||||
tmp &= ~0x000F; // clear all TID bits
|
||||
tmp |= static_cast<std::uint16_t>(access_category) & 0x07;
|
||||
raw = static_cast<uint16be_t>(tmp);
|
||||
}
|
||||
|
||||
FrameControl FrameControl::qos_data_frame()
|
||||
{
|
||||
FrameControl frame_control;
|
||||
frame_control.raw = host_cast<std::uint16_t>(0x8800);
|
||||
return frame_control;
|
||||
}
|
||||
|
||||
void serialize(OutputArchive& ar, const QosDataHeader& mac)
|
||||
{
|
||||
serialize(ar, mac.frame_control.raw);
|
||||
serialize(ar, mac.duration_or_id);
|
||||
serialize(ar, mac.destination);
|
||||
serialize(ar, mac.source);
|
||||
serialize(ar, mac.bssid);
|
||||
serialize(ar, mac.sequence_control.raw);
|
||||
serialize(ar, mac.qos_control.raw);
|
||||
}
|
||||
|
||||
void deserialize(InputArchive& ar, QosDataHeader& mac)
|
||||
{
|
||||
deserialize(ar, mac.frame_control.raw);
|
||||
deserialize(ar, mac.duration_or_id);
|
||||
deserialize(ar, mac.destination);
|
||||
deserialize(ar, mac.source);
|
||||
deserialize(ar, mac.bssid);
|
||||
deserialize(ar, mac.sequence_control.raw);
|
||||
deserialize(ar, mac.qos_control.raw);
|
||||
}
|
||||
|
||||
} // namespace dot11
|
||||
|
||||
void serialize(OutputArchive& ar, const LlcSnapHeader& snap)
|
||||
{
|
||||
serialize(ar, snap.dsap);
|
||||
serialize(ar, snap.ssap);
|
||||
serialize(ar, snap.control);
|
||||
for (std::uint8_t byte : snap.oui) {
|
||||
ar << byte;
|
||||
}
|
||||
serialize(ar, snap.protocol_id);
|
||||
}
|
||||
|
||||
void deserialize(InputArchive& ar, LlcSnapHeader& snap)
|
||||
{
|
||||
deserialize(ar, snap.dsap);
|
||||
deserialize(ar, snap.ssap);
|
||||
deserialize(ar, snap.control);
|
||||
for (std::uint8_t& byte : snap.oui) {
|
||||
ar >> byte;
|
||||
}
|
||||
deserialize(ar, snap.protocol_id);
|
||||
}
|
||||
|
||||
bool operator==(const LlcSnapHeader& a, const LlcSnapHeader& b)
|
||||
{
|
||||
return a.dsap == b.dsap && a.ssap == b.ssap && a.control == b.control &&
|
||||
a.oui == b.oui && a.protocol_id == b.protocol_id;
|
||||
}
|
||||
|
||||
bool operator!=(const LlcSnapHeader& a, const LlcSnapHeader& b)
|
||||
{
|
||||
return !(a == b);
|
||||
}
|
||||
|
||||
} // namespace ieee802
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
@@ -0,0 +1,164 @@
|
||||
#ifndef G5_LINK_LAYER_HPP_CESAPUOW
|
||||
#define G5_LINK_LAYER_HPP_CESAPUOW
|
||||
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
#include <vanetza/access/access_category.hpp>
|
||||
#include <vanetza/common/bit_number.hpp>
|
||||
#include <vanetza/common/byte_order.hpp>
|
||||
#include <vanetza/common/serialization.hpp>
|
||||
#include <vanetza/net/mac_address.hpp>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
namespace ieee802
|
||||
{
|
||||
namespace dot11
|
||||
{
|
||||
|
||||
/**
|
||||
* \brief QoS Control field in IEEE 802.11 MAC header.
|
||||
*/
|
||||
struct QosControl
|
||||
{
|
||||
vanetza::uint16be_t raw { 0 };
|
||||
|
||||
/**
|
||||
* Set user priority by access category
|
||||
* \param ac map this AccessCategory to user priority
|
||||
*/
|
||||
void user_priority(AccessCategory ac);
|
||||
};
|
||||
|
||||
/**
|
||||
* \brief Frame Control field in IEEE 802.11 MAC header
|
||||
*/
|
||||
struct FrameControl
|
||||
{
|
||||
vanetza::uint16be_t raw { 0 };
|
||||
|
||||
using Protocol = BitNumber<std::uint16_t, 2>; /**< represents protocol version */
|
||||
using Type = BitNumber<std::uint16_t, 2>;
|
||||
using SubType = BitNumber<std::uint16_t, 4>;
|
||||
|
||||
Protocol protocol() const { return Protocol(raw.get()); }
|
||||
Type type() const { return Type(raw.get() >> 2); }
|
||||
SubType sub_type() const { return SubType(raw.get() >> 4); }
|
||||
bool to_ds() const { return raw.get() & 0x0100; }
|
||||
bool from_ds() const { return raw.get() & 0x0200; }
|
||||
bool more_fragments() const { return raw.get() & 0x0400; }
|
||||
bool retry() const { return raw.get() & 0x0800; }
|
||||
|
||||
/**
|
||||
* Create frame control for QoS data frame without any flags
|
||||
* \return FrameControl field for QoS data frame
|
||||
**/
|
||||
static FrameControl qos_data_frame();
|
||||
};
|
||||
|
||||
/**
|
||||
* \brief Sequence Control field in IEEE 802.11 MAC header
|
||||
*/
|
||||
struct SequenceControl
|
||||
{
|
||||
vanetza::uint16be_t raw { 0 };
|
||||
|
||||
using SequenceNumber = BitNumber<std::uint16_t, 12>;
|
||||
using FragmentNumber = BitNumber<std::uint16_t, 4>;
|
||||
|
||||
SequenceNumber sequence_number() const
|
||||
{
|
||||
return SequenceNumber(raw.get() >> 4);
|
||||
}
|
||||
|
||||
FragmentNumber fragment_number() const
|
||||
{
|
||||
return FragmentNumber(raw.get());
|
||||
}
|
||||
};
|
||||
|
||||
/** MAC address representing the BSSID wildcard (all bits set) */
|
||||
extern const MacAddress bssid_wildcard;
|
||||
|
||||
/**
|
||||
* \brief MAC header of QoS data frames
|
||||
*/
|
||||
struct QosDataHeader
|
||||
{
|
||||
FrameControl frame_control = FrameControl::qos_data_frame();
|
||||
uint16be_t duration_or_id;
|
||||
MacAddress destination;
|
||||
MacAddress source;
|
||||
MacAddress bssid = bssid_wildcard;
|
||||
SequenceControl sequence_control;
|
||||
QosControl qos_control;
|
||||
|
||||
/** length of serialized QoSDataHeader in bytes */
|
||||
static constexpr std::size_t length_bytes = 26;
|
||||
};
|
||||
|
||||
/** length of frame check sequence in bytes */
|
||||
static constexpr std::size_t fcs_length_bytes = 4;
|
||||
|
||||
void serialize(OutputArchive&, const QosDataHeader&);
|
||||
void deserialize(InputArchive&, QosDataHeader&);
|
||||
|
||||
} // namespace dot11
|
||||
|
||||
/**
|
||||
* \brief Logical Link Control header with SNAP extension
|
||||
*/
|
||||
struct LlcSnapHeader
|
||||
{
|
||||
std::uint8_t dsap = 0xAA;
|
||||
std::uint8_t ssap = 0xAA;
|
||||
std::uint8_t control = 0x03;
|
||||
std::array<std::uint8_t, 3> oui = {{ 0x00, 0x00, 0x00 }};
|
||||
uint16be_t protocol_id;
|
||||
|
||||
LlcSnapHeader(uint16be_t protocol_id) : protocol_id(protocol_id) {}
|
||||
|
||||
static constexpr std::size_t length_bytes = 8;
|
||||
};
|
||||
|
||||
bool operator==(const LlcSnapHeader&, const LlcSnapHeader&);
|
||||
bool operator!=(const LlcSnapHeader&, const LlcSnapHeader&);
|
||||
|
||||
void serialize(OutputArchive&, const LlcSnapHeader&);
|
||||
void deserialize(InputArchive&, LlcSnapHeader&);
|
||||
|
||||
} // namespace ieee802
|
||||
|
||||
/**
|
||||
* \brief Link layer header used by ITS-G5 stations
|
||||
*/
|
||||
struct G5LinkLayer
|
||||
{
|
||||
ieee802::dot11::QosDataHeader mac_header;
|
||||
ieee802::LlcSnapHeader llc_snap_header;
|
||||
|
||||
G5LinkLayer();
|
||||
|
||||
static constexpr std::size_t length_bytes =
|
||||
ieee802::dot11::QosDataHeader::length_bytes +
|
||||
ieee802::LlcSnapHeader::length_bytes;
|
||||
};
|
||||
|
||||
void serialize(OutputArchive&, const G5LinkLayer&);
|
||||
void deserialize(InputArchive&, G5LinkLayer&);
|
||||
|
||||
/**
|
||||
* \brief Check whether some link layer header fields contain their expected values.
|
||||
* For most explicitly initialized link layer header fields, their (default) value is expected in received frames.
|
||||
*
|
||||
* \param link_layer G5LinkLayer to check
|
||||
* \return whether all fields are set as expected
|
||||
*/
|
||||
bool check_fixed_fields(const G5LinkLayer& link_layer);
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* G5_LINK_LAYER_HPP_CESAPUOW */
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef INTERFACE_HPP_EUPJ90MD
|
||||
#define INTERFACE_HPP_EUPJ90MD
|
||||
|
||||
#include <vanetza/net/chunk_packet.hpp>
|
||||
#include <memory>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
struct DataRequest;
|
||||
|
||||
class Interface
|
||||
{
|
||||
public:
|
||||
virtual void request(const DataRequest&, std::unique_ptr<ChunkPacket>) = 0;
|
||||
virtual ~Interface() {}
|
||||
};
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* INTERFACE_HPP_EUPJ90MD */
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include <vanetza/access/access_category.hpp>
|
||||
#include <cstdint>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace access
|
||||
{
|
||||
|
||||
/**
|
||||
* \brief map access category to PPPP for C-V2X
|
||||
*
|
||||
* Mapping is according to EN 303 613 V1.1.1 Table B.7
|
||||
*
|
||||
* \param ac access category from 802.11
|
||||
* \return matching PPPP value
|
||||
*/
|
||||
constexpr std::uint8_t pppp_from_ac(AccessCategory ac)
|
||||
{
|
||||
switch (ac) {
|
||||
case AccessCategory::VO:
|
||||
return 2;
|
||||
case AccessCategory::VI:
|
||||
return 4;
|
||||
case AccessCategory::BE:
|
||||
return 5;
|
||||
case AccessCategory::BK:
|
||||
default:
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace access
|
||||
} // namespace vanetza
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
include(UseGTest)
|
||||
configure_gtest_directory(LINK_LIBRARIES access)
|
||||
|
||||
add_gtest(DataRates data_rates.cpp)
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <vanetza/access/data_rates.hpp>
|
||||
|
||||
using namespace vanetza::access;
|
||||
|
||||
TEST(DataRates, bytes_per_second)
|
||||
{
|
||||
EXPECT_EQ(G5_3Mbps.bytes_per_second(), 3 * 1000 * 1000 / 8);
|
||||
EXPECT_EQ(G5_6Mbps.bytes_per_second(), 6 * 1000 * 1000 / 8);
|
||||
EXPECT_EQ(G5_12Mbps.bytes_per_second(), 12 * 1000 * 1000 / 8);
|
||||
}
|
||||
|
||||
TEST(DataRates, data_length)
|
||||
{
|
||||
const std::size_t psdu_bytes = 385;
|
||||
const std::size_t data_bytes = G5_6Mbps.data_length(psdu_bytes);
|
||||
EXPECT_GE(data_bytes, psdu_bytes);
|
||||
EXPECT_LT(data_bytes, psdu_bytes + 12);
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef COHDA_HPP_CCA3HKJO
|
||||
#define COHDA_HPP_CCA3HKJO
|
||||
|
||||
#include <vanetza/asio/linklayer_endpoint.hpp>
|
||||
#include <boost/asio/basic_raw_socket.hpp>
|
||||
#include <linux/if_ether.h>
|
||||
#include <net/if.h>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace asio
|
||||
{
|
||||
|
||||
class cohda
|
||||
{
|
||||
public:
|
||||
typedef linklayer_endpoint<cohda> endpoint;
|
||||
typedef boost::asio::basic_raw_socket<cohda> socket;
|
||||
|
||||
static cohda wave_raw()
|
||||
{
|
||||
return cohda("wave-raw", ETH_P_ALL);
|
||||
}
|
||||
|
||||
explicit cohda() : m_protocol(ETH_P_ALL), m_ifidx(0) {}
|
||||
|
||||
int type() const { return SOCK_RAW; }
|
||||
int family() const { return PF_PACKET; }
|
||||
int protocol() const { return m_protocol; }
|
||||
int interface_index() const { return m_ifidx; }
|
||||
|
||||
private:
|
||||
explicit cohda(const char* if_name, int proto) :
|
||||
m_protocol(proto), m_ifidx(if_nametoindex(if_name)) {}
|
||||
|
||||
int m_protocol; /*< ethernet protocol number */
|
||||
int m_ifidx; /*< network interface card number */
|
||||
};
|
||||
|
||||
} // namespace asio
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* COHDA_HPP_CCA3HKJO */
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
#ifndef LINKLAYER_ENDPOINT_HPP_DMNJI8U6
|
||||
#define LINKLAYER_ENDPOINT_HPP_DMNJI8U6
|
||||
|
||||
#include <boost/asio/detail/socket_ops.hpp>
|
||||
#include <boost/asio/detail/socket_types.hpp>
|
||||
#include <netpacket/packet.h>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace asio
|
||||
{
|
||||
|
||||
template<typename Protocol>
|
||||
class linklayer_endpoint
|
||||
{
|
||||
public:
|
||||
typedef boost::asio::detail::socket_addr_type sockaddr_type;
|
||||
typedef sockaddr_ll sockaddr_ll_type;
|
||||
|
||||
linklayer_endpoint() : m_data() {
|
||||
Protocol protocol;
|
||||
m_data.link.sll_family = protocol.family();
|
||||
m_data.link.sll_protocol = boost::asio::detail::socket_ops::host_to_network_short(protocol.protocol());
|
||||
m_data.link.sll_ifindex = protocol.interface_index();
|
||||
}
|
||||
|
||||
linklayer_endpoint(const Protocol& protocol) : m_data() {
|
||||
m_data.link.sll_family = protocol.family();
|
||||
m_data.link.sll_protocol = boost::asio::detail::socket_ops::host_to_network_short(protocol.protocol());
|
||||
m_data.link.sll_ifindex = protocol.interface_index();
|
||||
}
|
||||
|
||||
const sockaddr_type* data() const
|
||||
{
|
||||
return &m_data.base;
|
||||
}
|
||||
|
||||
std::size_t size() const
|
||||
{
|
||||
return sizeof(sockaddr_ll_type);
|
||||
}
|
||||
|
||||
Protocol protocol() const { return Protocol(); }
|
||||
|
||||
private:
|
||||
union data_union {
|
||||
sockaddr_type base;
|
||||
sockaddr_ll_type link;
|
||||
} m_data;
|
||||
};
|
||||
|
||||
} // namespace asio
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* LINKLAYER_ENDPOINT_HPP_DMNJI8U6 */
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
ITS_ASN1.r*.tar.gz
|
||||
ITS_ASN1-releases.r*.tar.gz
|
||||
@@ -0,0 +1,435 @@
|
||||
set(_its_asn1_source_file "asn1c_its_sources.txt")
|
||||
set(_its_r2_asn1_source_file "asn1c_its_r2_sources.txt")
|
||||
set(_sec_asn1_source_file "asn1c_security_sources.txt")
|
||||
set(_sec_r2_asn1_source_file "asn1c_security_r2_sources.txt")
|
||||
set(_systemx_pqc_asn1_source_file "asn1c_systemx_pqc_sources.txt")
|
||||
set(_support_asn1_source_file "asn1c_support_sources.txt")
|
||||
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
|
||||
${_its_asn1_source_file}
|
||||
${_its_r2_asn1_source_file}
|
||||
${_sec_asn1_source_file}
|
||||
${_sec_r2_asn1_source_file}
|
||||
${_systemx_pqc_asn1_source_file}
|
||||
${_support_asn1_source_file})
|
||||
|
||||
set(_its_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/its")
|
||||
set(_its_r2_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/its/r2")
|
||||
set(_sec_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/security")
|
||||
set(_sec_r2_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/security/r2")
|
||||
set(_systemx_pqc_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/systemx-pqc")
|
||||
set(_support_asn1_dir "${CMAKE_CURRENT_SOURCE_DIR}/support")
|
||||
|
||||
option(VANETZA_ASN1_WITH_ASN1C "Enable asn1c targets" OFF)
|
||||
if(VANETZA_ASN1_WITH_ASN1C)
|
||||
set(_its_asn1_files
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102894-2v131-CDD.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/EN302637-2v141-CAM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/EN302637-3v131-DENM.asn
|
||||
)
|
||||
|
||||
set(_its_asn1_files_depending_on_iso
|
||||
${PROJECT_SOURCE_DIR}/asn1/TR103562v211-CPM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS103301v211-MAPEM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS103301v211-RTCMEM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS103301v211-SPATEM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS103301v211-SREM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS103301v211-SSEM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS103301v211-IVIM.asn
|
||||
)
|
||||
|
||||
set(_its_r2_asn1_files
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102894-2v241-CDD.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103831v231-DENM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103900v231-CAM.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-PDU-Descriptions.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-PerceivedObjectContainer.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-PerceptionRegionContainer.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103324v211/CPM-SensorInformationContainer.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103300-3v231/VAM-PDU-Descriptions.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103300-3v231/motorcyclist-special-container.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103916v211/POIM-PDU-Description.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103916v211/POIM-ParkingAvailability.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103916v211/POIM-CommonContainers.asn
|
||||
)
|
||||
|
||||
option(VANETZA_ASN1_WITH_ISO "Fetch ISO ASN.1 files for a more complete ITS message set" OFF)
|
||||
if(VANETZA_ASN1_WITH_ISO)
|
||||
set(_iso_asn1_files
|
||||
ISO14816.asn ISO19091.asn ISO24534-3.asn ISO19321.asn
|
||||
ISO14906-0-6.asn ISO14906-1-7.asn ISO17419.asn ISO14823.asn)
|
||||
list(TRANSFORM _iso_asn1_files PREPEND ${CMAKE_CURRENT_BINARY_DIR}/iso/)
|
||||
add_custom_command(OUTPUT ${_iso_asn1_files}
|
||||
COMMAND ${CMAKE_COMMAND} -DDIRECTORY=${CMAKE_CURRENT_BINARY_DIR}/iso -P fetch_iso_asn1_files.cmake
|
||||
COMMENT "Fetch and patch ISO ASN.1 files"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
VERBATIM)
|
||||
list(APPEND _its_asn1_files ${_its_asn1_files_depending_on_iso} ${_iso_asn1_files})
|
||||
endif()
|
||||
|
||||
set(_ieee_1609dot2_asn1_files
|
||||
Ieee1609Dot2.asn Ieee1609Dot2BaseTypes.asn Ieee1609Dot2Crl.asn Ieee1609Dot2CrlBaseTypes.asn)
|
||||
set(_ieee_1609dot2dot1_asn1_files
|
||||
Ieee1609Dot2Dot1AcaEeInterface.asn Ieee1609Dot2Dot1AcaLaInterface.asn Ieee1609Dot2Dot1AcaMaInterface.asn
|
||||
Ieee1609Dot2Dot1AcaRaInterface.asn Ieee1609Dot2Dot1Acpc.asn Ieee1609Dot2Dot1CamRaInterface.asn
|
||||
Ieee1609Dot2Dot1CertManagement.asn Ieee1609Dot2Dot1EcaEeInterface.asn Ieee1609Dot2Dot1EeMaInterface.asn
|
||||
Ieee1609Dot2Dot1EeRaInterface.asn Ieee1609Dot2Dot1LaMaInterface.asn Ieee1609Dot2Dot1LaRaInterface.asn
|
||||
Ieee1609Dot2Dot1MaRaInterface.asn Ieee1609Dot2Dot1Protocol.asn)
|
||||
list(TRANSFORM _ieee_1609dot2_asn1_files PREPEND ${CMAKE_CURRENT_BINARY_DIR}/ieee/)
|
||||
list(TRANSFORM _ieee_1609dot2dot1_asn1_files PREPEND ${CMAKE_CURRENT_BINARY_DIR}/ieee/)
|
||||
|
||||
set(_ieee_asn1_files ${_ieee_1609dot2_asn1_files} ${_ieee_1609dot2dot1_asn1_files})
|
||||
add_custom_command(OUTPUT ${_ieee_asn1_files}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DOUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}/ieee
|
||||
-DPATCH_DIRECTORY=${CMAKE_CURRENT_SOURCE_DIR}/patches/ieee
|
||||
-P fetch_ieee_asn1_files.cmake
|
||||
COMMENT "Fetch and patch IEEE 1609 ASN.1 files"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
VERBATIM)
|
||||
|
||||
set(_pki_asn1_files
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102941v131-BaseTypes.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102941v131-MessagesCa.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102941v131-TrustLists.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102941v131-TypesAuthorization.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102941v131-TypesAuthorizationValidation.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102941v131-TypesCaManagement.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS102941v131-TypesEnrolment.asn
|
||||
)
|
||||
|
||||
set(_pki_r2_asn1_files
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/BaseTypes.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/MessagesCa.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/MessagesItss-OptionalPrivacy.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/MessagesItss.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/TrustLists.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/TypesAuthorization.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/TypesAuthorizationValidation.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/TypesCaManagement.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/TypesEnrolment.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS102941v221/TypesLinkCertificate.asn
|
||||
)
|
||||
|
||||
set(_sec_asn1_files
|
||||
${PROJECT_SOURCE_DIR}/asn1/TS103097v131.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/IEEE1609dot2.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/IEEE1609dot2BaseTypes.asn
|
||||
)
|
||||
|
||||
if(VANETZA_WITH_PQC)
|
||||
set(_systemx_pqc_patch "${PROJECT_SOURCE_DIR}/asn1/systemx-pqc/hybrid-pqc.patch")
|
||||
set(_systemx_pqc_work_dir "${CMAKE_CURRENT_BINARY_DIR}/systemx-pqc-asn1")
|
||||
set(_systemx_pqc_module_names
|
||||
EtsiTs103097Module.asn
|
||||
EtsiTs103097ExtensionModule.asn
|
||||
Ieee1609Dot2.asn
|
||||
Ieee1609Dot2BaseTypes.asn)
|
||||
|
||||
set(_systemx_pqc_asn1_files ${_systemx_pqc_module_names})
|
||||
list(TRANSFORM _systemx_pqc_asn1_files PREPEND "${_systemx_pqc_work_dir}/")
|
||||
|
||||
add_custom_command(OUTPUT ${_systemx_pqc_asn1_files}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DOUTPUT_DIRECTORY=${_systemx_pqc_work_dir}
|
||||
-DPATCH_FILE=${_systemx_pqc_patch}
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/fetch_systemx_pqc_asn1_files.cmake
|
||||
DEPENDS
|
||||
${_systemx_pqc_patch}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/fetch_systemx_pqc_asn1_files.cmake
|
||||
COMMENT "Fetching and patching SystemX hybrid-PQC ASN.1 modules"
|
||||
VERBATIM)
|
||||
add_custom_target(prepare_systemx_pqc_asn1 DEPENDS ${_systemx_pqc_asn1_files})
|
||||
endif()
|
||||
|
||||
set(_sec_r2_asn1_files
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103097v211.asn
|
||||
${PROJECT_SOURCE_DIR}/asn1/release2/TS103097v211-Extension.asn
|
||||
)
|
||||
|
||||
# map host user to container for file permission consistency
|
||||
execute_process(COMMAND id -u OUTPUT_VARIABLE USER_ID OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND id -g OUTPUT_VARIABLE GROUP_ID OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
set(VANETZA_ASN1C_CONTAINER_IMAGE "vanetza-asn1c:latest" CACHE STRING "Docker image for asn1c code generation")
|
||||
|
||||
macro(generate_asn1c)
|
||||
cmake_parse_arguments(gen_asn1c "" "DESCRIPTION;OUTPUT_DIRECTORY;PREFIX;SOURCE_FILE" "SOURCES" ${ARGN})
|
||||
|
||||
if(NOT gen_asn1c_OUTPUT_DIRECTORY)
|
||||
message(FATAL_ERROR "Missing output directory for generated ASN.1 code (OUTPUT_DIRECTORY)")
|
||||
endif()
|
||||
if(NOT gen_asn1c_SOURCES)
|
||||
message(FATAL_ERROR "Missing ASN.1 source files to generate code from (SOURCES)")
|
||||
endif()
|
||||
|
||||
set(_asn1c_source_filenames "")
|
||||
set(_asn1c_source_binds "")
|
||||
foreach(_file IN LISTS gen_asn1c_SOURCES)
|
||||
get_filename_component(_filename ${_file} NAME)
|
||||
list(APPEND _asn1c_source_filenames ${_filename})
|
||||
file(REAL_PATH ${_file} _abs_file BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
list(APPEND _asn1c_source_binds --mount type=bind,src=${_abs_file},dst=/workdir/${_filename},ro)
|
||||
endforeach()
|
||||
|
||||
set(_asn1c_exec docker run --rm
|
||||
-v ${gen_asn1c_OUTPUT_DIRECTORY}:/out ${_asn1c_source_binds} -w /workdir
|
||||
-u ${USER_ID}:${GROUP_ID}
|
||||
${VANETZA_ASN1C_CONTAINER_IMAGE}
|
||||
asn1c)
|
||||
set(_asn1c_flags -fcompound-names -fincludes-quoted -no-gen-example)
|
||||
if(gen_asn1c_PREFIX)
|
||||
list(APPEND _asn1c_flags -fprefix=${gen_asn1c_PREFIX})
|
||||
endif()
|
||||
|
||||
if(NOT gen_asn1c_DESCRIPTION)
|
||||
set(_comment "Generating code from ASN.1 modules in ${gen_asn1c_OUTPUT_DIRECTORY}")
|
||||
else()
|
||||
set(_comment "Generating code from ${gen_asn1c_DESCRIPTION} ASN.1 modules")
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT "${gen_asn1c_OUTPUT_DIRECTORY}"
|
||||
DEPENDS "${gen_asn1c_SOURCES}"
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${gen_asn1c_OUTPUT_DIRECTORY}"
|
||||
COMMAND ${_asn1c_exec} ${_asn1c_flags} -R -D /out ${_asn1c_source_filenames}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${gen_asn1c_OUTPUT_DIRECTORY}
|
||||
-DASN1C_PREFIX=${gen_asn1c_PREFIX}
|
||||
-P remove_prefix_from_filename.cmake
|
||||
COMMENT "${_comment}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
VERBATIM)
|
||||
|
||||
if(gen_asn1c_SOURCE_FILE)
|
||||
add_custom_command(OUTPUT "${gen_asn1c_SOURCE_FILE}"
|
||||
DEPENDS "${gen_asn1c_OUTPUT_DIRECTORY}"
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${gen_asn1c_OUTPUT_DIRECTORY}
|
||||
-DASN1C_SOURCE_FILE=${gen_asn1c_SOURCE_FILE}
|
||||
-P collect_asn1c_sources.cmake
|
||||
COMMENT "Collecting generated sources in ${gen_asn1c_SOURCE_FILE}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
VERBATIM)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
add_custom_command(OUTPUT ${_support_asn1_dir}
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf ${CMAKE_CURRENT_BINARY_DIR}/asn1c_skeleton
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/asn1c_skeleton
|
||||
COMMAND docker run --rm
|
||||
-v ${CMAKE_CURRENT_BINARY_DIR}/asn1c_skeleton:/dest
|
||||
-u ${USER_ID}:${GROUP_ID}
|
||||
${VANETZA_ASN1C_CONTAINER_IMAGE}
|
||||
bash -c "cp -a /usr/share/asn1c/* /dest/"
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${_support_asn1_dir}"
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DSOURCE=${CMAKE_CURRENT_BINARY_DIR}/asn1c_skeleton
|
||||
-DDESTINATION=${_support_asn1_dir}
|
||||
-P copy_asn1c_skeleton.cmake
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=support
|
||||
-DASN1C_SOURCE_FILE=${_support_asn1_source_file}
|
||||
-P collect_asn1c_sources.cmake
|
||||
COMMENT "Copying generic asn1c support code"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
VERBATIM)
|
||||
|
||||
generate_asn1c(DESCRIPTION "ITS applications Release 1 (CDD, CA, DEN)"
|
||||
OUTPUT_DIRECTORY ${_its_asn1_dir}
|
||||
SOURCE_FILE ${_its_asn1_source_file}
|
||||
SOURCES ${_its_asn1_files} test.asn)
|
||||
|
||||
generate_asn1c(DESCRIPTION "ITS applications Release 2 (CDD, CA, DEN)"
|
||||
OUTPUT_DIRECTORY ${_its_r2_asn1_dir}
|
||||
SOURCE_FILE ${_its_r2_asn1_source_file}
|
||||
PREFIX Vanetza_ITS2_
|
||||
SOURCES ${_its_r2_asn1_files})
|
||||
|
||||
generate_asn1c(DESCRIPTION "Security (Release 1)"
|
||||
OUTPUT_DIRECTORY ${_sec_asn1_dir}
|
||||
SOURCE_FILE ${_sec_asn1_source_file}
|
||||
PREFIX Vanetza_Security_
|
||||
SOURCES ${_sec_asn1_files} ${_pki_asn1_files})
|
||||
|
||||
if(VANETZA_WITH_PQC)
|
||||
generate_asn1c(DESCRIPTION "Security Release 2 (experimental hybrid-PQC profile)"
|
||||
OUTPUT_DIRECTORY ${_systemx_pqc_asn1_dir}
|
||||
SOURCE_FILE ${_systemx_pqc_asn1_source_file}
|
||||
PREFIX Vanetza_Security_
|
||||
SOURCES ${_systemx_pqc_asn1_files})
|
||||
endif()
|
||||
|
||||
generate_asn1c(DESCRIPTION "Security (Release 2)"
|
||||
OUTPUT_DIRECTORY ${_sec_r2_asn1_dir}
|
||||
SOURCE_FILE ${_sec_r2_asn1_source_file}
|
||||
PREFIX Vanetza_Security2_
|
||||
SOURCES ${_sec_r2_asn1_files} ${_pki_r2_asn1_files} ${_ieee_asn1_files})
|
||||
|
||||
set(_generate_asn1c_outputs
|
||||
"${_support_asn1_dir}" "${_support_asn1_source_file}"
|
||||
"${_its_asn1_dir}" "${_its_asn1_source_file}"
|
||||
"${_its_r2_asn1_dir}" "${_its_r2_asn1_source_file}"
|
||||
"${_sec_asn1_dir}" "${_sec_asn1_source_file}"
|
||||
"${_sec_r2_asn1_dir}" "${_sec_r2_asn1_source_file}")
|
||||
if(VANETZA_WITH_PQC)
|
||||
list(APPEND _generate_asn1c_outputs
|
||||
"${_systemx_pqc_asn1_dir}" "${_systemx_pqc_asn1_source_file}")
|
||||
endif()
|
||||
add_custom_target(generate_asn1c DEPENDS ${_generate_asn1c_outputs} VERBATIM)
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_skeleton.cmake
|
||||
COMMENT "Patching asn1c support files"
|
||||
WORKING_DIRECTORY ${_support_asn1_dir} VERBATIM)
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake
|
||||
COMMENT "Patching generated ITS application asn1c files"
|
||||
WORKING_DIRECTORY ${_its_asn1_dir} VERBATIM)
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DASN1C_PREFIX=Vanetza_ITS2_
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake
|
||||
COMMENT "Patching generated ITS Release 2 asn1c files"
|
||||
WORKING_DIRECTORY ${_its_r2_asn1_dir} VERBATIM)
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DASN1C_PREFIX=Vanetza_Security_
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake
|
||||
COMMENT "Patching generated Security asn1c files"
|
||||
WORKING_DIRECTORY ${_sec_asn1_dir} VERBATIM)
|
||||
if(VANETZA_WITH_PQC)
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DASN1C_PREFIX=Vanetza_Security_
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake
|
||||
COMMENT "Patching generated experimental hybrid-PQC Security asn1c files"
|
||||
WORKING_DIRECTORY ${_systemx_pqc_asn1_dir} VERBATIM)
|
||||
endif()
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DASN1C_PREFIX=Vanetza_Security2_
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/patch_asn1c_generated.cmake
|
||||
COMMENT "Patching generated Security Release 2 asn1c files"
|
||||
WORKING_DIRECTORY ${_sec_r2_asn1_dir} VERBATIM)
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPATCH_DIRECTORY=${CMAKE_CURRENT_SOURCE_DIR}/patches
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/apply_patches.cmake
|
||||
COMMENT "Applying hot-fixes to generated asn1c files"
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} VERBATIM)
|
||||
if(VANETZA_WITH_PQC)
|
||||
# These generated types are identical in both profiles. Reuse the
|
||||
# already patched variants instead of maintaining a duplicate patch.
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${_sec_asn1_dir}/Time64.c ${_systemx_pqc_asn1_dir}/Time64.c
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${_sec_asn1_dir}/Uint64.c ${_systemx_pqc_asn1_dir}/Uint64.c
|
||||
COMMENT "Copying patched 64-bit Security ASN.1 types into the hybrid-PQC profile"
|
||||
VERBATIM)
|
||||
endif()
|
||||
if(VANETZA_ASN1_WITH_ISO)
|
||||
add_custom_command(TARGET generate_asn1c POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DPATCH_DIRECTORY=${CMAKE_CURRENT_SOURCE_DIR}/patches/iso
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/apply_patches.cmake
|
||||
COMMENT "Applying hot-fixes to generated asn1c ITS ISO files"
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} VERBATIM)
|
||||
endif()
|
||||
|
||||
# wipe directory with generated files before generating
|
||||
add_custom_target(clean_asn1c
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${_support_asn1_dir}
|
||||
-DASN1C_SOURCE_FILE=${_support_asn1_source_file}
|
||||
-P clean_asn1c.cmake
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${_its_asn1_dir}
|
||||
-DASN1C_SOURCE_FILE=${_its_asn1_source_file}
|
||||
-P clean_asn1c.cmake
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${_its_r2_asn1_dir}
|
||||
-DASN1C_SOURCE_FILE=${_its_r2_asn1_source_file}
|
||||
-P clean_asn1c.cmake
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${_sec_asn1_dir}
|
||||
-DASN1C_SOURCE_FILE=${_sec_asn1_source_file}
|
||||
-P clean_asn1c.cmake
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${_sec_r2_asn1_dir}
|
||||
-DASN1C_SOURCE_FILE=${_sec_r2_asn1_source_file}
|
||||
-P clean_asn1c.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} VERBATIM)
|
||||
if(VANETZA_WITH_PQC)
|
||||
add_custom_target(clean_asn1c_systemx_pqc
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DASN1C_OUTPUT_DIR=${_systemx_pqc_asn1_dir}
|
||||
-DASN1C_SOURCE_FILE=${_systemx_pqc_asn1_source_file}
|
||||
-P clean_asn1c.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} VERBATIM)
|
||||
add_dependencies(clean_asn1c clean_asn1c_systemx_pqc)
|
||||
endif()
|
||||
add_dependencies(generate_asn1c clean_asn1c)
|
||||
endif()
|
||||
|
||||
function(add_asn1_component NAME)
|
||||
cmake_parse_arguments(ARG "" "SOURCE_FILE;SOURCE_DIRECTORY" "" ${ARGN})
|
||||
string(REPLACE "/" "_" NAME_ESCAPED "${NAME}")
|
||||
if(ARG_SOURCE_FILE)
|
||||
set(_source_file "${ARG_SOURCE_FILE}")
|
||||
else()
|
||||
set(_source_file "asn1c_${NAME_ESCAPED}_sources.txt")
|
||||
endif()
|
||||
file(STRINGS "${_source_file}" _sources REGEX "^[^#]+")
|
||||
if (NOT _sources)
|
||||
message(AUTHOR_WARNING "source file ${_source_file} is empty, fix this now!")
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/asn1_${NAME}_no_sources.c
|
||||
"#error \"generated ${NAME} ASN.1 source files are missing\"")
|
||||
set(_sources ${CMAKE_CURRENT_BINARY_DIR}/asn1_${NAME}_no_sources.c)
|
||||
endif()
|
||||
add_vanetza_component(asn1_${NAME_ESCAPED} ${_sources})
|
||||
set_target_properties(asn1_${NAME_ESCAPED} PROPERTIES C_STANDARD 11)
|
||||
|
||||
if ("${NAME}" STREQUAL "support")
|
||||
target_include_directories(asn1_support PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/support>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/vanetza/asn1/support>)
|
||||
if(UNIX)
|
||||
target_compile_definitions(asn1_support PUBLIC HAVE_NETINET_IN_H)
|
||||
endif()
|
||||
else()
|
||||
target_link_libraries(asn1_${NAME_ESCAPED} PUBLIC asn1_support)
|
||||
endif()
|
||||
|
||||
# Silence warnings in code generated by asn1c
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||
set_property(SOURCE ${_sources} APPEND PROPERTY COMPILE_OPTIONS "-Wno-parentheses-equality")
|
||||
endif()
|
||||
|
||||
get_filename_component(_dir ${NAME} DIRECTORY)
|
||||
if(ARG_SOURCE_DIRECTORY)
|
||||
set(_install_source "${ARG_SOURCE_DIRECTORY}")
|
||||
else()
|
||||
set(_install_source "${CMAKE_CURRENT_SOURCE_DIR}/${NAME}")
|
||||
endif()
|
||||
install(DIRECTORY ${_install_source}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vanetza/asn1/${_dir}
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
endfunction()
|
||||
|
||||
add_asn1_component(support)
|
||||
target_sources(asn1_support PRIVATE memory.c)
|
||||
install(FILES memory.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vanetza/asn1)
|
||||
|
||||
add_asn1_component(its)
|
||||
add_asn1_component(its/r2)
|
||||
if(VANETZA_WITH_PQC)
|
||||
add_asn1_component(security
|
||||
SOURCE_FILE ${_systemx_pqc_asn1_source_file}
|
||||
SOURCE_DIRECTORY ${_systemx_pqc_asn1_dir})
|
||||
target_compile_definitions(asn1_security PUBLIC VANETZA_WITH_PQC)
|
||||
else()
|
||||
add_asn1_component(security)
|
||||
endif()
|
||||
add_asn1_component(security/r2)
|
||||
|
||||
add_vanetza_component(asn1 asn1c_wrapper.cpp type_traits.cpp)
|
||||
target_link_libraries(asn1 PUBLIC asn1_its Boost::boost)
|
||||
|
||||
add_test_subdirectory(tests)
|
||||
@@ -0,0 +1,18 @@
|
||||
FROM ubuntu:latest AS base
|
||||
|
||||
FROM base AS build
|
||||
RUN apt-get update && apt-get install -y autoconf automake bison build-essential flex git libtool
|
||||
ARG ASN1C_REPO=https://github.com/mouse07410/asn1c.git
|
||||
ARG ASN1C_VERSION=eefc4cfca40e5ee6e0b6506d6d8c93c24d423cec
|
||||
RUN git clone $ASN1C_REPO /asn1c-source && cd /asn1c-source && git checkout ${ASN1C_VERSION}
|
||||
WORKDIR /asn1c-source
|
||||
RUN autoreconf -iv && ./configure --prefix /asn1c && make -j $(nproc) install
|
||||
|
||||
FROM build AS test
|
||||
RUN make -j $(nproc) check
|
||||
RUN make -j $(nproc) distcheck
|
||||
|
||||
FROM base AS runtime
|
||||
RUN apt-get update && apt-get install -y cmake
|
||||
COPY --from=build /asn1c/bin /usr/bin
|
||||
COPY --from=build /asn1c/share /usr/share
|
||||
@@ -0,0 +1,10 @@
|
||||
find_package(Git REQUIRED)
|
||||
file(GLOB PATCH_FILES ${PATCH_DIRECTORY}/*.patch)
|
||||
foreach(PATCH_FILE IN LISTS PATCH_FILES)
|
||||
get_filename_component(PATCH_NAME "${PATCH_FILE}" NAME_WE)
|
||||
message(STATUS "Applying patch ${PATCH_NAME}")
|
||||
execute_process(COMMAND "${GIT_EXECUTABLE}" apply "${PATCH_FILE}" RESULT_VARIABLE PATCH_RESULT)
|
||||
if(NOT PATCH_RESULT EQUAL 0)
|
||||
message(SEND_ERROR "Applying patch ${PATCH_FILE} failed!")
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -0,0 +1,63 @@
|
||||
#ifndef ASN1C_CONVERSION_HPP_9E5QN6UC
|
||||
#define ASN1C_CONVERSION_HPP_9E5QN6UC
|
||||
|
||||
#include <vanetza/asn1/asn1c_wrapper.hpp>
|
||||
#include <vanetza/common/byte_buffer_convertible.hpp>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace convertible
|
||||
{
|
||||
|
||||
template<class T>
|
||||
struct byte_buffer_impl : public byte_buffer
|
||||
{
|
||||
public:
|
||||
using wrapper_type = T;
|
||||
static_assert(
|
||||
std::is_base_of<asn1::asn1c_wrapper_common<typename T::asn1c_type>, T>::value,
|
||||
"Only asn1c_wrapper derivates are supported");
|
||||
|
||||
byte_buffer_impl(wrapper_type&& t) :
|
||||
m_wrapper(new wrapper_type(std::move(t)))
|
||||
{
|
||||
}
|
||||
|
||||
byte_buffer_impl(std::shared_ptr<const wrapper_type> other) :
|
||||
m_wrapper(other)
|
||||
{
|
||||
}
|
||||
|
||||
void convert(ByteBuffer& buffer) const override
|
||||
{
|
||||
buffer = m_wrapper->encode();
|
||||
}
|
||||
|
||||
std::unique_ptr<byte_buffer> duplicate() const override
|
||||
{
|
||||
return std::unique_ptr<byte_buffer> {
|
||||
new byte_buffer_impl { m_wrapper }
|
||||
};
|
||||
}
|
||||
|
||||
std::size_t size() const override
|
||||
{
|
||||
return m_wrapper->size();
|
||||
}
|
||||
|
||||
std::shared_ptr<const wrapper_type> wrapper() const
|
||||
{
|
||||
return m_wrapper;
|
||||
}
|
||||
|
||||
private:
|
||||
std::shared_ptr<const wrapper_type> m_wrapper;
|
||||
};
|
||||
|
||||
} // namespace convertible
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* ASN1C_CONVERSION_HPP_9E5QN6UC */
|
||||
|
||||
@@ -0,0 +1,470 @@
|
||||
# generated file
|
||||
its/r2/Acceleration3dWithConfidence.c
|
||||
its/r2/AccelerationCartesian.c
|
||||
its/r2/AccelerationChange.c
|
||||
its/r2/AccelerationChangeIndication.c
|
||||
its/r2/AccelerationComponent.c
|
||||
its/r2/AccelerationConfidence.c
|
||||
its/r2/AccelerationControl.c
|
||||
its/r2/AccelerationControlExtension.c
|
||||
its/r2/AccelerationMagnitude.c
|
||||
its/r2/AccelerationMagnitudeValue.c
|
||||
its/r2/AccelerationPolarWithZ.c
|
||||
its/r2/AccelerationValue.c
|
||||
its/r2/AccessTechnologyClass.c
|
||||
its/r2/AccidentSubCauseCode.c
|
||||
its/r2/ActionId.c
|
||||
its/r2/ActionIdList.c
|
||||
its/r2/AdhesionSubCauseCode.c
|
||||
its/r2/AdverseWeatherCondition-PrecipitationSubCauseCode.c
|
||||
its/r2/AdverseWeatherCondition-VisibilitySubCauseCode.c
|
||||
its/r2/AdverseWeatherCondition-WindSubCauseCode.c
|
||||
its/r2/AirHumidity.c
|
||||
its/r2/AlacarteContainer.c
|
||||
its/r2/Altitude.c
|
||||
its/r2/AltitudeConfidence.c
|
||||
its/r2/AltitudeValue.c
|
||||
its/r2/AngleConfidence.c
|
||||
its/r2/AngularAccelerationConfidence.c
|
||||
its/r2/AngularSpeedConfidence.c
|
||||
its/r2/AutomationControl.c
|
||||
its/r2/AxlesCount.c
|
||||
its/r2/BarometricPressure.c
|
||||
its/r2/BasicContainer.c
|
||||
its/r2/BasicLaneConfiguration.c
|
||||
its/r2/BasicLaneInformation.c
|
||||
its/r2/BasicVehicleContainerHighFrequency.c
|
||||
its/r2/BasicVehicleContainerLowFrequency.c
|
||||
its/r2/BogiesCount.c
|
||||
its/r2/BrakeControl.c
|
||||
its/r2/CAM.c
|
||||
its/r2/CPM-PDU-Descriptions_ManagementContainer.c
|
||||
its/r2/CamParameters.c
|
||||
its/r2/CamPayload.c
|
||||
its/r2/CardinalNumber1B.c
|
||||
its/r2/CardinalNumber3b.c
|
||||
its/r2/CartesianAngle.c
|
||||
its/r2/CartesianAngleValue.c
|
||||
its/r2/CartesianAngularAccelerationComponent.c
|
||||
its/r2/CartesianAngularAccelerationComponentValue.c
|
||||
its/r2/CartesianAngularVelocityComponent.c
|
||||
its/r2/CartesianAngularVelocityComponentValue.c
|
||||
its/r2/CartesianCoordinate.c
|
||||
its/r2/CartesianCoordinateLarge.c
|
||||
its/r2/CartesianCoordinateSmall.c
|
||||
its/r2/CartesianCoordinateWithConfidence.c
|
||||
its/r2/CartesianPosition3d.c
|
||||
its/r2/CartesianPosition3dWithConfidence.c
|
||||
its/r2/CauseCode.c
|
||||
its/r2/CauseCodeChoice.c
|
||||
its/r2/CauseCodeType.c
|
||||
its/r2/CauseCodeV2.c
|
||||
its/r2/CenDsrcTollingZone.c
|
||||
its/r2/CenDsrcTollingZoneID.c
|
||||
its/r2/CircularShape.c
|
||||
its/r2/ClosedLanes.c
|
||||
its/r2/ClusterBreakupInfo.c
|
||||
its/r2/ClusterBreakupReason.c
|
||||
its/r2/ClusterJoinInfo.c
|
||||
its/r2/ClusterLeaveInfo.c
|
||||
its/r2/ClusterLeaveReason.c
|
||||
its/r2/CollectivePerceptionMessage.c
|
||||
its/r2/CollisionRiskSubCauseCode.c
|
||||
its/r2/ConfidenceLevel.c
|
||||
its/r2/ConfidenceLevels.c
|
||||
its/r2/ConstraintWrappedCpmContainers.c
|
||||
its/r2/CoordinateConfidence.c
|
||||
its/r2/CorrelationCellValue.c
|
||||
its/r2/CorrelationColumn.c
|
||||
its/r2/CountryCode.c
|
||||
its/r2/CpmContainerId.c
|
||||
its/r2/CpmPayload.c
|
||||
its/r2/Curvature.c
|
||||
its/r2/CurvatureCalculationMode.c
|
||||
its/r2/CurvatureConfidence.c
|
||||
its/r2/CurvatureValue.c
|
||||
its/r2/CyclistTypeSpecificInformation.c
|
||||
its/r2/DENM-PDU-Description_ManagementContainer.c
|
||||
its/r2/DENM.c
|
||||
its/r2/DangerousEndOfQueueSubCauseCode.c
|
||||
its/r2/DangerousGoodsBasic.c
|
||||
its/r2/DangerousGoodsContainer.c
|
||||
its/r2/DangerousGoodsExtended.c
|
||||
its/r2/DangerousSituationSubCauseCode.c
|
||||
its/r2/DayOfWeek.c
|
||||
its/r2/DeltaAltitude.c
|
||||
its/r2/DeltaLatitude.c
|
||||
its/r2/DeltaLongitude.c
|
||||
its/r2/DeltaReferencePosition.c
|
||||
its/r2/DeltaReferencePositions.c
|
||||
its/r2/DeltaTimeMilliSecondPositive.c
|
||||
its/r2/DeltaTimeMilliSecondSigned.c
|
||||
its/r2/DeltaTimeQuarterSecond.c
|
||||
its/r2/DeltaTimeSecond.c
|
||||
its/r2/DeltaTimeTenSeconds.c
|
||||
its/r2/DeltaTimeTenthOfSecond.c
|
||||
its/r2/DenmPayload.c
|
||||
its/r2/DigitalMap.c
|
||||
its/r2/Direction.c
|
||||
its/r2/DriveDirection.c
|
||||
its/r2/DrivingLaneStatus.c
|
||||
its/r2/EHorizonLocationSharingContainer.c
|
||||
its/r2/ETSI-ITS-CDD_DeltaPosition.c
|
||||
its/r2/ETSI-ITS-CDD_DeltaPositions.c
|
||||
its/r2/ETSI-ITS-CDD_ParkingAreaArrangementType.c
|
||||
its/r2/ETSI-ITS-CDD_ParkingOccupancyInfo.c
|
||||
its/r2/ETSI-ITS-CDD_ParkingReservationType.c
|
||||
its/r2/ETSI-ITS-CDD_ParkingSpaceBasic.c
|
||||
its/r2/ETSI-ITS-CDD_ParkingSpaceDetailed.c
|
||||
its/r2/ETSI-ITS-CDD_ParkingSpaceStatus.c
|
||||
its/r2/EllipticalShape.c
|
||||
its/r2/EmbarkationStatus.c
|
||||
its/r2/EmergencyContainer.c
|
||||
its/r2/EmergencyPriority.c
|
||||
its/r2/EmergencyVehicleApproachingSubCauseCode.c
|
||||
its/r2/EnergyStorageType.c
|
||||
its/r2/EngineCharacteristicsFromIso.c
|
||||
its/r2/EuVehicleCategoryCode.c
|
||||
its/r2/EuVehicleCategoryL.c
|
||||
its/r2/EuVehicleCategoryM.c
|
||||
its/r2/EuVehicleCategoryN.c
|
||||
its/r2/EuVehicleCategoryO.c
|
||||
its/r2/EulerAnglesWithConfidence.c
|
||||
its/r2/EventHistory.c
|
||||
its/r2/EventPoint.c
|
||||
its/r2/EventZone.c
|
||||
its/r2/Ext1.c
|
||||
its/r2/Ext2.c
|
||||
its/r2/Ext3.c
|
||||
its/r2/ExtensionContainerId.c
|
||||
its/r2/ExteriorLights.c
|
||||
its/r2/GeneralParkingPlaceContainer.c
|
||||
its/r2/GeneralizedLanePosition.c
|
||||
its/r2/GeneralizedLanePositions.c
|
||||
its/r2/GeneralizedLanePositionsContainer.c
|
||||
its/r2/GenerationDeltaTime.c
|
||||
its/r2/GeoPosition.c
|
||||
its/r2/GeoPositionWAltitude.c
|
||||
its/r2/GeoPositionWoAltitude.c
|
||||
its/r2/GeoPositionsWAltitude.c
|
||||
its/r2/GeoPositionsWoAltitude.c
|
||||
its/r2/GoodsType.c
|
||||
its/r2/HardShoulderStatus.c
|
||||
its/r2/HazardousLocation-AnimalOnTheRoadSubCauseCode.c
|
||||
its/r2/HazardousLocation-DangerousCurveSubCauseCode.c
|
||||
its/r2/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c
|
||||
its/r2/HazardousLocation-SurfaceConditionSubCauseCode.c
|
||||
its/r2/Heading.c
|
||||
its/r2/HeadingChangeIndication.c
|
||||
its/r2/HeadingConfidence.c
|
||||
its/r2/HeadingValue.c
|
||||
its/r2/HeightLonCarr.c
|
||||
its/r2/HighFrequencyContainer.c
|
||||
its/r2/HumanPresenceOnTheRoadSubCauseCode.c
|
||||
its/r2/HumanProblemSubCauseCode.c
|
||||
its/r2/Identifier1B.c
|
||||
its/r2/Identifier2B.c
|
||||
its/r2/ImpactReductionContainer.c
|
||||
its/r2/ImpassabilitySubCauseCode.c
|
||||
its/r2/InformationQuality.c
|
||||
its/r2/InterferenceManagementChannel.c
|
||||
its/r2/InterferenceManagementInfo.c
|
||||
its/r2/InterferenceManagementInfoPerChannel.c
|
||||
its/r2/InterferenceManagementZone.c
|
||||
its/r2/InterferenceManagementZoneDefinition.c
|
||||
its/r2/InterferenceManagementZoneType.c
|
||||
its/r2/InterferenceManagementZones.c
|
||||
its/r2/IntersectionReferenceId.c
|
||||
its/r2/Iso3833VehicleType.c
|
||||
its/r2/IssuerIdentifier.c
|
||||
its/r2/ItineraryPath.c
|
||||
its/r2/ItsPduHeader.c
|
||||
its/r2/ItsPduHeaderVam.c
|
||||
its/r2/IviIdentificationNumber.c
|
||||
its/r2/IvimReference.c
|
||||
its/r2/IvimReferences.c
|
||||
its/r2/LanePosition.c
|
||||
its/r2/LanePositionAndType.c
|
||||
its/r2/LanePositionOptions.c
|
||||
its/r2/LanePositionWithLateralDetails.c
|
||||
its/r2/LaneType.c
|
||||
its/r2/LaneWidth.c
|
||||
its/r2/LateralAcceleration.c
|
||||
its/r2/LateralAccelerationValue.c
|
||||
its/r2/Latitude.c
|
||||
its/r2/LightBarSirenInUse.c
|
||||
its/r2/LoadType.c
|
||||
its/r2/LocationContainer.c
|
||||
its/r2/Longitude.c
|
||||
its/r2/LongitudinalAcceleration.c
|
||||
its/r2/LongitudinalAccelerationValue.c
|
||||
its/r2/LongitudinalLanePosition.c
|
||||
its/r2/LongitudinalLanePositionConfidence.c
|
||||
its/r2/LongitudinalLanePositionValue.c
|
||||
its/r2/LowFrequencyContainer.c
|
||||
its/r2/LowerTriangularPositiveSemidefiniteMatrices.c
|
||||
its/r2/LowerTriangularPositiveSemidefiniteMatrix.c
|
||||
its/r2/LowerTriangularPositiveSemidefiniteMatrixColumns.c
|
||||
its/r2/MapPosition.c
|
||||
its/r2/MapReference.c
|
||||
its/r2/MapReferences.c
|
||||
its/r2/MapemConfiguration.c
|
||||
its/r2/MapemConnectionList.c
|
||||
its/r2/MapemElementReference.c
|
||||
its/r2/MapemLaneList.c
|
||||
its/r2/MatrixIncludedComponents.c
|
||||
its/r2/MessageId.c
|
||||
its/r2/MessageRateHz.c
|
||||
its/r2/MessageRateRange.c
|
||||
its/r2/MessageSegmentationInfo.c
|
||||
its/r2/MetaInformation.c
|
||||
its/r2/MitigationForTechnologies.c
|
||||
its/r2/MitigationPerTechnologyClass.c
|
||||
its/r2/MotorcylistSpecialContainer.c
|
||||
its/r2/MultiplicativeFactor.c
|
||||
its/r2/NumberOfOccupants.c
|
||||
its/r2/NumberOfSpaces.c
|
||||
its/r2/ObjectClass.c
|
||||
its/r2/ObjectClassDescription.c
|
||||
its/r2/ObjectClassWithConfidence.c
|
||||
its/r2/ObjectDimension.c
|
||||
its/r2/ObjectDimensionConfidence.c
|
||||
its/r2/ObjectDimensionValue.c
|
||||
its/r2/ObjectFace.c
|
||||
its/r2/ObjectPerceptionQuality.c
|
||||
its/r2/OccupancyInformation.c
|
||||
its/r2/OccupancyRate.c
|
||||
its/r2/OccupancyTrend.c
|
||||
its/r2/OccupiedLanesWithConfidence.c
|
||||
its/r2/OpeningDaysHours.c
|
||||
its/r2/OpeningStatus.c
|
||||
its/r2/OrdinalNumber1B.c
|
||||
its/r2/OrdinalNumber3b.c
|
||||
its/r2/OriginatingRsuContainer.c
|
||||
its/r2/OriginatingVehicleContainer.c
|
||||
its/r2/OtherSubClass.c
|
||||
its/r2/POIM-ParkingAvailability_DeltaPosition.c
|
||||
its/r2/POIM-ParkingAvailability_DeltaPositions.c
|
||||
its/r2/POIM-ParkingAvailability_ParkingAreaArrangementType.c
|
||||
its/r2/POIM-ParkingAvailability_ParkingOccupancyInfo.c
|
||||
its/r2/POIM-ParkingAvailability_ParkingReservationType.c
|
||||
its/r2/POIM-ParkingAvailability_ParkingSpaceBasic.c
|
||||
its/r2/POIM-ParkingAvailability_ParkingSpaceDetailed.c
|
||||
its/r2/POIM-ParkingAvailability_ParkingSpaceStatus.c
|
||||
its/r2/POIM.c
|
||||
its/r2/ParkingArea.c
|
||||
its/r2/ParkingAreas.c
|
||||
its/r2/ParkingAvailabilityBlock.c
|
||||
its/r2/ParkingFeeType.c
|
||||
its/r2/ParkingSpacesBasic.c
|
||||
its/r2/ParkingSpacesDetailed.c
|
||||
its/r2/ParkingStatus.c
|
||||
its/r2/ParkingStatusContainer.c
|
||||
its/r2/ParkingStatusList.c
|
||||
its/r2/ParkingSupplyCapabilitiesContainer.c
|
||||
its/r2/Path.c
|
||||
its/r2/PathDeltaTime.c
|
||||
its/r2/PathDeltaTimeChoice.c
|
||||
its/r2/PathExtended.c
|
||||
its/r2/PathHistory.c
|
||||
its/r2/PathId.c
|
||||
its/r2/PathPoint.c
|
||||
its/r2/PathPointPredicted.c
|
||||
its/r2/PathPredicted.c
|
||||
its/r2/PathPredicted2.c
|
||||
its/r2/PathPredictedList.c
|
||||
its/r2/PathPredictionContainer.c
|
||||
its/r2/PathReferences.c
|
||||
its/r2/PedalPositionValue.c
|
||||
its/r2/PedalStatus.c
|
||||
its/r2/PerceivedEvent.c
|
||||
its/r2/PerceivedObject.c
|
||||
its/r2/PerceivedObjectContainer.c
|
||||
its/r2/PerceivedObjectIds.c
|
||||
its/r2/PerceivedObjects.c
|
||||
its/r2/PerceptionRegion.c
|
||||
its/r2/PerceptionRegionContainer.c
|
||||
its/r2/PerformanceClass.c
|
||||
its/r2/Period.c
|
||||
its/r2/Periods.c
|
||||
its/r2/PhoneNumber.c
|
||||
its/r2/PoiBlockManagementContainer.c
|
||||
its/r2/PoiType.c
|
||||
its/r2/PolygonalLine.c
|
||||
its/r2/PolygonalShape.c
|
||||
its/r2/PosCentMass.c
|
||||
its/r2/PosConfidenceEllipse.c
|
||||
its/r2/PosFrontAx.c
|
||||
its/r2/PosLonCarr.c
|
||||
its/r2/PosPillar.c
|
||||
its/r2/Position1d.c
|
||||
its/r2/PositionConfidenceEllipse.c
|
||||
its/r2/PositionOfOccupants.c
|
||||
its/r2/PositionOfPillars.c
|
||||
its/r2/PositioningSolutionType.c
|
||||
its/r2/PostCrashSubCauseCode.c
|
||||
its/r2/PreCrashContainer.c
|
||||
its/r2/PrecipitationIntensity.c
|
||||
its/r2/ProtectedCommunicationZone.c
|
||||
its/r2/ProtectedCommunicationZonesRSU.c
|
||||
its/r2/ProtectedZoneId.c
|
||||
its/r2/ProtectedZoneRadius.c
|
||||
its/r2/ProtectedZoneType.c
|
||||
its/r2/Provider.c
|
||||
its/r2/PtActivation.c
|
||||
its/r2/PtActivationData.c
|
||||
its/r2/PtActivationType.c
|
||||
its/r2/PublicTransportContainer.c
|
||||
its/r2/RSUContainerHighFrequency.c
|
||||
its/r2/RadialShape.c
|
||||
its/r2/RadialShapeDetails.c
|
||||
its/r2/RadialShapes.c
|
||||
its/r2/RadialShapesList.c
|
||||
its/r2/RailwayLevelCrossingSubCauseCode.c
|
||||
its/r2/RectangularShape.c
|
||||
its/r2/ReferencePosition.c
|
||||
its/r2/ReferencePositionWithConfidence.c
|
||||
its/r2/RelatedPoiInfoBlock.c
|
||||
its/r2/RelatedPoiInfoBlockContainer.c
|
||||
its/r2/RelevanceDistance.c
|
||||
its/r2/RelevanceTrafficDirection.c
|
||||
its/r2/RequestResponseIndication.c
|
||||
its/r2/RescueContainer.c
|
||||
its/r2/RescueRecoveryAndMaintenanceWorkInProgressSubCauseCode.c
|
||||
its/r2/RestrictedTypes.c
|
||||
its/r2/RoadConfigurationContainer.c
|
||||
its/r2/RoadConfigurationSection.c
|
||||
its/r2/RoadConfigurationSectionList.c
|
||||
its/r2/RoadSectionDefinition.c
|
||||
its/r2/RoadSectionId.c
|
||||
its/r2/RoadSegmentReferenceId.c
|
||||
its/r2/RoadType.c
|
||||
its/r2/RoadWorksContainerBasic.c
|
||||
its/r2/RoadWorksContainerExtended.c
|
||||
its/r2/RoadworksSubCauseCode.c
|
||||
its/r2/SaeAutomationLevel.c
|
||||
its/r2/SafeDistanceIndication.c
|
||||
its/r2/SafeDistanceIndicator.c
|
||||
its/r2/SafetyCarContainer.c
|
||||
its/r2/SemiAxisLength.c
|
||||
its/r2/SensorInformation.c
|
||||
its/r2/SensorInformationContainer.c
|
||||
its/r2/SensorType.c
|
||||
its/r2/SensorTypes.c
|
||||
its/r2/SequenceNumber.c
|
||||
its/r2/SequenceOfCartesianPosition3d.c
|
||||
its/r2/SequenceOfIdentifier1B.c
|
||||
its/r2/SequenceOfSafeDistanceIndication.c
|
||||
its/r2/SequenceOfTrajectoryInterceptionIndication.c
|
||||
its/r2/Shape.c
|
||||
its/r2/SignalViolationSubCauseCode.c
|
||||
its/r2/SituationContainer.c
|
||||
its/r2/SlowVehicleSubCauseCode.c
|
||||
its/r2/SpecialTransportContainer.c
|
||||
its/r2/SpecialTransportType.c
|
||||
its/r2/SpecialVehicleContainer.c
|
||||
its/r2/Speed.c
|
||||
its/r2/SpeedConfidence.c
|
||||
its/r2/SpeedLimit.c
|
||||
its/r2/SpeedValue.c
|
||||
its/r2/StabilityChangeIndication.c
|
||||
its/r2/StabilityLossProbability.c
|
||||
its/r2/StandardLength12b.c
|
||||
its/r2/StandardLength1B.c
|
||||
its/r2/StandardLength2B.c
|
||||
its/r2/StandardLength3b.c
|
||||
its/r2/StandardLength9b.c
|
||||
its/r2/StationId.c
|
||||
its/r2/StationType.c
|
||||
its/r2/StationarySince.c
|
||||
its/r2/StationaryVehicleContainer.c
|
||||
its/r2/StationaryVehicleSubCauseCode.c
|
||||
its/r2/SteeringWheelAngle.c
|
||||
its/r2/SteeringWheelAngleConfidence.c
|
||||
its/r2/SteeringWheelAngleValue.c
|
||||
its/r2/StoredInformationType.c
|
||||
its/r2/SubCauseCodeType.c
|
||||
its/r2/Temperature.c
|
||||
its/r2/Termination.c
|
||||
its/r2/TimeOfDay.c
|
||||
its/r2/TimestampIts.c
|
||||
its/r2/Traces.c
|
||||
its/r2/TracesExtended.c
|
||||
its/r2/TrafficConditionSubCauseCode.c
|
||||
its/r2/TrafficDirection.c
|
||||
its/r2/TrafficIslandPosition.c
|
||||
its/r2/TrafficParticipantType.c
|
||||
its/r2/TrafficRule.c
|
||||
its/r2/TrailerData.c
|
||||
its/r2/TrailerDataSet.c
|
||||
its/r2/TrailerPresenceInformation.c
|
||||
its/r2/TrajectoryInterceptionConfidence.c
|
||||
its/r2/TrajectoryInterceptionIndication.c
|
||||
its/r2/TrajectoryInterceptionProbability.c
|
||||
its/r2/TransmissionInterval.c
|
||||
its/r2/TurningDirection.c
|
||||
its/r2/TurningRadius.c
|
||||
its/r2/TwoWheelerContainer.c
|
||||
its/r2/TwoWheelerTypeSpecificInformation.c
|
||||
its/r2/UsageIndication.c
|
||||
its/r2/VAM.c
|
||||
its/r2/VDS.c
|
||||
its/r2/ValidityDuration.c
|
||||
its/r2/VamParameters.c
|
||||
its/r2/VarLengthNumber.c
|
||||
its/r2/VehicleBreakdownSubCauseCode.c
|
||||
its/r2/VehicleHeight.c
|
||||
its/r2/VehicleHeight2.c
|
||||
its/r2/VehicleIdentification.c
|
||||
its/r2/VehicleLength.c
|
||||
its/r2/VehicleLengthConfidenceIndication.c
|
||||
its/r2/VehicleLengthV2.c
|
||||
its/r2/VehicleLengthValue.c
|
||||
its/r2/VehicleMass.c
|
||||
its/r2/VehicleMovementControl.c
|
||||
its/r2/VehicleMovementControlContainer.c
|
||||
its/r2/VehicleRole.c
|
||||
its/r2/VehicleWidth.c
|
||||
its/r2/Velocity3dWithConfidence.c
|
||||
its/r2/VelocityCartesian.c
|
||||
its/r2/VelocityComponent.c
|
||||
its/r2/VelocityComponentValue.c
|
||||
its/r2/VelocityPolarWithZ.c
|
||||
its/r2/VerticalAcceleration.c
|
||||
its/r2/VerticalAccelerationValue.c
|
||||
its/r2/VeryLowFrequencyContainer.c
|
||||
its/r2/VruAwareness.c
|
||||
its/r2/VruClusterInformation.c
|
||||
its/r2/VruClusterInformationContainer.c
|
||||
its/r2/VruClusterOperationContainer.c
|
||||
its/r2/VruClusterProfiles.c
|
||||
its/r2/VruDeviceUsage.c
|
||||
its/r2/VruEnvironment.c
|
||||
its/r2/VruExteriorLights.c
|
||||
its/r2/VruHighFrequencyContainer.c
|
||||
its/r2/VruLowFrequencyContainer.c
|
||||
its/r2/VruMotionPredictionContainer.c
|
||||
its/r2/VruMovementControl.c
|
||||
its/r2/VruProfileAndSubprofile.c
|
||||
its/r2/VruSizeClass.c
|
||||
its/r2/VruSpecificExteriorLights.c
|
||||
its/r2/VruSubProfileAnimal.c
|
||||
its/r2/VruSubProfileBicyclist.c
|
||||
its/r2/VruSubProfileMotorcyclist.c
|
||||
its/r2/VruSubProfilePedestrian.c
|
||||
its/r2/WMInumber.c
|
||||
its/r2/Wgs84Angle.c
|
||||
its/r2/Wgs84AngleConfidence.c
|
||||
its/r2/Wgs84AngleValue.c
|
||||
its/r2/WheelBaseVehicle.c
|
||||
its/r2/WiperStatus.c
|
||||
its/r2/WrappedCpmContainer.c
|
||||
its/r2/WrappedCpmContainers.c
|
||||
its/r2/WrappedExtensionContainer.c
|
||||
its/r2/WrappedExtensionContainers.c
|
||||
its/r2/WrappedPoiInformationBlock.c
|
||||
its/r2/WrappedPoiInformationBlocks.c
|
||||
its/r2/WrongWayDrivingSubCauseCode.c
|
||||
its/r2/YawRate.c
|
||||
its/r2/YawRateConfidence.c
|
||||
its/r2/YawRateValue.c
|
||||
@@ -0,0 +1,710 @@
|
||||
# generated file
|
||||
its/AbsolutePosition.c
|
||||
its/AbsolutePositionWAltitude.c
|
||||
its/AbsolutePositions.c
|
||||
its/AbsolutePositionsWAltitude.c
|
||||
its/AccelerationConfidence.c
|
||||
its/AccelerationControl.c
|
||||
its/AccidentSubCauseCode.c
|
||||
its/ActionID.c
|
||||
its/ActualNumberOfPassengers.c
|
||||
its/AddRq.c
|
||||
its/AdverseWeatherCondition-AdhesionSubCauseCode.c
|
||||
its/AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.c
|
||||
its/AdverseWeatherCondition-PrecipitationSubCauseCode.c
|
||||
its/AdverseWeatherCondition-VisibilitySubCauseCode.c
|
||||
its/AdvisorySpeed.c
|
||||
its/AdvisorySpeedList.c
|
||||
its/AdvisorySpeedType.c
|
||||
its/AlacarteContainer.c
|
||||
its/AllowedManeuvers.c
|
||||
its/AlphabetIndicator.c
|
||||
its/Altitude.c
|
||||
its/AltitudeConfidence.c
|
||||
its/AltitudeValue.c
|
||||
its/Angle.c
|
||||
its/AngleConfidence.c
|
||||
its/AnimalSubclass.c
|
||||
its/AnimalSubclassType.c
|
||||
its/AntennaOffsetSet.c
|
||||
its/AnyCatalogue.c
|
||||
its/ApproachID.c
|
||||
its/AreaCircular.c
|
||||
its/AreaEllipse.c
|
||||
its/AreaPolygon.c
|
||||
its/AreaRadial.c
|
||||
its/AreaRectangle.c
|
||||
its/AttributeIdList.c
|
||||
its/AttributeList.c
|
||||
its/Attributes.c
|
||||
its/AutomatedVehicleContainer.c
|
||||
its/AutomatedVehicleRule.c
|
||||
its/AutomatedVehicleRules.c
|
||||
its/AvcPart.c
|
||||
its/AviEriDateTime.c
|
||||
its/AxleWeightLimits.c
|
||||
its/BankingAngle.c
|
||||
its/BasicContainer.c
|
||||
its/BasicVehicleContainerHighFrequency.c
|
||||
its/BasicVehicleContainerLowFrequency.c
|
||||
its/BasicVehicleRole.c
|
||||
its/BatteryStatus.c
|
||||
its/CAM.c
|
||||
its/CO2EmissionValue.c
|
||||
its/CPM.c
|
||||
its/CS1.c
|
||||
its/CS2.c
|
||||
its/CS3.c
|
||||
its/CS4.c
|
||||
its/CS5.c
|
||||
its/CS7.c
|
||||
its/CS8.c
|
||||
its/CamParameters.c
|
||||
its/CartesianAngle.c
|
||||
its/CartesianAngleValue.c
|
||||
its/CauseCode.c
|
||||
its/CauseCodeType.c
|
||||
its/CenDsrcTollingZone.c
|
||||
its/CenDsrcTollingZoneID.c
|
||||
its/ChannelId.c
|
||||
its/ChannelRq.c
|
||||
its/ChannelRs.c
|
||||
its/ClassConfidence.c
|
||||
its/ClosedLanes.c
|
||||
its/Code-Units.c
|
||||
its/CollectivePerceptionMessage.c
|
||||
its/CollisionRiskSubCauseCode.c
|
||||
its/ComparisonOperator.c
|
||||
its/CompleteVehicleCharacteristics.c
|
||||
its/ComputedLane.c
|
||||
its/ComputedSegment.c
|
||||
its/Condition.c
|
||||
its/ConnectedDenms.c
|
||||
its/ConnectingLane.c
|
||||
its/Connection.c
|
||||
its/ConnectionManeuverAssist-addGrpC.c
|
||||
its/ConnectionManeuverAssist.c
|
||||
its/ConnectionTrajectory-addGrpC.c
|
||||
its/ConnectsToList.c
|
||||
its/ConstraintTextLines1.c
|
||||
its/ConstraintTextLines2.c
|
||||
its/ContractAuthenticator.c
|
||||
its/ContractSerialNumber.c
|
||||
its/ContractValidity.c
|
||||
its/ContractVehicle.c
|
||||
its/CoopAwareness.c
|
||||
its/CopValue.c
|
||||
its/CopyRq.c
|
||||
its/CountryCode.c
|
||||
its/CpmManagementContainer.c
|
||||
its/CpmParameters.c
|
||||
its/CreditRq.c
|
||||
its/CreditRs.c
|
||||
its/Curvature.c
|
||||
its/CurvatureCalculationMode.c
|
||||
its/CurvatureConfidence.c
|
||||
its/CurvatureValue.c
|
||||
its/DDD-IO-LIST.c
|
||||
its/DDD-IO.c
|
||||
its/DDateTime.c
|
||||
its/DDay.c
|
||||
its/DENM.c
|
||||
its/DHour.c
|
||||
its/DMinute.c
|
||||
its/DMonth.c
|
||||
its/DOffset.c
|
||||
its/DSRCmsgID.c
|
||||
its/DSecond.c
|
||||
its/DYear.c
|
||||
its/DangerousEndOfQueueSubCauseCode.c
|
||||
its/DangerousGoodsBasic.c
|
||||
its/DangerousGoodsContainer.c
|
||||
its/DangerousGoodsExtended.c
|
||||
its/DangerousSituationSubCauseCode.c
|
||||
its/DataParameters.c
|
||||
its/DateAndTime.c
|
||||
its/DateCompact.c
|
||||
its/DayOfWeek.c
|
||||
its/DebitRq.c
|
||||
its/DebitRs.c
|
||||
its/DecentralizedEnvironmentalNotificationMessage.c
|
||||
its/DefinitionAccuracy.c
|
||||
its/DeltaAltitude.c
|
||||
its/DeltaAngle.c
|
||||
its/DeltaLatitude.c
|
||||
its/DeltaLongitude.c
|
||||
its/DeltaPosition.c
|
||||
its/DeltaPositions.c
|
||||
its/DeltaReferencePosition.c
|
||||
its/DeltaReferencePositions.c
|
||||
its/DeltaTime.c
|
||||
its/Depth.c
|
||||
its/DescriptiveCharacteristics.c
|
||||
its/DescriptiveName.c
|
||||
its/DestinationPlace.c
|
||||
its/DestinationPlaces.c
|
||||
its/DestinationRoad.c
|
||||
its/DestinationRoadType.c
|
||||
its/DestinationRoads.c
|
||||
its/DestinationType.c
|
||||
its/DetectionArea.c
|
||||
its/DieselEmissionValues.c
|
||||
its/DigitalMap.c
|
||||
its/Direction.c
|
||||
its/Distance.c
|
||||
its/DistanceConfidence.c
|
||||
its/DistanceOrDuration.c
|
||||
its/DistanceValue.c
|
||||
its/DriveDirection.c
|
||||
its/DrivenLineOffsetLg.c
|
||||
its/DrivenLineOffsetSm.c
|
||||
its/DrivingLaneStatus.c
|
||||
its/DynamicStatus.c
|
||||
its/EFC-ContextMark.c
|
||||
its/EfcDsrcApplication_DriverCharacteristics.c
|
||||
its/EfcDsrcApplication_TrailerCharacteristics.c
|
||||
its/Elevation.c
|
||||
its/ElevationConfidence.c
|
||||
its/EmbarkationStatus.c
|
||||
its/EmergencyContainer.c
|
||||
its/EmergencyPriority.c
|
||||
its/EmergencyVehicleApproachingSubCauseCode.c
|
||||
its/EmissionType.c
|
||||
its/EnabledLaneList.c
|
||||
its/EnergyStorageType.c
|
||||
its/Engine.c
|
||||
its/EngineCharacteristics.c
|
||||
its/EnvironmentalCharacteristics.c
|
||||
its/EquipmentOBUId.c
|
||||
its/EquipmentStatus.c
|
||||
its/EuVehicleCategoryCode.c
|
||||
its/EuVehicleCategoryL.c
|
||||
its/EuVehicleCategoryM.c
|
||||
its/EuVehicleCategoryN.c
|
||||
its/EuVehicleCategoryO.c
|
||||
its/EuroValue.c
|
||||
its/EventHistory.c
|
||||
its/EventPoint.c
|
||||
its/ExceptionalCondition.c
|
||||
its/ExhaustEmissionValues.c
|
||||
its/Ext1.c
|
||||
its/Ext2.c
|
||||
its/Ext3.c
|
||||
its/ExteriorLights.c
|
||||
its/FreeSpaceAddendum.c
|
||||
its/FreeSpaceAddendumContainer.c
|
||||
its/FreeSpaceArea.c
|
||||
its/FreeSpaceConfidence.c
|
||||
its/FreightContainerData.c
|
||||
its/FrictionCoefficient.c
|
||||
its/FrontOverhang.c
|
||||
its/FuelType.c
|
||||
its/FullPositionVector.c
|
||||
its/FutureCharacteristics.c
|
||||
its/GNSSstatus.c
|
||||
its/GapBetweenVehicles.c
|
||||
its/GddAttribute.c
|
||||
its/GddAttributes.c
|
||||
its/GddStructure.c
|
||||
its/GeneralIviContainer.c
|
||||
its/GenerationDeltaTime.c
|
||||
its/GenericLane.c
|
||||
its/GeoGraphicalLimit.c
|
||||
its/GeographicLocationContainer.c
|
||||
its/GetInstanceRq.c
|
||||
its/GetInstanceRs.c
|
||||
its/GetStampedRq.c
|
||||
its/GetStampedRs.c
|
||||
its/GicPart.c
|
||||
its/GlcPart.c
|
||||
its/GlcParts.c
|
||||
its/GoodsType.c
|
||||
its/HardShoulderStatus.c
|
||||
its/HazardousLocation-AnimalOnTheRoadSubCauseCode.c
|
||||
its/HazardousLocation-DangerousCurveSubCauseCode.c
|
||||
its/HazardousLocation-ObstacleOnTheRoadSubCauseCode.c
|
||||
its/HazardousLocation-SurfaceConditionSubCauseCode.c
|
||||
its/Heading.c
|
||||
its/HeadingConfidence.c
|
||||
its/HeadingIso.c
|
||||
its/HeadingIsoConfidenceIso.c
|
||||
its/HeadingValue.c
|
||||
its/HeightLonCarr.c
|
||||
its/HighFrequencyContainer.c
|
||||
its/HitchPointOffset.c
|
||||
its/HoursMinutes.c
|
||||
its/HumanPresenceOnTheRoadSubCauseCode.c
|
||||
its/HumanProblemSubCauseCode.c
|
||||
its/ICC-Id.c
|
||||
its/ISO14823Attribute.c
|
||||
its/ISO14823Attributes.c
|
||||
its/ISO14823Code.c
|
||||
its/ITS-Container_Temperature.c
|
||||
its/IVIM.c
|
||||
its/IVI_DriverCharacteristics.c
|
||||
its/IVI_Temperature.c
|
||||
its/IVI_TrailerCharacteristics.c
|
||||
its/Identifier.c
|
||||
its/ImpactReductionContainer.c
|
||||
its/InformationQuality.c
|
||||
its/Int1.c
|
||||
its/Int2.c
|
||||
its/Int3.c
|
||||
its/Int4.c
|
||||
its/InternationalSign-applicablePeriod.c
|
||||
its/InternationalSign-applicableVehicleDimensions.c
|
||||
its/InternationalSign-destinationInformation.c
|
||||
its/InternationalSign-directionalFlowOfLane.c
|
||||
its/InternationalSign-distanceBetweenVehicles.c
|
||||
its/InternationalSign-exemptedApplicablePeriod.c
|
||||
its/InternationalSign-numberOfLane.c
|
||||
its/InternationalSign-rateOfIncline.c
|
||||
its/InternationalSign-section.c
|
||||
its/InternationalSign-speedLimits.c
|
||||
its/IntersectionAccessPoint.c
|
||||
its/IntersectionGeometry.c
|
||||
its/IntersectionGeometryList.c
|
||||
its/IntersectionID.c
|
||||
its/IntersectionReferenceID.c
|
||||
its/IntersectionState-addGrpC.c
|
||||
its/IntersectionState.c
|
||||
its/IntersectionStateList.c
|
||||
its/IntersectionStatusObject.c
|
||||
its/Iso3833VehicleType.c
|
||||
its/IssuerIdentifierIso.c
|
||||
its/ItineraryPath.c
|
||||
its/ItsPduHeader.c
|
||||
its/ItsStationPosition.c
|
||||
its/ItsStationPositionList.c
|
||||
its/IviContainer.c
|
||||
its/IviContainers.c
|
||||
its/IviIdentificationNumber.c
|
||||
its/IviIdentificationNumbers.c
|
||||
its/IviLaneWidth.c
|
||||
its/IviManagementContainer.c
|
||||
its/IviPurpose.c
|
||||
its/IviStatus.c
|
||||
its/IviStructure.c
|
||||
its/IviType.c
|
||||
its/LPN.c
|
||||
its/LaneAttributes-Barrier.c
|
||||
its/LaneAttributes-Bike.c
|
||||
its/LaneAttributes-Crosswalk.c
|
||||
its/LaneAttributes-Parking.c
|
||||
its/LaneAttributes-Sidewalk.c
|
||||
its/LaneAttributes-Striping.c
|
||||
its/LaneAttributes-TrackedVehicle.c
|
||||
its/LaneAttributes-Vehicle.c
|
||||
its/LaneAttributes-addGrpC.c
|
||||
its/LaneAttributes.c
|
||||
its/LaneCharacteristics.c
|
||||
its/LaneConfiguration.c
|
||||
its/LaneConnectionID.c
|
||||
its/LaneDataAttribute.c
|
||||
its/LaneDataAttributeList.c
|
||||
its/LaneDelimitation.c
|
||||
its/LaneDirection.c
|
||||
its/LaneID.c
|
||||
its/LaneIds.c
|
||||
its/LaneInformation.c
|
||||
its/LaneList.c
|
||||
its/LaneMarkingStatus.c
|
||||
its/LanePosition.c
|
||||
its/LanePositions.c
|
||||
its/LaneSharing.c
|
||||
its/LaneStatus.c
|
||||
its/LaneType.c
|
||||
its/LaneTypeAttributes.c
|
||||
its/LaneWidth.c
|
||||
its/LateralAcceleration.c
|
||||
its/LateralAccelerationValue.c
|
||||
its/Latitude.c
|
||||
its/LayerID.c
|
||||
its/LayerType.c
|
||||
its/LayoutComponent.c
|
||||
its/LayoutComponents.c
|
||||
its/LayoutContainer.c
|
||||
its/LicPlateNumber.c
|
||||
its/LightBarSirenInUse.c
|
||||
its/LoadType.c
|
||||
its/LocationContainer.c
|
||||
its/Longitude.c
|
||||
its/LongitudinalAcceleration.c
|
||||
its/LongitudinalAccelerationValue.c
|
||||
its/LongitudinalLanePosition.c
|
||||
its/LongitudinalLanePositionConfidence.c
|
||||
its/LongitudinalLanePositionValue.c
|
||||
its/LowFrequencyContainer.c
|
||||
its/MAPEM.c
|
||||
its/ManagementContainer.c
|
||||
its/ManeuverAssistList.c
|
||||
its/ManufacturerIdentifier.c
|
||||
its/MapData-addGrpC.c
|
||||
its/MapData.c
|
||||
its/MapLocationContainer.c
|
||||
its/MapReference.c
|
||||
its/MarkingColour.c
|
||||
its/MatchedPosition.c
|
||||
its/MaterialType.c
|
||||
its/MaxLenghtOfPlatoon.c
|
||||
its/MaxNoOfVehicles.c
|
||||
its/MergeDivergeNodeAngle.c
|
||||
its/MinuteOfTheYear.c
|
||||
its/MlcPart.c
|
||||
its/MlcParts.c
|
||||
its/MonthDay.c
|
||||
its/MovementEvent-addGrpC.c
|
||||
its/MovementEvent.c
|
||||
its/MovementEventList.c
|
||||
its/MovementList.c
|
||||
its/MovementPhaseState.c
|
||||
its/MovementState.c
|
||||
its/MsgCount.c
|
||||
its/Node-LLmD-64b.c
|
||||
its/Node-XY-20b.c
|
||||
its/Node-XY-22b.c
|
||||
its/Node-XY-24b.c
|
||||
its/Node-XY-26b.c
|
||||
its/Node-XY-28b.c
|
||||
its/Node-XY-32b.c
|
||||
its/Node.c
|
||||
its/NodeAttributeSet-addGrpC.c
|
||||
its/NodeAttributeSetXY.c
|
||||
its/NodeAttributeXY.c
|
||||
its/NodeAttributeXYList.c
|
||||
its/NodeLink.c
|
||||
its/NodeListXY.c
|
||||
its/NodeOffsetPointXY.c
|
||||
its/NodeOffsetPointZ.c
|
||||
its/NodeSetXY.c
|
||||
its/NodeXY.c
|
||||
its/NumberOfOccupants.c
|
||||
its/NumberOfPerceivedObjects.c
|
||||
its/ObjectAge.c
|
||||
its/ObjectClass.c
|
||||
its/ObjectClassDescription.c
|
||||
its/ObjectConfidence.c
|
||||
its/ObjectDimension.c
|
||||
its/ObjectDimensionConfidence.c
|
||||
its/ObjectDimensionValue.c
|
||||
its/ObjectDistanceWithConfidence.c
|
||||
its/ObjectRefPoint.c
|
||||
its/Offset-B09.c
|
||||
its/Offset-B10.c
|
||||
its/Offset-B11.c
|
||||
its/Offset-B12.c
|
||||
its/Offset-B13.c
|
||||
its/Offset-B14.c
|
||||
its/Offset-B16.c
|
||||
its/OffsetPoint.c
|
||||
its/OpeningDaysHours.c
|
||||
its/OriginatingRSUContainer.c
|
||||
its/OriginatingVehicleContainer.c
|
||||
its/OtherSubclass.c
|
||||
its/OtherSublassType.c
|
||||
its/OverlayLaneList.c
|
||||
its/PassengerCapacity.c
|
||||
its/PathDeltaTime.c
|
||||
its/PathHistory.c
|
||||
its/PathPoint.c
|
||||
its/PayUnit.c
|
||||
its/PaymentFee.c
|
||||
its/PaymentMeans.c
|
||||
its/PaymentMeansBalance.c
|
||||
its/PaymentMeansUnit.c
|
||||
its/PaymentSecurityData.c
|
||||
its/PedestrianBicycleDetect.c
|
||||
its/PerceivedObject.c
|
||||
its/PerceivedObjectContainer.c
|
||||
its/PerceivedObjectContainerSegmentInfo.c
|
||||
its/PerformanceClass.c
|
||||
its/PersonSubclass.c
|
||||
its/PersonSubclassType.c
|
||||
its/PersonalAccountNumber.c
|
||||
its/PhoneNumber.c
|
||||
its/PlatooningRule.c
|
||||
its/PlatooningRules.c
|
||||
its/PolyPointList.c
|
||||
its/PolygonalLine.c
|
||||
its/PosCentMass.c
|
||||
its/PosConfidenceEllipse.c
|
||||
its/PosFrontAx.c
|
||||
its/PosLonCarr.c
|
||||
its/PosPillar.c
|
||||
its/Position3D-addGrpC.c
|
||||
its/Position3D.c
|
||||
its/PositionConfidence.c
|
||||
its/PositionConfidenceSet.c
|
||||
its/PositionOfOccupants.c
|
||||
its/PositionOfPillars.c
|
||||
its/PositionalAccuracy.c
|
||||
its/PositioningSolutionType.c
|
||||
its/PostCrashSubCauseCode.c
|
||||
its/PreemptPriorityList.c
|
||||
its/PrioritizationResponse.c
|
||||
its/PrioritizationResponseList.c
|
||||
its/PrioritizationResponseStatus.c
|
||||
its/PriorityLevel.c
|
||||
its/PriorityRequestType.c
|
||||
its/ProtectedCommunicationZone.c
|
||||
its/ProtectedCommunicationZonesRSU.c
|
||||
its/ProtectedZoneID.c
|
||||
its/ProtectedZoneRadius.c
|
||||
its/ProtectedZoneType.c
|
||||
its/Provider.c
|
||||
its/PtActivation.c
|
||||
its/PtActivationData.c
|
||||
its/PtActivationType.c
|
||||
its/PtvRequestType.c
|
||||
its/PublicTransportContainer.c
|
||||
its/PurseBalance.c
|
||||
its/RSCUnit.c
|
||||
its/RSCode.c
|
||||
its/RSUContainerHighFrequency.c
|
||||
its/RTCM-Revision.c
|
||||
its/RTCMEM.c
|
||||
its/RTCMcorrections.c
|
||||
its/RTCMheader.c
|
||||
its/RTCMmessage.c
|
||||
its/RTCMmessageList.c
|
||||
its/Radius.c
|
||||
its/Range.c
|
||||
its/RccPart.c
|
||||
its/RearOverhang.c
|
||||
its/ReceiptAuthenticator.c
|
||||
its/ReceiptContract.c
|
||||
its/ReceiptData.c
|
||||
its/ReceiptData1.c
|
||||
its/ReceiptData2.c
|
||||
its/ReceiptDistance.c
|
||||
its/ReceiptFinancialPart.c
|
||||
its/ReceiptICC-Id.c
|
||||
its/ReceiptOBUId.c
|
||||
its/ReceiptServicePart.c
|
||||
its/ReceiptServiceSerialNumber.c
|
||||
its/ReceiptText.c
|
||||
its/RefPointId.c
|
||||
its/ReferenceDenms.c
|
||||
its/ReferencePosition.c
|
||||
its/RegionId.c
|
||||
its/RegionalExtension.c
|
||||
its/RegulatorySpeedLimit.c
|
||||
its/RejectedReason.c
|
||||
its/RelevanceDistance.c
|
||||
its/RelevanceTrafficDirection.c
|
||||
its/RepeatingPeriodDayTypes.c
|
||||
its/RequestID.c
|
||||
its/RequestImportanceLevel.c
|
||||
its/RequestResponseIndication.c
|
||||
its/RequestSubRole.c
|
||||
its/RequestorDescription-addGrpC.c
|
||||
its/RequestorDescription.c
|
||||
its/RequestorPositionVector.c
|
||||
its/RequestorType.c
|
||||
its/RescueAndRecoveryWorkInProgressSubCauseCode.c
|
||||
its/RescueContainer.c
|
||||
its/RestrictedTypes.c
|
||||
its/RestrictionAppliesTo.c
|
||||
its/RestrictionClassAssignment.c
|
||||
its/RestrictionClassID.c
|
||||
its/RestrictionClassList.c
|
||||
its/RestrictionUserType-addGrpC.c
|
||||
its/RestrictionUserType.c
|
||||
its/RestrictionUserTypeList.c
|
||||
its/ResultFin.c
|
||||
its/ResultOp.c
|
||||
its/RoadConfigurationContainer.c
|
||||
its/RoadLaneSetList.c
|
||||
its/RoadRegulatorID.c
|
||||
its/RoadSegment.c
|
||||
its/RoadSegmentID.c
|
||||
its/RoadSegmentList.c
|
||||
its/RoadSegmentReferenceID.c
|
||||
its/RoadSignCodes.c
|
||||
its/RoadSurfaceContainer.c
|
||||
its/RoadSurfaceDynamicCharacteristics.c
|
||||
its/RoadSurfaceStaticCharacteristics.c
|
||||
its/RoadType.c
|
||||
its/RoadWorksContainerBasic.c
|
||||
its/RoadWorksContainerExtended.c
|
||||
its/RoadwayCrownAngle.c
|
||||
its/RoadworksSubCauseCode.c
|
||||
its/RscPart.c
|
||||
its/SPAT.c
|
||||
its/SPATEM.c
|
||||
its/SREM.c
|
||||
its/SSEM.c
|
||||
its/SaeAutomationLevel.c
|
||||
its/SaeAutomationLevels.c
|
||||
its/SafetyCarContainer.c
|
||||
its/Scale-B12.c
|
||||
its/Segment.c
|
||||
its/SegmentAttributeXY.c
|
||||
its/SegmentAttributeXYList.c
|
||||
its/SegmentCount.c
|
||||
its/SemiAxisLength.c
|
||||
its/SemiMajorAxisAccuracy.c
|
||||
its/SemiMajorAxisOrientation.c
|
||||
its/SemiMinorAxisAccuracy.c
|
||||
its/SemiRangeLength.c
|
||||
its/SensorHeight.c
|
||||
its/SensorIdList.c
|
||||
its/SensorInformation.c
|
||||
its/SensorInformationContainer.c
|
||||
its/SensorType.c
|
||||
its/SequenceNumber.c
|
||||
its/ServiceApplicationLimit.c
|
||||
its/ServiceNumber.c
|
||||
its/SessionClass.c
|
||||
its/SessionLocation.c
|
||||
its/SetInstanceRq.c
|
||||
its/SetMMIRq.c
|
||||
its/SetStampedRq.c
|
||||
its/ShadowingApplies.c
|
||||
its/SignalControlZone.c
|
||||
its/SignalGroupID.c
|
||||
its/SignalHeadLocation.c
|
||||
its/SignalHeadLocationList.c
|
||||
its/SignalRequest.c
|
||||
its/SignalRequestList.c
|
||||
its/SignalRequestMessage.c
|
||||
its/SignalRequestPackage.c
|
||||
its/SignalRequesterInfo.c
|
||||
its/SignalStatus.c
|
||||
its/SignalStatusList.c
|
||||
its/SignalStatusMessage.c
|
||||
its/SignalStatusPackage-addGrpC.c
|
||||
its/SignalStatusPackage.c
|
||||
its/SignalStatusPackageList.c
|
||||
its/SignalViolationSubCauseCode.c
|
||||
its/SignedValue.c
|
||||
its/SituationContainer.c
|
||||
its/SlowVehicleSubCauseCode.c
|
||||
its/SoundLevel.c
|
||||
its/SpecialTransportContainer.c
|
||||
its/SpecialTransportType.c
|
||||
its/SpecialVehicleContainer.c
|
||||
its/Speed.c
|
||||
its/SpeedAdvice.c
|
||||
its/SpeedConfidence.c
|
||||
its/SpeedConfidenceIso.c
|
||||
its/SpeedExtended.c
|
||||
its/SpeedLimit.c
|
||||
its/SpeedLimitList.c
|
||||
its/SpeedLimitType.c
|
||||
its/SpeedValue.c
|
||||
its/SpeedValueExtended.c
|
||||
its/SpeedandHeadingIsoandThrottleConfidence.c
|
||||
its/StartTime.c
|
||||
its/StationDataContainer.c
|
||||
its/StationID.c
|
||||
its/StationType.c
|
||||
its/StationTypeIso.c
|
||||
its/StationarySince.c
|
||||
its/StationaryVehicleContainer.c
|
||||
its/StationaryVehicleSubCauseCode.c
|
||||
its/SteeringWheelAngle.c
|
||||
its/SteeringWheelAngleConfidence.c
|
||||
its/SteeringWheelAngleValue.c
|
||||
its/StopTime.c
|
||||
its/SubCauseCodeType.c
|
||||
its/SubRq.c
|
||||
its/TaxCode.c
|
||||
its/TcPart.c
|
||||
its/TemporaryID.c
|
||||
its/Termination.c
|
||||
its/Text.c
|
||||
its/TextContainer.c
|
||||
its/TextLines.c
|
||||
its/ThrottleConfidence.c
|
||||
its/TimeChangeDetails.c
|
||||
its/TimeConfidence.c
|
||||
its/TimeIntervalConfidence.c
|
||||
its/TimeMark.c
|
||||
its/TimeOfMeasurement.c
|
||||
its/TimeReference.c
|
||||
its/TimestampIts.c
|
||||
its/Traces.c
|
||||
its/TractorAxles.c
|
||||
its/TractorCharacteristics.c
|
||||
its/TrafficConditionSubCauseCode.c
|
||||
its/TrafficRule.c
|
||||
its/TrailerAxles.c
|
||||
its/TrailerCharacteristicsFixValuesList.c
|
||||
its/TrailerCharacteristicsList.c
|
||||
its/TrailerCharacteristicsRangesList.c
|
||||
its/TrailerData.c
|
||||
its/TrailerDataContainer.c
|
||||
its/TrailerDetails.c
|
||||
its/TrailerLicencePlateNumber.c
|
||||
its/TrainCharacteristics.c
|
||||
its/TransitVehicleOccupancy.c
|
||||
its/TransitVehicleStatus.c
|
||||
its/TransmissionAndSpeed.c
|
||||
its/TransmissionInterval.c
|
||||
its/TransmissionState.c
|
||||
its/TreatmentType.c
|
||||
its/TurningRadius.c
|
||||
its/UnitType.c
|
||||
its/VDS.c
|
||||
its/ValidityDuration.c
|
||||
its/ValidityOfContract.c
|
||||
its/ValidityPeriods.c
|
||||
its/VanetzaTest.c
|
||||
its/VarLengthNumber.c
|
||||
its/VcClass.c
|
||||
its/VcCode.c
|
||||
its/VcOption.c
|
||||
its/VehicleAuthenticator.c
|
||||
its/VehicleAxles.c
|
||||
its/VehicleBreakdownSubCauseCode.c
|
||||
its/VehicleCharacteristicsFixValues.c
|
||||
its/VehicleCharacteristicsFixValuesList.c
|
||||
its/VehicleCharacteristicsList.c
|
||||
its/VehicleCharacteristicsRanges.c
|
||||
its/VehicleCharacteristicsRangesList.c
|
||||
its/VehicleClass.c
|
||||
its/VehicleCurrentMaxTrainWeight.c
|
||||
its/VehicleDimensions.c
|
||||
its/VehicleHeight.c
|
||||
its/VehicleID.c
|
||||
its/VehicleIdentification.c
|
||||
its/VehicleIdentificationNumber.c
|
||||
its/VehicleLength.c
|
||||
its/VehicleLengthConfidenceIndication.c
|
||||
its/VehicleLengthValue.c
|
||||
its/VehicleLicencePlateNumber.c
|
||||
its/VehicleMass.c
|
||||
its/VehicleRole.c
|
||||
its/VehicleSensor.c
|
||||
its/VehicleSensorProperties.c
|
||||
its/VehicleSensorPropertyList.c
|
||||
its/VehicleSpecificCharacteristics.c
|
||||
its/VehicleSubclass.c
|
||||
its/VehicleSubclassType.c
|
||||
its/VehicleTotalDistance.c
|
||||
its/VehicleType.c
|
||||
its/VehicleWeightLaden.c
|
||||
its/VehicleWeightLimits.c
|
||||
its/VehicleWidth.c
|
||||
its/Velocity.c
|
||||
its/VerticalAcceleration.c
|
||||
its/VerticalAccelerationValue.c
|
||||
its/WGS84Angle.c
|
||||
its/WGS84AngleValue.c
|
||||
its/WMInumber.c
|
||||
its/WaitOnStopline.c
|
||||
its/WearLevel.c
|
||||
its/Weight.c
|
||||
its/WheelBaseVehicle.c
|
||||
its/WrongWayDrivingSubCauseCode.c
|
||||
its/XSensorOffset.c
|
||||
its/YSensorOffset.c
|
||||
its/YawRate.c
|
||||
its/YawRateConfidence.c
|
||||
its/YawRateValue.c
|
||||
its/ZSensorOffset.c
|
||||
its/Zid.c
|
||||
its/Zone.c
|
||||
its/ZoneIds.c
|
||||
its/ZoneLength.c
|
||||
+386
@@ -0,0 +1,386 @@
|
||||
# generated file
|
||||
security/r2/AaEntry.c
|
||||
security/r2/AcaEeCertResponse.c
|
||||
security/r2/AcaEeCertResponseCubkSpdu.c
|
||||
security/r2/AcaEeCertResponsePlainSpdu.c
|
||||
security/r2/AcaEeCertResponsePrivateSpdu.c
|
||||
security/r2/AcaEeInterfacePdu.c
|
||||
security/r2/AcaLaInterfacePdu.c
|
||||
security/r2/AcaMaInterfacePdu.c
|
||||
security/r2/AcaRaCertResponse.c
|
||||
security/r2/AcaRaCertResponseSpdu.c
|
||||
security/r2/AcaRaInterfacePdu.c
|
||||
security/r2/AcaResponse.c
|
||||
security/r2/AcaSsp.c
|
||||
security/r2/AcpcNodeValue.c
|
||||
security/r2/AcpcPdu.c
|
||||
security/r2/AcpcPsid.c
|
||||
security/r2/AcpcSsp.c
|
||||
security/r2/AcpcTreeId.c
|
||||
security/r2/AdditionalParams.c
|
||||
security/r2/Aes128CcmCiphertext.c
|
||||
security/r2/AppExtension.c
|
||||
security/r2/AprvBinaryTree.c
|
||||
security/r2/AprvHashCalculationInput.c
|
||||
security/r2/AuthorizationResponseCode.c
|
||||
security/r2/AuthorizationValidationRequest.c
|
||||
security/r2/AuthorizationValidationRequestMessage.c
|
||||
security/r2/AuthorizationValidationResponse.c
|
||||
security/r2/AuthorizationValidationResponseCode.c
|
||||
security/r2/AuthorizationValidationResponseMessage.c
|
||||
security/r2/BasePublicEncryptionKey.c
|
||||
security/r2/BitmapSsp.c
|
||||
security/r2/BitmapSspRange.c
|
||||
security/r2/BlindedKey.c
|
||||
security/r2/ButterflyCertRequestMessage.c
|
||||
security/r2/ButterflyCertResponseMessage.c
|
||||
security/r2/ButterflyExpansion.c
|
||||
security/r2/ButterflyParamsOriginal.c
|
||||
security/r2/CaCertificateRekeyingMessage.c
|
||||
security/r2/CaCertificateRequest.c
|
||||
security/r2/CaCertificateRequestMessage.c
|
||||
security/r2/CamRaBatchResponse.c
|
||||
security/r2/CamRaInterfacePdu.c
|
||||
security/r2/CamSsp.c
|
||||
security/r2/CertIssueExtension.c
|
||||
security/r2/CertManagementPdu.c
|
||||
security/r2/CertRequestExtension.c
|
||||
security/r2/Certificate.c
|
||||
security/r2/CertificateBase.c
|
||||
security/r2/CertificateChain.c
|
||||
security/r2/CertificateChainSpdu.c
|
||||
security/r2/CertificateFormat.c
|
||||
security/r2/CertificateId.c
|
||||
security/r2/CertificateManagementInfoStatus.c
|
||||
security/r2/CertificateManagementInformationStatusSpdu.c
|
||||
security/r2/CertificateSubjectAttributes.c
|
||||
security/r2/CertificateType.c
|
||||
security/r2/CircularRegion.c
|
||||
security/r2/CompositeCrl.c
|
||||
security/r2/CompositeCrlSpdu.c
|
||||
security/r2/ContributedExtensionBlock.c
|
||||
security/r2/ContributedExtensionBlocks.c
|
||||
security/r2/Countersignature.c
|
||||
security/r2/CountryAndRegions.c
|
||||
security/r2/CountryAndSubregions.c
|
||||
security/r2/CountryOnly.c
|
||||
security/r2/CrlContents.c
|
||||
security/r2/CrlEntry.c
|
||||
security/r2/CrlInfoStatus.c
|
||||
security/r2/CrlPriorityInfo.c
|
||||
security/r2/CrlPsid.c
|
||||
security/r2/CrlSeries.c
|
||||
security/r2/CrlSignerSsp.c
|
||||
security/r2/CtlCommand.c
|
||||
security/r2/CtlDelete.c
|
||||
security/r2/CtlElectorEntry.c
|
||||
security/r2/CtlEntry.c
|
||||
security/r2/CtlFormat.c
|
||||
security/r2/CtlInfoStatus.c
|
||||
security/r2/CtlRootCaEntry.c
|
||||
security/r2/CtlSequenceNumber.c
|
||||
security/r2/CtlSeriesId.c
|
||||
security/r2/CtlSignatureSpdu.c
|
||||
security/r2/DcDelete.c
|
||||
security/r2/DcEntry.c
|
||||
security/r2/DcSsp.c
|
||||
security/r2/DcmSsp.c
|
||||
security/r2/DeltaCtl.c
|
||||
security/r2/Duration.c
|
||||
security/r2/EaEntry.c
|
||||
security/r2/EcSignature.c
|
||||
security/r2/EcaEeCertResponse.c
|
||||
security/r2/EcaEeCertResponseSpdu.c
|
||||
security/r2/EcaEeInterfacePdu.c
|
||||
security/r2/EcaSsp.c
|
||||
security/r2/EccP256CurvePoint.c
|
||||
security/r2/EccP384CurvePoint.c
|
||||
security/r2/EcdsaP256Signature.c
|
||||
security/r2/EcdsaP384Signature.c
|
||||
security/r2/EcencP256EncryptedKey.c
|
||||
security/r2/EciesP256EncryptedKey.c
|
||||
security/r2/EcsigP256Signature.c
|
||||
security/r2/EeEcaCertRequest.c
|
||||
security/r2/EeEcaCertRequestSpdu.c
|
||||
security/r2/EeMaInterfacePdu.c
|
||||
security/r2/EeRa1609Dot2AuthenticatedCertRequestSpdu.c
|
||||
security/r2/EeRaCertRequest.c
|
||||
security/r2/EeRaCertRequestSpdu.c
|
||||
security/r2/EeRaDownloadRequest.c
|
||||
security/r2/EeRaDownloadRequestPlainSpdu.c
|
||||
security/r2/EeRaDownloadRequestSpdu.c
|
||||
security/r2/EeRaInterfacePdu.c
|
||||
security/r2/EeRaSuccessorEnrollmentCertRequestSpdu.c
|
||||
security/r2/EeRaX509AuthenticatedCertRequestSpdu.c
|
||||
security/r2/EeSsp.c
|
||||
security/r2/ElectorSsp.c
|
||||
security/r2/Elevation.c
|
||||
security/r2/EncryptedData.c
|
||||
security/r2/EncryptedDataEncryptionKey.c
|
||||
security/r2/EncryptedIndividualPLV.c
|
||||
security/r2/EncryptionKey.c
|
||||
security/r2/EndEntityType.c
|
||||
security/r2/EnrolmentResponseCode.c
|
||||
security/r2/EtsiOriginatingHeaderInfoExtension.c
|
||||
security/r2/EtsiTs102941ButterflyAuthorizationRequest-X509Signed.c
|
||||
security/r2/EtsiTs102941CrlRequest.c
|
||||
security/r2/EtsiTs102941CtlRequest.c
|
||||
security/r2/EtsiTs102941DeltaCtlRequest.c
|
||||
security/r2/EtsiTs102941MessagesCa_AuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_AuthorizationRequestMessageWithPop.c
|
||||
security/r2/EtsiTs102941MessagesCa_AuthorizationResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_ButterflyAtDownloadRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_ButterflyAuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_ButterflyAuthorizationResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_CertificateRevocationListMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_EnrolmentRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_EnrolmentResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_EtsiTs102941Data.c
|
||||
security/r2/EtsiTs102941MessagesCa_EtsiTs102941DataContent.c
|
||||
security/r2/EtsiTs102941MessagesCa_RcaCertificateTrustListMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_TlmCertificateTrustListMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_TlmLinkCertificateMessage.c
|
||||
security/r2/EtsiTs102941MessagesCa_X509SignedButterflyAuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_AuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_AuthorizationRequestMessageWithPop.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_AuthorizationResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_ButterflyAtDownloadRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_ButterflyAuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_ButterflyAuthorizationResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_CertificateRevocationListMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_EnrolmentRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_EnrolmentResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_EtsiTs102941Data.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_EtsiTs102941DataContent.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_RcaCertificateTrustListMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_TlmCertificateTrustListMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_TlmLinkCertificateMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss-OptionalPrivacy_X509SignedButterflyAuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_AuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_AuthorizationRequestMessageWithPop.c
|
||||
security/r2/EtsiTs102941MessagesItss_AuthorizationResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_ButterflyAtDownloadRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_ButterflyAuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_ButterflyAuthorizationResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_CertificateRevocationListMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_EnrolmentRequestMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_EnrolmentResponseMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_EtsiTs102941Data.c
|
||||
security/r2/EtsiTs102941MessagesItss_EtsiTs102941DataContent.c
|
||||
security/r2/EtsiTs102941MessagesItss_RcaCertificateTrustListMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_TlmCertificateTrustListMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_TlmLinkCertificateMessage.c
|
||||
security/r2/EtsiTs102941MessagesItss_X509SignedButterflyAuthorizationRequestMessage.c
|
||||
security/r2/EtsiTs103097Certificate.c
|
||||
security/r2/EtsiTs103097Data-Encrypted-Unicast.c
|
||||
security/r2/EtsiTs103097Data-Encrypted.c
|
||||
security/r2/EtsiTs103097Data-Signed.c
|
||||
security/r2/EtsiTs103097Data-SignedAndEncrypted-Unicast.c
|
||||
security/r2/EtsiTs103097Data-SignedAndEncrypted.c
|
||||
security/r2/EtsiTs103097Data-SignedExternalPayload.c
|
||||
security/r2/EtsiTs103097Data-Unsecured.c
|
||||
security/r2/EtsiTs103097Data.c
|
||||
security/r2/EtsiTs103097ExtensionModule_ExtId.c
|
||||
security/r2/EtsiTs103097HeaderInfoExtensionId.c
|
||||
security/r2/ExpansionAlgorithmIdentifier.c
|
||||
security/r2/ExplicitCertificate.c
|
||||
security/r2/Extension.c
|
||||
security/r2/ExtensionModuleVersion.c
|
||||
security/r2/FullCtl.c
|
||||
security/r2/FullIeeeTbsCtl.c
|
||||
security/r2/GeographicRegion.c
|
||||
security/r2/GroupCrlEntry.c
|
||||
security/r2/GroupLinkageValue.c
|
||||
security/r2/GroupSingleSeedCrlEntry.c
|
||||
security/r2/HashAlgorithm.c
|
||||
security/r2/HashBasedRevocationInfo.c
|
||||
security/r2/HashedData.c
|
||||
security/r2/HashedId10.c
|
||||
security/r2/HashedId3.c
|
||||
security/r2/HashedId32.c
|
||||
security/r2/HashedId48.c
|
||||
security/r2/HashedId8.c
|
||||
security/r2/HeaderInfo.c
|
||||
security/r2/HeaderInfoContributorId.c
|
||||
security/r2/Hostname.c
|
||||
security/r2/IMaxGroup.c
|
||||
security/r2/IValue.c
|
||||
security/r2/IcaSsp.c
|
||||
security/r2/IdentifiedRegion.c
|
||||
security/r2/Ieee1609ContributedHeaderInfoExtension.c
|
||||
security/r2/Ieee1609Dot2BaseTypes_ExtId.c
|
||||
security/r2/Ieee1609Dot2Content.c
|
||||
security/r2/Ieee1609Dot2Data-Encrypted.c
|
||||
security/r2/Ieee1609Dot2Data-EncryptedSigned.c
|
||||
security/r2/Ieee1609Dot2Data-Signed.c
|
||||
security/r2/Ieee1609Dot2Data-SignedCertRequest.c
|
||||
security/r2/Ieee1609Dot2Data-SignedEncrypted.c
|
||||
security/r2/Ieee1609Dot2Data-SignedEncryptedCertRequest.c
|
||||
security/r2/Ieee1609Dot2Data-SignedX509AuthenticatedCertRequest.c
|
||||
security/r2/Ieee1609Dot2Data-SymmEncryptedSingleRecipient.c
|
||||
security/r2/Ieee1609Dot2Data-Unsecured.c
|
||||
security/r2/Ieee1609Dot2Data.c
|
||||
security/r2/Ieee1609HeaderInfoExtensionId.c
|
||||
security/r2/Ieee1609dot2dot1MsctlType.c
|
||||
security/r2/IeeeExtension.c
|
||||
security/r2/ImplicitCertificate.c
|
||||
security/r2/IndividualAprv.c
|
||||
security/r2/IndividualRevocation.c
|
||||
security/r2/InnerAtRequest.c
|
||||
security/r2/InnerAtResponse.c
|
||||
security/r2/InnerEcRequest.c
|
||||
security/r2/InnerEcRequestSignedForPop.c
|
||||
security/r2/InnerEcResponse.c
|
||||
security/r2/IssuerIdentifier.c
|
||||
security/r2/JMaxGroup.c
|
||||
security/r2/KnownLatitude.c
|
||||
security/r2/KnownLongitude.c
|
||||
security/r2/LAGroup.c
|
||||
security/r2/LaId.c
|
||||
security/r2/LaMaInterfacePdu.c
|
||||
security/r2/LaRaInterfacePdu.c
|
||||
security/r2/LaSsp.c
|
||||
security/r2/Latitude.c
|
||||
security/r2/LinkageData.c
|
||||
security/r2/LinkageInfo.c
|
||||
security/r2/LinkageSeed.c
|
||||
security/r2/LinkageValue.c
|
||||
security/r2/Longitude.c
|
||||
security/r2/LopSsp.c
|
||||
security/r2/LvGenerationFunctionIdentifier.c
|
||||
security/r2/MaInfoStatus.c
|
||||
security/r2/MaRaInterfacePdu.c
|
||||
security/r2/MaSsp.c
|
||||
security/r2/MissingCrlIdentifier.c
|
||||
security/r2/MultiSignedCtl.c
|
||||
security/r2/MultiSignedCtlSpdu.c
|
||||
security/r2/NinetyDegreeInt.c
|
||||
security/r2/One28BitCcmCiphertext.c
|
||||
security/r2/OneEightyDegreeInt.c
|
||||
security/r2/Opaque.c
|
||||
security/r2/OperatingOrganizationId.c
|
||||
security/r2/PKRecipientInfo.c
|
||||
security/r2/PduFunctionalType.c
|
||||
security/r2/PgSsp.c
|
||||
security/r2/PolygonalRegion.c
|
||||
security/r2/PreLinkageValue.c
|
||||
security/r2/PreSharedKeyRecipientInfo.c
|
||||
security/r2/Psid.c
|
||||
security/r2/PsidGroupPermissions.c
|
||||
security/r2/PsidSsp.c
|
||||
security/r2/PsidSspRange.c
|
||||
security/r2/PublicEncryptionKey.c
|
||||
security/r2/PublicKeys.c
|
||||
security/r2/PublicVerificationKey.c
|
||||
security/r2/RaAcaCertRequest.c
|
||||
security/r2/RaAcaCertRequestFlags.c
|
||||
security/r2/RaAcaCertRequestSpdu.c
|
||||
security/r2/RaCamBatchRequest.c
|
||||
security/r2/RaEeCertAck.c
|
||||
security/r2/RaEeCertAckSpdu.c
|
||||
security/r2/RaEeCertAndAcpcInfoSpdu.c
|
||||
security/r2/RaEeCertInfo.c
|
||||
security/r2/RaEeCertInfoSpdu.c
|
||||
security/r2/RaEeEnrollmentCertAckSpdu.c
|
||||
security/r2/RaSsp.c
|
||||
security/r2/RcaDoubleSignedLinkCertificateMessage.c
|
||||
security/r2/RcaSingleSignedLinkCertificateMessage.c
|
||||
security/r2/RecipientInfo.c
|
||||
security/r2/RectangularRegion.c
|
||||
security/r2/RegionAndSubregions.c
|
||||
security/r2/RootCaEntry.c
|
||||
security/r2/RootCaSsp.c
|
||||
security/r2/ScmsPdu-EeEcaCertRequest.c
|
||||
security/r2/ScmsPdu-EeRaCertRequest.c
|
||||
security/r2/ScmsPdu-EeRaSuccessorEnrollmentCertRequest.c
|
||||
security/r2/ScmsPdu-RaAcaCertRequest.c
|
||||
security/r2/ScmsPdu-Scoped.c
|
||||
security/r2/ScmsPdu.c
|
||||
security/r2/ScopedCertificateRequest.c
|
||||
security/r2/SecuredCrl.c
|
||||
security/r2/SecurityMgmtPsid.c
|
||||
security/r2/SecurityMgmtSsp.c
|
||||
security/r2/SeedEvolutionFunctionIdentifier.c
|
||||
security/r2/SequenceOfAppExtensions.c
|
||||
security/r2/SequenceOfCertIssueExtensions.c
|
||||
security/r2/SequenceOfCertRequestExtensions.c
|
||||
security/r2/SequenceOfCertificate.c
|
||||
security/r2/SequenceOfCrlInfoStatus.c
|
||||
security/r2/SequenceOfCtlInfoStatus.c
|
||||
security/r2/SequenceOfGroupCrlEntry.c
|
||||
security/r2/SequenceOfGroupSingleSeedCrlEntry.c
|
||||
security/r2/SequenceOfHashBasedRevocationInfo.c
|
||||
security/r2/SequenceOfHashedId3.c
|
||||
security/r2/SequenceOfIMaxGroup.c
|
||||
security/r2/SequenceOfIdentifiedRegion.c
|
||||
security/r2/SequenceOfIndividualRevocation.c
|
||||
security/r2/SequenceOfJMaxGroup.c
|
||||
security/r2/SequenceOfLAGroup.c
|
||||
security/r2/SequenceOfLinkageSeed.c
|
||||
security/r2/SequenceOfMaInfoStatus.c
|
||||
security/r2/SequenceOfOctetString.c
|
||||
security/r2/SequenceOfPsid.c
|
||||
security/r2/SequenceOfPsidGroupPermissions.c
|
||||
security/r2/SequenceOfPsidSsp.c
|
||||
security/r2/SequenceOfPsidSspRange.c
|
||||
security/r2/SequenceOfRecipientInfo.c
|
||||
security/r2/SequenceOfRectangularRegion.c
|
||||
security/r2/SequenceOfRegionAndSubregions.c
|
||||
security/r2/SequenceOfUint16.c
|
||||
security/r2/SequenceOfUint8.c
|
||||
security/r2/SequenceOfX509Certificate.c
|
||||
security/r2/ServiceSpecificPermissions.c
|
||||
security/r2/SharedAtRequest.c
|
||||
security/r2/Signature.c
|
||||
security/r2/SignedAprvBinaryTree.c
|
||||
security/r2/SignedCertificateRequest.c
|
||||
security/r2/SignedData.c
|
||||
security/r2/SignedDataPayload.c
|
||||
security/r2/SignedIndividualAprv.c
|
||||
security/r2/SignedX509CertificateRequest.c
|
||||
security/r2/SignerIdentifier.c
|
||||
security/r2/SignerSelf.c
|
||||
security/r2/SignerSingleCert.c
|
||||
security/r2/SignerSingleX509Cert.c
|
||||
security/r2/SspRange.c
|
||||
security/r2/SubjectAssurance.c
|
||||
security/r2/SubjectPermissions.c
|
||||
security/r2/SymmAlgorithm.c
|
||||
security/r2/SymmRecipientInfo.c
|
||||
security/r2/SymmetricCiphertext.c
|
||||
security/r2/SymmetricEncryptionKey.c
|
||||
security/r2/TestCertificate.c
|
||||
security/r2/TestSecurityMgmtSsp.c
|
||||
security/r2/ThreeDLocation.c
|
||||
security/r2/Time32.c
|
||||
security/r2/Time64.c
|
||||
security/r2/TlmEntry.c
|
||||
security/r2/ToBeSignedCertificate.c
|
||||
security/r2/ToBeSignedCrl.c
|
||||
security/r2/ToBeSignedCtlSignature.c
|
||||
security/r2/ToBeSignedData.c
|
||||
security/r2/ToBeSignedHashIdCrl.c
|
||||
security/r2/ToBeSignedLinkCertificate.c
|
||||
security/r2/ToBeSignedLinkCertificateRca.c
|
||||
security/r2/ToBeSignedLinkCertificateTlm.c
|
||||
security/r2/ToBeSignedLinkageValueCrl.c
|
||||
security/r2/ToBeSignedLinkageValueCrlWithAlgIdentifier.c
|
||||
security/r2/ToBeSignedRcaCtl.c
|
||||
security/r2/ToBeSignedTlmCtl.c
|
||||
security/r2/TwoDLocation.c
|
||||
security/r2/TypeSpecificCrlContents.c
|
||||
security/r2/Uint16.c
|
||||
security/r2/Uint3.c
|
||||
security/r2/Uint32.c
|
||||
security/r2/Uint64.c
|
||||
security/r2/Uint8.c
|
||||
security/r2/UnCountryId.c
|
||||
security/r2/UnknownLatitude.c
|
||||
security/r2/UnknownLongitude.c
|
||||
security/r2/UnsecuredAprvBinaryTree.c
|
||||
security/r2/Url.c
|
||||
security/r2/ValidityPeriod.c
|
||||
security/r2/VerificationKeyIndicator.c
|
||||
security/r2/Version.c
|
||||
security/r2/X509Certificate.c
|
||||
security/r2/X509SignerIdentifier.c
|
||||
+165
@@ -0,0 +1,165 @@
|
||||
# generated file
|
||||
security/AaEntry.c
|
||||
security/AesCcmCiphertext.c
|
||||
security/AuthorizationRequestMessage.c
|
||||
security/AuthorizationRequestMessageWithPop.c
|
||||
security/AuthorizationResponseCode.c
|
||||
security/AuthorizationResponseMessage.c
|
||||
security/AuthorizationValidationRequest.c
|
||||
security/AuthorizationValidationRequestMessage.c
|
||||
security/AuthorizationValidationResponse.c
|
||||
security/AuthorizationValidationResponseCode.c
|
||||
security/AuthorizationValidationResponseMessage.c
|
||||
security/BasePublicEncryptionKey.c
|
||||
security/BitmapSsp.c
|
||||
security/BitmapSspRange.c
|
||||
security/CaCertificateRekeyingMessage.c
|
||||
security/CaCertificateRequest.c
|
||||
security/CaCertificateRequestMessage.c
|
||||
security/Certificate.c
|
||||
security/CertificateBase.c
|
||||
security/CertificateFormat.c
|
||||
security/CertificateId.c
|
||||
security/CertificateRevocationListMessage.c
|
||||
security/CertificateSubjectAttributes.c
|
||||
security/CertificateType.c
|
||||
security/CircularRegion.c
|
||||
security/Countersignature.c
|
||||
security/CountryAndRegions.c
|
||||
security/CountryAndSubregions.c
|
||||
security/CountryOnly.c
|
||||
security/CrlEntry.c
|
||||
security/CrlSeries.c
|
||||
security/CtlCommand.c
|
||||
security/CtlDelete.c
|
||||
security/CtlEntry.c
|
||||
security/CtlFormat.c
|
||||
security/DcDelete.c
|
||||
security/DcEntry.c
|
||||
security/DeltaCtl.c
|
||||
security/Duration.c
|
||||
security/EaEntry.c
|
||||
security/EcSignature.c
|
||||
security/EccP256CurvePoint.c
|
||||
security/EccP384CurvePoint.c
|
||||
security/EcdsaP256Signature.c
|
||||
security/EcdsaP384Signature.c
|
||||
security/EciesP256EncryptedKey.c
|
||||
security/ElevInt.c
|
||||
security/Elevation.c
|
||||
security/EncryptedData.c
|
||||
security/EncryptedDataEncryptionKey.c
|
||||
security/EncryptionKey.c
|
||||
security/EndEntityType.c
|
||||
security/EnrolmentRequestMessage.c
|
||||
security/EnrolmentResponseCode.c
|
||||
security/EnrolmentResponseMessage.c
|
||||
security/EtsiTs102941Data.c
|
||||
security/EtsiTs102941DataContent.c
|
||||
security/EtsiTs103097Certificate.c
|
||||
security/EtsiTs103097Data-Encrypted-Unicast.c
|
||||
security/EtsiTs103097Data-Encrypted.c
|
||||
security/EtsiTs103097Data-Signed.c
|
||||
security/EtsiTs103097Data-SignedAndEncrypted-Unicast.c
|
||||
security/EtsiTs103097Data-SignedAndEncrypted.c
|
||||
security/EtsiTs103097Data-SignedExternalPayload.c
|
||||
security/EtsiTs103097Data-Unsecured.c
|
||||
security/EtsiTs103097Data.c
|
||||
security/ExplicitCertificate.c
|
||||
security/FullCtl.c
|
||||
security/GeographicRegion.c
|
||||
security/GroupLinkageValue.c
|
||||
security/HashAlgorithm.c
|
||||
security/HashedData.c
|
||||
security/HashedId10.c
|
||||
security/HashedId3.c
|
||||
security/HashedId8.c
|
||||
security/HeaderInfo.c
|
||||
security/Hostname.c
|
||||
security/IValue.c
|
||||
security/IdentifiedRegion.c
|
||||
security/Ieee1609Dot2Content.c
|
||||
security/Ieee1609Dot2Data.c
|
||||
security/ImplicitCertificate.c
|
||||
security/InnerAtRequest.c
|
||||
security/InnerAtResponse.c
|
||||
security/InnerEcRequest.c
|
||||
security/InnerEcRequestSignedForPop.c
|
||||
security/InnerEcResponse.c
|
||||
security/IssuerIdentifier.c
|
||||
security/KnownLatitude.c
|
||||
security/KnownLongitude.c
|
||||
security/LaId.c
|
||||
security/Latitude.c
|
||||
security/LinkageData.c
|
||||
security/LinkageSeed.c
|
||||
security/LinkageValue.c
|
||||
security/Longitude.c
|
||||
security/MissingCrlIdentifier.c
|
||||
security/NinetyDegreeInt.c
|
||||
security/OneEightyDegreeInt.c
|
||||
security/Opaque.c
|
||||
security/PKRecipientInfo.c
|
||||
security/PolygonalRegion.c
|
||||
security/PreSharedKeyRecipientInfo.c
|
||||
security/Psid.c
|
||||
security/PsidGroupPermissions.c
|
||||
security/PsidSsp.c
|
||||
security/PsidSspRange.c
|
||||
security/PublicEncryptionKey.c
|
||||
security/PublicKeys.c
|
||||
security/PublicVerificationKey.c
|
||||
security/RcaCertificateTrustListMessage.c
|
||||
security/RecipientInfo.c
|
||||
security/RectangularRegion.c
|
||||
security/RegionAndSubregions.c
|
||||
security/RootCaEntry.c
|
||||
security/SequenceOfCertificate.c
|
||||
security/SequenceOfHashedId3.c
|
||||
security/SequenceOfIdentifiedRegion.c
|
||||
security/SequenceOfOctetString.c
|
||||
security/SequenceOfPsid.c
|
||||
security/SequenceOfPsidGroupPermissions.c
|
||||
security/SequenceOfPsidSsp.c
|
||||
security/SequenceOfPsidSspRange.c
|
||||
security/SequenceOfRecipientInfo.c
|
||||
security/SequenceOfRectangularRegion.c
|
||||
security/SequenceOfRegionAndSubregions.c
|
||||
security/SequenceOfUint16.c
|
||||
security/SequenceOfUint8.c
|
||||
security/ServiceSpecificPermissions.c
|
||||
security/SharedAtRequest.c
|
||||
security/Signature.c
|
||||
security/SignedData.c
|
||||
security/SignedDataPayload.c
|
||||
security/SignerIdentifier.c
|
||||
security/SingleEtsiTs103097Certificate.c
|
||||
security/SspRange.c
|
||||
security/SubjectAssurance.c
|
||||
security/SubjectPermissions.c
|
||||
security/SymmAlgorithm.c
|
||||
security/SymmRecipientInfo.c
|
||||
security/SymmetricCiphertext.c
|
||||
security/SymmetricEncryptionKey.c
|
||||
security/ThreeDLocation.c
|
||||
security/Time32.c
|
||||
security/Time64.c
|
||||
security/TlmCertificateTrustListMessage.c
|
||||
security/TlmEntry.c
|
||||
security/ToBeSignedCertificate.c
|
||||
security/ToBeSignedCrl.c
|
||||
security/ToBeSignedData.c
|
||||
security/ToBeSignedRcaCtl.c
|
||||
security/ToBeSignedTlmCtl.c
|
||||
security/TwoDLocation.c
|
||||
security/Uint16.c
|
||||
security/Uint3.c
|
||||
security/Uint32.c
|
||||
security/Uint64.c
|
||||
security/Uint8.c
|
||||
security/UnknownLatitude.c
|
||||
security/UnknownLongitude.c
|
||||
security/Url.c
|
||||
security/ValidityPeriod.c
|
||||
security/VerificationKeyIndicator.c
|
||||
security/Version.c
|
||||
@@ -0,0 +1,214 @@
|
||||
# generated file
|
||||
support/ANY.c
|
||||
support/ANY_aper.c
|
||||
support/ANY_ber.c
|
||||
support/ANY_jer.c
|
||||
support/ANY_uper.c
|
||||
support/ANY_xer.c
|
||||
support/BIT_STRING.c
|
||||
support/BIT_STRING_jer.c
|
||||
support/BIT_STRING_oer.c
|
||||
support/BIT_STRING_print.c
|
||||
support/BIT_STRING_rfill.c
|
||||
support/BIT_STRING_uper.c
|
||||
support/BIT_STRING_xer.c
|
||||
support/BMPString.c
|
||||
support/BMPString_jer.c
|
||||
support/BMPString_print.c
|
||||
support/BMPString_xer.c
|
||||
support/BOOLEAN.c
|
||||
support/BOOLEAN_aper.c
|
||||
support/BOOLEAN_ber.c
|
||||
support/BOOLEAN_jer.c
|
||||
support/BOOLEAN_oer.c
|
||||
support/BOOLEAN_print.c
|
||||
support/BOOLEAN_rfill.c
|
||||
support/BOOLEAN_uper.c
|
||||
support/BOOLEAN_xer.c
|
||||
support/ENUMERATED.c
|
||||
support/ENUMERATED_aper.c
|
||||
support/ENUMERATED_jer.c
|
||||
support/ENUMERATED_oer.c
|
||||
support/ENUMERATED_uper.c
|
||||
support/GeneralString.c
|
||||
support/GeneralizedTime.c
|
||||
support/GeneralizedTime_ber.c
|
||||
support/GeneralizedTime_jer.c
|
||||
support/GeneralizedTime_print.c
|
||||
support/GeneralizedTime_rfill.c
|
||||
support/GeneralizedTime_xer.c
|
||||
support/GraphicString.c
|
||||
support/IA5String.c
|
||||
support/INTEGER.c
|
||||
support/INTEGER_aper.c
|
||||
support/INTEGER_ber.c
|
||||
support/INTEGER_jer.c
|
||||
support/INTEGER_oer.c
|
||||
support/INTEGER_print.c
|
||||
support/INTEGER_rfill.c
|
||||
support/INTEGER_uper.c
|
||||
support/INTEGER_xer.c
|
||||
support/ISO646String.c
|
||||
support/NULL.c
|
||||
support/NULL_aper.c
|
||||
support/NULL_ber.c
|
||||
support/NULL_jer.c
|
||||
support/NULL_oer.c
|
||||
support/NULL_print.c
|
||||
support/NULL_rfill.c
|
||||
support/NULL_uper.c
|
||||
support/NULL_xer.c
|
||||
support/NativeEnumerated.c
|
||||
support/NativeEnumerated_aper.c
|
||||
support/NativeEnumerated_ber.c
|
||||
support/NativeEnumerated_jer.c
|
||||
support/NativeEnumerated_oer.c
|
||||
support/NativeEnumerated_uper.c
|
||||
support/NativeEnumerated_xer.c
|
||||
support/NativeInteger.c
|
||||
support/NativeInteger_aper.c
|
||||
support/NativeInteger_ber.c
|
||||
support/NativeInteger_jer.c
|
||||
support/NativeInteger_oer.c
|
||||
support/NativeInteger_print.c
|
||||
support/NativeInteger_rfill.c
|
||||
support/NativeInteger_uper.c
|
||||
support/NativeInteger_xer.c
|
||||
support/NativeReal.c
|
||||
support/NativeReal_aper.c
|
||||
support/NativeReal_ber.c
|
||||
support/NativeReal_jer.c
|
||||
support/NativeReal_oer.c
|
||||
support/NativeReal_print.c
|
||||
support/NativeReal_rfill.c
|
||||
support/NativeReal_uper.c
|
||||
support/NativeReal_xer.c
|
||||
support/NumericString.c
|
||||
support/OBJECT_IDENTIFIER.c
|
||||
support/OBJECT_IDENTIFIER_jer.c
|
||||
support/OBJECT_IDENTIFIER_print.c
|
||||
support/OBJECT_IDENTIFIER_rfill.c
|
||||
support/OBJECT_IDENTIFIER_xer.c
|
||||
support/OCTET_STRING.c
|
||||
support/OCTET_STRING_aper.c
|
||||
support/OCTET_STRING_ber.c
|
||||
support/OCTET_STRING_jer.c
|
||||
support/OCTET_STRING_oer.c
|
||||
support/OCTET_STRING_print.c
|
||||
support/OCTET_STRING_rfill.c
|
||||
support/OCTET_STRING_uper.c
|
||||
support/OCTET_STRING_xer.c
|
||||
support/OPEN_TYPE.c
|
||||
support/OPEN_TYPE_aper.c
|
||||
support/OPEN_TYPE_ber.c
|
||||
support/OPEN_TYPE_jer.c
|
||||
support/OPEN_TYPE_oer.c
|
||||
support/OPEN_TYPE_uper.c
|
||||
support/OPEN_TYPE_xer.c
|
||||
support/ObjectDescriptor.c
|
||||
support/PrintableString.c
|
||||
support/REAL.c
|
||||
support/REAL_aper.c
|
||||
support/REAL_jer.c
|
||||
support/REAL_oer.c
|
||||
support/REAL_print.c
|
||||
support/REAL_rfill.c
|
||||
support/REAL_uper.c
|
||||
support/REAL_xer.c
|
||||
support/RELATIVE-OID.c
|
||||
support/RELATIVE-OID_jer.c
|
||||
support/RELATIVE-OID_print.c
|
||||
support/RELATIVE-OID_rfill.c
|
||||
support/RELATIVE-OID_xer.c
|
||||
support/T61String.c
|
||||
support/TeletexString.c
|
||||
support/UTCTime.c
|
||||
support/UTCTime_jer.c
|
||||
support/UTCTime_print.c
|
||||
support/UTCTime_rfill.c
|
||||
support/UTCTime_xer.c
|
||||
support/UTF8String.c
|
||||
support/UTF8String_print.c
|
||||
support/UTF8String_rfill.c
|
||||
support/UniversalString.c
|
||||
support/UniversalString_jer.c
|
||||
support/UniversalString_print.c
|
||||
support/UniversalString_xer.c
|
||||
support/VideotexString.c
|
||||
support/VisibleString.c
|
||||
support/aper_decoder.c
|
||||
support/aper_encoder.c
|
||||
support/aper_opentype.c
|
||||
support/aper_support.c
|
||||
support/asn_SEQUENCE_OF.c
|
||||
support/asn_SET_OF.c
|
||||
support/asn_application.c
|
||||
support/asn_bit_data.c
|
||||
support/asn_codecs_prim.c
|
||||
support/asn_codecs_prim_ber.c
|
||||
support/asn_codecs_prim_jer.c
|
||||
support/asn_codecs_prim_xer.c
|
||||
support/asn_internal.c
|
||||
support/asn_random_fill.c
|
||||
support/ber_decoder.c
|
||||
support/ber_tlv_length.c
|
||||
support/ber_tlv_tag.c
|
||||
support/constr_CHOICE.c
|
||||
support/constr_CHOICE_aper.c
|
||||
support/constr_CHOICE_ber.c
|
||||
support/constr_CHOICE_jer.c
|
||||
support/constr_CHOICE_oer.c
|
||||
support/constr_CHOICE_print.c
|
||||
support/constr_CHOICE_rfill.c
|
||||
support/constr_CHOICE_uper.c
|
||||
support/constr_CHOICE_xer.c
|
||||
support/constr_SEQUENCE.c
|
||||
support/constr_SEQUENCE_OF.c
|
||||
support/constr_SEQUENCE_OF_aper.c
|
||||
support/constr_SEQUENCE_OF_ber.c
|
||||
support/constr_SEQUENCE_OF_jer.c
|
||||
support/constr_SEQUENCE_OF_uper.c
|
||||
support/constr_SEQUENCE_OF_xer.c
|
||||
support/constr_SEQUENCE_aper.c
|
||||
support/constr_SEQUENCE_ber.c
|
||||
support/constr_SEQUENCE_jer.c
|
||||
support/constr_SEQUENCE_oer.c
|
||||
support/constr_SEQUENCE_print.c
|
||||
support/constr_SEQUENCE_rfill.c
|
||||
support/constr_SEQUENCE_uper.c
|
||||
support/constr_SEQUENCE_xer.c
|
||||
support/constr_SET.c
|
||||
support/constr_SET_OF.c
|
||||
support/constr_SET_OF_aper.c
|
||||
support/constr_SET_OF_ber.c
|
||||
support/constr_SET_OF_jer.c
|
||||
support/constr_SET_OF_oer.c
|
||||
support/constr_SET_OF_print.c
|
||||
support/constr_SET_OF_rfill.c
|
||||
support/constr_SET_OF_uper.c
|
||||
support/constr_SET_OF_xer.c
|
||||
support/constr_SET_ber.c
|
||||
support/constr_SET_jer.c
|
||||
support/constr_SET_print.c
|
||||
support/constr_SET_rfill.c
|
||||
support/constr_SET_xer.c
|
||||
support/constr_TYPE.c
|
||||
support/constraints.c
|
||||
support/der_encoder.c
|
||||
support/jer_decoder.c
|
||||
support/jer_encoder.c
|
||||
support/jer_support.c
|
||||
support/oer_decoder.c
|
||||
support/oer_encoder.c
|
||||
support/oer_support.c
|
||||
support/per_decoder.c
|
||||
support/per_encoder.c
|
||||
support/per_opentype.c
|
||||
support/per_support.c
|
||||
support/uper_decoder.c
|
||||
support/uper_encoder.c
|
||||
support/uper_opentype.c
|
||||
support/uper_support.c
|
||||
support/xer_decoder.c
|
||||
support/xer_encoder.c
|
||||
support/xer_support.c
|
||||
+147
@@ -0,0 +1,147 @@
|
||||
# generated file
|
||||
systemx-pqc/Aes128CcmCiphertext.c
|
||||
systemx-pqc/AppExtension.c
|
||||
systemx-pqc/BasePublicEncryptionKey.c
|
||||
systemx-pqc/BitmapSsp.c
|
||||
systemx-pqc/BitmapSspRange.c
|
||||
systemx-pqc/CertIssueExtension.c
|
||||
systemx-pqc/CertRequestExtension.c
|
||||
systemx-pqc/Certificate.c
|
||||
systemx-pqc/CertificateBase.c
|
||||
systemx-pqc/CertificateId.c
|
||||
systemx-pqc/CertificateType.c
|
||||
systemx-pqc/CircularRegion.c
|
||||
systemx-pqc/ContributedExtensionBlock.c
|
||||
systemx-pqc/ContributedExtensionBlocks.c
|
||||
systemx-pqc/Countersignature.c
|
||||
systemx-pqc/CountryAndRegions.c
|
||||
systemx-pqc/CountryAndSubregions.c
|
||||
systemx-pqc/CountryOnly.c
|
||||
systemx-pqc/CrlSeries.c
|
||||
systemx-pqc/Duration.c
|
||||
systemx-pqc/EccP256CurvePoint.c
|
||||
systemx-pqc/EccP384CurvePoint.c
|
||||
systemx-pqc/EcdsaP256Signature.c
|
||||
systemx-pqc/EcdsaP384Signature.c
|
||||
systemx-pqc/EcencP256EncryptedKey.c
|
||||
systemx-pqc/EciesP256EncryptedKey.c
|
||||
systemx-pqc/EcsigP256Signature.c
|
||||
systemx-pqc/Elevation.c
|
||||
systemx-pqc/EncryptedData.c
|
||||
systemx-pqc/EncryptedDataEncryptionKey.c
|
||||
systemx-pqc/EncryptionKey.c
|
||||
systemx-pqc/EndEntityType.c
|
||||
systemx-pqc/EtsiOriginatingHeaderInfoExtension.c
|
||||
systemx-pqc/EtsiTs102941CrlRequest.c
|
||||
systemx-pqc/EtsiTs102941CtlRequest.c
|
||||
systemx-pqc/EtsiTs102941DeltaCtlRequest.c
|
||||
systemx-pqc/EtsiTs102941FullCtlRequest.c
|
||||
systemx-pqc/EtsiTs103097Certificate.c
|
||||
systemx-pqc/EtsiTs103097Data-Encrypted-Unicast.c
|
||||
systemx-pqc/EtsiTs103097Data-Encrypted.c
|
||||
systemx-pqc/EtsiTs103097Data-Signed.c
|
||||
systemx-pqc/EtsiTs103097Data-SignedAndEncrypted-Unicast.c
|
||||
systemx-pqc/EtsiTs103097Data-SignedAndEncrypted.c
|
||||
systemx-pqc/EtsiTs103097Data-SignedExternalPayload.c
|
||||
systemx-pqc/EtsiTs103097Data-Unsecured.c
|
||||
systemx-pqc/EtsiTs103097Data.c
|
||||
systemx-pqc/EtsiTs103097HeaderInfoExtensionId.c
|
||||
systemx-pqc/ExplicitCertificate.c
|
||||
systemx-pqc/ExtId.c
|
||||
systemx-pqc/Extension.c
|
||||
systemx-pqc/ExtensionModuleVersion.c
|
||||
systemx-pqc/FnDsa512Key.c
|
||||
systemx-pqc/FnDsa512Signature.c
|
||||
systemx-pqc/GeographicRegion.c
|
||||
systemx-pqc/GroupLinkageValue.c
|
||||
systemx-pqc/HashAlgorithm.c
|
||||
systemx-pqc/HashedData.c
|
||||
systemx-pqc/HashedId10.c
|
||||
systemx-pqc/HashedId3.c
|
||||
systemx-pqc/HashedId32.c
|
||||
systemx-pqc/HashedId48.c
|
||||
systemx-pqc/HashedId8.c
|
||||
systemx-pqc/HeaderInfo.c
|
||||
systemx-pqc/HeaderInfoContributorId.c
|
||||
systemx-pqc/Hostname.c
|
||||
systemx-pqc/IValue.c
|
||||
systemx-pqc/IdentifiedRegion.c
|
||||
systemx-pqc/Ieee1609ContributedHeaderInfoExtension.c
|
||||
systemx-pqc/Ieee1609Dot2Content.c
|
||||
systemx-pqc/Ieee1609Dot2Data.c
|
||||
systemx-pqc/Ieee1609HeaderInfoExtensionId.c
|
||||
systemx-pqc/ImplicitCertificate.c
|
||||
systemx-pqc/IssuerIdentifier.c
|
||||
systemx-pqc/KnownLatitude.c
|
||||
systemx-pqc/KnownLongitude.c
|
||||
systemx-pqc/LaId.c
|
||||
systemx-pqc/Latitude.c
|
||||
systemx-pqc/LinkageData.c
|
||||
systemx-pqc/LinkageSeed.c
|
||||
systemx-pqc/LinkageValue.c
|
||||
systemx-pqc/Longitude.c
|
||||
systemx-pqc/MissingCrlIdentifier.c
|
||||
systemx-pqc/NinetyDegreeInt.c
|
||||
systemx-pqc/One28BitCcmCiphertext.c
|
||||
systemx-pqc/OneEightyDegreeInt.c
|
||||
systemx-pqc/Opaque.c
|
||||
systemx-pqc/OperatingOrganizationId.c
|
||||
systemx-pqc/PKRecipientInfo.c
|
||||
systemx-pqc/PduFunctionalType.c
|
||||
systemx-pqc/PolygonalRegion.c
|
||||
systemx-pqc/PreSharedKeyRecipientInfo.c
|
||||
systemx-pqc/Psid.c
|
||||
systemx-pqc/PsidGroupPermissions.c
|
||||
systemx-pqc/PsidSsp.c
|
||||
systemx-pqc/PsidSspRange.c
|
||||
systemx-pqc/PublicEncryptionKey.c
|
||||
systemx-pqc/PublicVerificationKey.c
|
||||
systemx-pqc/RecipientInfo.c
|
||||
systemx-pqc/RectangularRegion.c
|
||||
systemx-pqc/RegionAndSubregions.c
|
||||
systemx-pqc/SequenceOfAppExtensions.c
|
||||
systemx-pqc/SequenceOfCertIssueExtensions.c
|
||||
systemx-pqc/SequenceOfCertRequestExtensions.c
|
||||
systemx-pqc/SequenceOfCertificate.c
|
||||
systemx-pqc/SequenceOfHashedId3.c
|
||||
systemx-pqc/SequenceOfIdentifiedRegion.c
|
||||
systemx-pqc/SequenceOfLinkageSeed.c
|
||||
systemx-pqc/SequenceOfOctetString.c
|
||||
systemx-pqc/SequenceOfPsid.c
|
||||
systemx-pqc/SequenceOfPsidGroupPermissions.c
|
||||
systemx-pqc/SequenceOfPsidSsp.c
|
||||
systemx-pqc/SequenceOfPsidSspRange.c
|
||||
systemx-pqc/SequenceOfRecipientInfo.c
|
||||
systemx-pqc/SequenceOfRectangularRegion.c
|
||||
systemx-pqc/SequenceOfRegionAndSubregions.c
|
||||
systemx-pqc/SequenceOfUint16.c
|
||||
systemx-pqc/SequenceOfUint8.c
|
||||
systemx-pqc/ServiceSpecificPermissions.c
|
||||
systemx-pqc/Signature.c
|
||||
systemx-pqc/SignedData.c
|
||||
systemx-pqc/SignedDataPayload.c
|
||||
systemx-pqc/SignerIdentifier.c
|
||||
systemx-pqc/SspRange.c
|
||||
systemx-pqc/SubjectAssurance.c
|
||||
systemx-pqc/SubjectPermissions.c
|
||||
systemx-pqc/SymmAlgorithm.c
|
||||
systemx-pqc/SymmRecipientInfo.c
|
||||
systemx-pqc/SymmetricCiphertext.c
|
||||
systemx-pqc/SymmetricEncryptionKey.c
|
||||
systemx-pqc/TestCertificate.c
|
||||
systemx-pqc/ThreeDLocation.c
|
||||
systemx-pqc/Time32.c
|
||||
systemx-pqc/Time64.c
|
||||
systemx-pqc/ToBeSignedCertificate.c
|
||||
systemx-pqc/ToBeSignedData.c
|
||||
systemx-pqc/TwoDLocation.c
|
||||
systemx-pqc/Uint16.c
|
||||
systemx-pqc/Uint3.c
|
||||
systemx-pqc/Uint32.c
|
||||
systemx-pqc/Uint64.c
|
||||
systemx-pqc/Uint8.c
|
||||
systemx-pqc/UnCountryId.c
|
||||
systemx-pqc/UnknownLatitude.c
|
||||
systemx-pqc/UnknownLongitude.c
|
||||
systemx-pqc/ValidityPeriod.c
|
||||
systemx-pqc/VerificationKeyIndicator.c
|
||||
@@ -0,0 +1,235 @@
|
||||
#include <vanetza/asn1/support/asn_application.h>
|
||||
#include <vanetza/asn1/support/asn_internal.h>
|
||||
#include <vanetza/asn1/support/constraints.h>
|
||||
#include <vanetza/asn1/support/uper_decoder.h>
|
||||
#include <vanetza/asn1/support/uper_encoder.h>
|
||||
#include "asn1c_wrapper.hpp"
|
||||
#include <vanetza/common/byte_buffer.hpp>
|
||||
#include <boost/format.hpp>
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstdlib>
|
||||
#include <iterator>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace asn1
|
||||
{
|
||||
|
||||
static int write_buffer(const void* in, std::size_t size, void* out_void)
|
||||
{
|
||||
assert(out_void != nullptr);
|
||||
auto out = static_cast<ByteBuffer*>(out_void);
|
||||
std::copy_n(static_cast<const uint8_t*>(in), size, std::back_inserter(*out));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int write_null(const void*, std::size_t, void*)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void* allocate(std::size_t length)
|
||||
{
|
||||
void* ptr = calloc(1, length);
|
||||
if (nullptr == ptr) {
|
||||
throw std::runtime_error("Bad ASN.1 memory allocation");
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void free(asn_TYPE_descriptor_t& td, void* t)
|
||||
{
|
||||
if (t != nullptr) {
|
||||
ASN_STRUCT_FREE(td, t);
|
||||
}
|
||||
}
|
||||
|
||||
void deleter::operator()(void* ptr) const
|
||||
{
|
||||
if (descriptor && ptr) {
|
||||
free(*descriptor, ptr);
|
||||
}
|
||||
}
|
||||
|
||||
void* copy(asn_TYPE_descriptor_t& td, const void* original)
|
||||
{
|
||||
void* copy = nullptr;
|
||||
ByteBuffer buffer;
|
||||
|
||||
asn_enc_rval_t ec;
|
||||
ec = oer_encode(&td, const_cast<void*>(original), write_buffer, &buffer);
|
||||
if (ec.encoded == -1) {
|
||||
throw std::runtime_error("OER encoding failed");
|
||||
}
|
||||
|
||||
asn_dec_rval_t dc;
|
||||
dc = oer_decode(0, &td, ©, buffer.data(), buffer.size());
|
||||
if (dc.code != RC_OK) {
|
||||
free(td, copy);
|
||||
throw std::runtime_error("OER decoding failed");
|
||||
}
|
||||
|
||||
return copy;
|
||||
}
|
||||
|
||||
bool validate(asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
return asn_check_constraints(&td, t, nullptr, nullptr) == 0;
|
||||
}
|
||||
|
||||
bool validate(asn_TYPE_descriptor_t& td, const void* t, std::string& error)
|
||||
{
|
||||
char errbuf[1024];
|
||||
std::size_t errlen = sizeof(errbuf);
|
||||
bool ok = asn_check_constraints(&td, t, errbuf, &errlen) == 0;
|
||||
if (!ok) {
|
||||
error = errbuf;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
int compare(asn_TYPE_descriptor_t& td, const void* a, const void* b)
|
||||
{
|
||||
return td.op->compare_struct(&td, a, b);
|
||||
}
|
||||
|
||||
int print(FILE* stream, asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
return asn_fprint(stream, &td, t);
|
||||
}
|
||||
|
||||
std::size_t size_per(asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
asn_enc_rval_t ec;
|
||||
ec = uper_encode(&td, nullptr, const_cast<void*>(t), write_null, nullptr);
|
||||
if (ec.encoded < 0) {
|
||||
const char* failed_type = ec.failed_type ? ec.failed_type->name : "unknown";
|
||||
const auto error_msg = boost::format(
|
||||
"Can't determine size for unaligned PER encoding of type %1% because of %2% sub-type")
|
||||
% td.name % failed_type;
|
||||
throw std::runtime_error(error_msg.str());
|
||||
}
|
||||
|
||||
// Caution! ec.encoded are bits not bytes!
|
||||
return (ec.encoded + 7) / 8;
|
||||
}
|
||||
|
||||
ByteBuffer encode_per(asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
ByteBuffer buffer;
|
||||
asn_enc_rval_t ec = uper_encode(&td, nullptr, const_cast<void*>(t), write_buffer, &buffer);
|
||||
if (ec.encoded == -1) {
|
||||
const char* failed_type = ec.failed_type ? ec.failed_type->name : "unknown";
|
||||
const auto error_msg = boost::format(
|
||||
"Unaligned PER encoding of type %1% failed because of %2% sub-type")
|
||||
% td.name % failed_type;
|
||||
throw std::runtime_error(error_msg.str());
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool decode_per(asn_TYPE_descriptor_t& td, void** t, const ByteBuffer& buffer)
|
||||
{
|
||||
return decode_per(td, t, buffer.data(), buffer.size());
|
||||
}
|
||||
|
||||
bool decode_per(asn_TYPE_descriptor_t& td, void** t, const void* buffer, std::size_t size)
|
||||
{
|
||||
asn_codec_ctx_t ctx {};
|
||||
ctx.max_stack_size = ASN__DEFAULT_STACK_MAX;
|
||||
asn_dec_rval_t ec = uper_decode_complete(&ctx, &td, t, buffer, size);
|
||||
return ec.code == RC_OK;
|
||||
}
|
||||
|
||||
std::size_t size_oer(asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
asn_enc_rval_t ec;
|
||||
ec = oer_encode(&td, const_cast<void*>(t), write_null, nullptr);
|
||||
if (ec.encoded < 0) {
|
||||
const char* failed_type = ec.failed_type ? ec.failed_type->name : "unknown";
|
||||
const auto error_msg = boost::format(
|
||||
"Can't determine size for OER encoding of type %1% because of %2% sub-type")
|
||||
% td.name % failed_type;
|
||||
throw std::runtime_error(error_msg.str());
|
||||
}
|
||||
|
||||
// ec.encoded are bytes for OER encoding
|
||||
return ec.encoded;
|
||||
}
|
||||
|
||||
ByteBuffer encode_oer(asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
ByteBuffer buffer;
|
||||
asn_enc_rval_t ec = oer_encode(&td, const_cast<void*>(t), write_buffer, &buffer);
|
||||
if (ec.encoded == -1) {
|
||||
const char* failed_type = ec.failed_type ? ec.failed_type->name : "unknown";
|
||||
const auto error_msg = boost::format(
|
||||
"OER encoding of type %1% failed because of %2% sub-type")
|
||||
% td.name % failed_type;
|
||||
throw std::runtime_error(error_msg.str());
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool decode_oer(asn_TYPE_descriptor_t& td, void** t, const ByteBuffer& buffer)
|
||||
{
|
||||
return decode_oer(td, t, buffer.data(), buffer.size());
|
||||
}
|
||||
|
||||
bool decode_oer(asn_TYPE_descriptor_t& td, void** t, const void* buffer, std::size_t size)
|
||||
{
|
||||
asn_codec_ctx_t ctx {};
|
||||
ctx.max_stack_size = ASN__DEFAULT_STACK_MAX;
|
||||
asn_dec_rval_t ec = oer_decode(&ctx, &td, t, buffer, size);
|
||||
return ec.code == RC_OK;
|
||||
}
|
||||
|
||||
std::size_t size_xer(asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
asn_enc_rval_t ec;
|
||||
ec = xer_encode(&td, const_cast<void*>(t), XER_F_BASIC, write_null, nullptr);
|
||||
if (ec.encoded < 0) {
|
||||
const char* failed_type = ec.failed_type ? ec.failed_type->name : "unknown";
|
||||
const auto error_msg = boost::format(
|
||||
"Can't determine size for XER encoding of type %1% because of %2% sub-type")
|
||||
% td.name % failed_type;
|
||||
throw std::runtime_error(error_msg.str());
|
||||
}
|
||||
|
||||
// ec.encoded are bytes for XER encoding
|
||||
return ec.encoded;
|
||||
}
|
||||
|
||||
ByteBuffer encode_xer(asn_TYPE_descriptor_t& td, const void* t)
|
||||
{
|
||||
ByteBuffer buffer;
|
||||
asn_enc_rval_t ec = xer_encode(&td, const_cast<void*>(t), XER_F_BASIC, write_buffer, &buffer);
|
||||
if (ec.encoded == -1) {
|
||||
const char* failed_type = ec.failed_type ? ec.failed_type->name : "unknown";
|
||||
const auto error_msg = boost::format(
|
||||
"XER encoding of type %1% failed because of %2% sub-type")
|
||||
% td.name % failed_type;
|
||||
throw std::runtime_error(error_msg.str());
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool decode_xer(asn_TYPE_descriptor_t& td, void** t, const ByteBuffer& buffer)
|
||||
{
|
||||
return decode_xer(td, t, buffer.data(), buffer.size());
|
||||
}
|
||||
|
||||
bool decode_xer(asn_TYPE_descriptor_t& td, void** t, const void* buffer, std::size_t size)
|
||||
{
|
||||
asn_codec_ctx_t ctx {};
|
||||
ctx.max_stack_size = ASN__DEFAULT_STACK_MAX;
|
||||
asn_dec_rval_t ec = xer_decode(&ctx, &td, t, buffer, size);
|
||||
return ec.code == RC_OK;
|
||||
}
|
||||
|
||||
} // namespace asn1
|
||||
} // namespace vanetza
|
||||
|
||||
@@ -0,0 +1,344 @@
|
||||
#ifndef ASN1C_WRAPPER_HPP_ZCNDO8E5
|
||||
#define ASN1C_WRAPPER_HPP_ZCNDO8E5
|
||||
|
||||
#include <vanetza/asn1/support/asn_system.h>
|
||||
#include <vanetza/asn1/support/constr_TYPE.h>
|
||||
#include <vanetza/asn1/type_traits.hpp>
|
||||
#include <vanetza/common/byte_buffer.hpp>
|
||||
#include <cstddef>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace asn1
|
||||
{
|
||||
|
||||
void* allocate(std::size_t);
|
||||
void free(asn_TYPE_descriptor_t&, void*);
|
||||
void* copy(asn_TYPE_descriptor_t&, const void*);
|
||||
bool validate(asn_TYPE_descriptor_t&, const void*);
|
||||
bool validate(asn_TYPE_descriptor_t&, const void*, std::string&);
|
||||
int compare(asn_TYPE_descriptor_t&, const void*, const void*);
|
||||
int print(FILE* stream, asn_TYPE_descriptor_t&, const void*);
|
||||
std::size_t size_per(asn_TYPE_descriptor_t&, const void*);
|
||||
std::size_t size_oer(asn_TYPE_descriptor_t&, const void*);
|
||||
std::size_t size_xer(asn_TYPE_descriptor_t&, const void*);
|
||||
ByteBuffer encode_per(asn_TYPE_descriptor_t&, const void*);
|
||||
bool decode_per(asn_TYPE_descriptor_t&, void**, const ByteBuffer&);
|
||||
bool decode_per(asn_TYPE_descriptor_t&, void**, const void* buffer, std::size_t size);
|
||||
ByteBuffer encode_oer(asn_TYPE_descriptor_t&, const void*);
|
||||
bool decode_oer(asn_TYPE_descriptor_t&, void**, const ByteBuffer&);
|
||||
bool decode_oer(asn_TYPE_descriptor_t&, void**, const void* buffer, std::size_t size);
|
||||
ByteBuffer encode_xer(asn_TYPE_descriptor_t&, const void*);
|
||||
bool decode_xer(asn_TYPE_descriptor_t&, void**, const ByteBuffer&);
|
||||
bool decode_xer(asn_TYPE_descriptor_t&, void**, const void* buffer, std::size_t size);
|
||||
|
||||
template<class T>
|
||||
T* allocate()
|
||||
{
|
||||
return static_cast<T*>(allocate(sizeof(T)));
|
||||
}
|
||||
|
||||
/// Deleter freeing an asn1c struct through its ASN.1 type descriptor.
|
||||
struct deleter
|
||||
{
|
||||
asn_TYPE_descriptor_t* descriptor = nullptr;
|
||||
|
||||
void operator()(void* ptr) const;
|
||||
};
|
||||
|
||||
/**
|
||||
* Allocate an asn1c struct owned by a unique_ptr that deep-frees it via its descriptor.
|
||||
* \param descriptor ASN.1 type descriptor matching T
|
||||
* \return owning unique_ptr
|
||||
*/
|
||||
template<class T>
|
||||
std::unique_ptr<T, deleter> make_unique(asn_TYPE_descriptor_t& descriptor)
|
||||
{
|
||||
return std::unique_ptr<T, deleter> { allocate<T>(), deleter { &descriptor } };
|
||||
}
|
||||
|
||||
/**
|
||||
* Allocate an asn1c struct owned by a unique_ptr, taking the type descriptor
|
||||
* from the asn1_type_traits specialization of T.
|
||||
* \return owning unique_ptr
|
||||
*/
|
||||
template<class T>
|
||||
std::unique_ptr<T, deleter> make_unique()
|
||||
{
|
||||
return make_unique<T>(asn1_type_traits<T>::descriptor());
|
||||
}
|
||||
|
||||
template<class T>
|
||||
class asn1c_wrapper_common
|
||||
{
|
||||
|
||||
public:
|
||||
typedef T asn1c_type;
|
||||
|
||||
asn1c_wrapper_common(asn_TYPE_descriptor_t& desc) :
|
||||
m_struct(vanetza::asn1::allocate<asn1c_type>()), m_type(desc) {}
|
||||
asn1c_wrapper_common(asn_TYPE_descriptor_t& desc, const T* ptr) :
|
||||
m_struct(static_cast<T*>(copy(desc, ptr))), m_type(desc) {}
|
||||
~asn1c_wrapper_common() { vanetza::asn1::free(m_type, m_struct); }
|
||||
|
||||
// copy semantics
|
||||
asn1c_wrapper_common(const asn1c_wrapper_common& other) :
|
||||
m_struct(static_cast<asn1c_type*>(copy(other.m_type, other.m_struct))), m_type(other.m_type) {}
|
||||
asn1c_wrapper_common& operator=(const asn1c_wrapper_common& other)
|
||||
{
|
||||
asn1c_wrapper_common tmp = other;
|
||||
swap(tmp);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// move semantics
|
||||
asn1c_wrapper_common(asn1c_wrapper_common&& other) noexcept :
|
||||
m_struct(nullptr), m_type(other.m_type) { swap(other); }
|
||||
asn1c_wrapper_common& operator=(asn1c_wrapper_common&& other) noexcept
|
||||
{
|
||||
swap(other);
|
||||
return *this;
|
||||
}
|
||||
|
||||
// dereferencing
|
||||
asn1c_type& operator*() { return *m_struct; }
|
||||
asn1c_type* operator->() { return m_struct; }
|
||||
const asn1c_type& operator*() const { return *m_struct; }
|
||||
const asn1c_type* operator->() const { return m_struct; }
|
||||
|
||||
// direct access to content structure
|
||||
const asn1c_type* content() const { return m_struct; }
|
||||
asn1c_type* content() { return m_struct; }
|
||||
|
||||
// compare semantics
|
||||
bool operator==(const asn1c_wrapper_common& rhs) const
|
||||
{
|
||||
return vanetza::asn1::compare(m_type, m_struct, rhs.m_struct) == 0;
|
||||
}
|
||||
bool operator!=(const asn1c_wrapper_common& rhs) const
|
||||
{
|
||||
return vanetza::asn1::compare(m_type, m_struct, rhs.m_struct) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check ASN.1 constraints
|
||||
* \param error (optional) copy of error message
|
||||
* \return true if valid
|
||||
*/
|
||||
bool validate() const
|
||||
{
|
||||
return vanetza::asn1::validate(m_type, m_struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check ASN.1 constraints
|
||||
* \param error Error message if any constraint failed
|
||||
* \return true if valid
|
||||
*/
|
||||
bool validate(std::string& error) const
|
||||
{
|
||||
return vanetza::asn1::validate(m_type, m_struct, error);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare ASN.1 types
|
||||
* \param other Other ASN.1 type to compare with
|
||||
* \return 0 if equal, <0 if other is "greater", >0 if other is "smaller"
|
||||
*/
|
||||
int compare(const asn1c_wrapper_common& other) const
|
||||
{
|
||||
return vanetza::asn1::compare(m_type, m_struct, other.m_struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* Print ASN.1 type to standard output
|
||||
* \return 0 on success, -1 on error
|
||||
*/
|
||||
int print() const
|
||||
{
|
||||
return vanetza::asn1::print(stdout, m_type, m_struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* Print ASN.1 type to some file stream
|
||||
* \param stream Output stream
|
||||
* \return 0 on success, -1 on error
|
||||
*/
|
||||
int print(FILE* stream) const
|
||||
{
|
||||
return vanetza::asn1::print(stream, m_type, m_struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* Swap ASN.1 wrapper content
|
||||
* \param other wrapper
|
||||
*/
|
||||
void swap(asn1c_wrapper_common& other) noexcept
|
||||
{
|
||||
std::swap(m_struct, other.m_struct);
|
||||
std::swap(m_type, other.m_type);
|
||||
}
|
||||
|
||||
protected:
|
||||
asn1c_type* m_struct;
|
||||
asn_TYPE_descriptor_t& m_type;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
void swap(asn1c_wrapper_common<T>& lhs, asn1c_wrapper_common<T>& rhs)
|
||||
{
|
||||
lhs.swap(rhs);
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
class asn1c_per_wrapper : public asn1c_wrapper_common<T>
|
||||
{
|
||||
public:
|
||||
using base = asn1c_wrapper_common<T>;
|
||||
using base::base;
|
||||
|
||||
/**
|
||||
* Encode ASN.1 struct into byte buffer
|
||||
* \return byte buffer containing serialized ASN.1 struct
|
||||
*/
|
||||
ByteBuffer encode() const
|
||||
{
|
||||
return vanetza::asn1::encode_per(base::m_type, base::m_struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to decode ASN.1 struct from byte buffer
|
||||
* \param buffer input data
|
||||
* \return true if decoding has been successful
|
||||
*/
|
||||
bool decode(const ByteBuffer& buffer)
|
||||
{
|
||||
return vanetza::asn1::decode_per(base::m_type, (void**)&(base::m_struct), buffer);
|
||||
}
|
||||
|
||||
bool decode(ByteBuffer::const_iterator begin, ByteBuffer::const_iterator end)
|
||||
{
|
||||
return vanetza::asn1::decode_per(base::m_type, (void**)&(base::m_struct), &(*begin), std::distance(begin, end));
|
||||
}
|
||||
|
||||
bool decode(const void* buffer, std::size_t len)
|
||||
{
|
||||
return vanetza::asn1::decode_per(base::m_type, (void**)&(base::m_struct), buffer, len);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get size of encoded ASN.1 struct
|
||||
* \return size in bytes
|
||||
*/
|
||||
std::size_t size() const
|
||||
{
|
||||
return vanetza::asn1::size_per(base::m_type, base::m_struct);
|
||||
}
|
||||
};
|
||||
|
||||
template<class T>
|
||||
using asn1c_wrapper = asn1c_per_wrapper<T>;
|
||||
|
||||
|
||||
template<class T>
|
||||
class asn1c_oer_wrapper : public asn1c_wrapper_common<T>
|
||||
{
|
||||
public:
|
||||
using base = asn1c_wrapper_common<T>;
|
||||
using base::base;
|
||||
|
||||
/**
|
||||
* Encode ASN.1 struct into byte buffer
|
||||
* \return byte buffer containing serialized ASN.1 struct
|
||||
*/
|
||||
ByteBuffer encode() const
|
||||
{
|
||||
return vanetza::asn1::encode_oer(base::m_type, base::m_struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to decode ASN.1 struct from byte buffer
|
||||
* \param buffer input data
|
||||
* \deprecated use decode_per instead
|
||||
* \return true if decoding has been successful
|
||||
*/
|
||||
bool decode(const ByteBuffer& buffer)
|
||||
{
|
||||
return vanetza::asn1::decode_oer(base::m_type, (void**)&(base::m_struct), buffer);
|
||||
}
|
||||
|
||||
bool decode(ByteBuffer::const_iterator begin, ByteBuffer::const_iterator end)
|
||||
{
|
||||
return vanetza::asn1::decode_oer(base::m_type, (void**)&(base::m_struct), &(*begin), std::distance(begin, end));
|
||||
}
|
||||
|
||||
bool decode(const void* buffer, std::size_t len)
|
||||
{
|
||||
return vanetza::asn1::decode_oer(base::m_type, (void**)&(base::m_struct), buffer, len);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get size of encoded ASN.1 struct
|
||||
* \return size in bytes
|
||||
*/
|
||||
std::size_t size() const
|
||||
{
|
||||
return vanetza::asn1::size_oer(base::m_type, base::m_struct);
|
||||
}
|
||||
};
|
||||
|
||||
template<class T>
|
||||
class asn1c_xer_wrapper : public asn1c_wrapper_common<T>
|
||||
{
|
||||
public:
|
||||
using base = asn1c_wrapper_common<T>;
|
||||
using base::base;
|
||||
|
||||
/**
|
||||
* Encode ASN.1 struct into byte buffer
|
||||
* \return byte buffer containing serialized ASN.1 struct
|
||||
*/
|
||||
ByteBuffer encode() const
|
||||
{
|
||||
return vanetza::asn1::encode_xer(base::m_type, base::m_struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to decode ASN.1 struct from byte buffer
|
||||
* \param buffer input data
|
||||
* \return true if decoding has been successful
|
||||
*/
|
||||
bool decode(const ByteBuffer& buffer)
|
||||
{
|
||||
return vanetza::asn1::decode_xer(base::m_type, (void**)&(base::m_struct), buffer);
|
||||
}
|
||||
|
||||
bool decode(ByteBuffer::const_iterator begin, ByteBuffer::const_iterator end)
|
||||
{
|
||||
return vanetza::asn1::decode_xer(base::m_type, (void**)&(base::m_struct), &(*begin), std::distance(begin, end));
|
||||
}
|
||||
|
||||
bool decode(const void* buffer, std::size_t len)
|
||||
{
|
||||
return vanetza::asn1::decode_xer(base::m_type, (void**)&(base::m_struct), buffer, len);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get size of encoded ASN.1 struct
|
||||
* \return size in bytes
|
||||
*/
|
||||
std::size_t size() const
|
||||
{
|
||||
return vanetza::asn1::size_xer(base::m_type, base::m_struct);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace asn1
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* ASN1C_WRAPPER_HPP_ZCNDO8E5 */
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef CAM_HPP_WXYNEKFN
|
||||
#define CAM_HPP_WXYNEKFN
|
||||
|
||||
#include <vanetza/asn1/asn1c_conversion.hpp>
|
||||
#include <vanetza/asn1/asn1c_wrapper.hpp>
|
||||
#include <vanetza/asn1/its/CAM.h>
|
||||
#include <vanetza/asn1/its/r2/CAM.h>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace asn1
|
||||
{
|
||||
|
||||
namespace r1
|
||||
{
|
||||
|
||||
class Cam : public asn1c_per_wrapper<CAM_t>
|
||||
{
|
||||
public:
|
||||
using wrapper = asn1c_per_wrapper<CAM_t>;
|
||||
Cam() : wrapper(asn_DEF_CAM) {}
|
||||
};
|
||||
|
||||
} // namespace r1
|
||||
|
||||
namespace r2
|
||||
{
|
||||
|
||||
class Cam : public asn1c_per_wrapper<Vanetza_ITS2_CAM_t>
|
||||
{
|
||||
public:
|
||||
using wrapper = asn1c_per_wrapper<Vanetza_ITS2_CAM_t>;
|
||||
Cam() : wrapper(asn_DEF_Vanetza_ITS2_CAM) {}
|
||||
};
|
||||
|
||||
} // namespace r2
|
||||
|
||||
// alias for backward compatibility
|
||||
using Cam = r1::Cam;
|
||||
|
||||
} // namespace asn1
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* CAM_HPP_WXYNEKFN */
|
||||
@@ -0,0 +1,8 @@
|
||||
if(NOT DEFINED ASN1C_OUTPUT_DIR)
|
||||
message(FATAL_ERROR "Missing ASN.1 output directory (ASN1C_OUTPUT_DIR)")
|
||||
elseif(NOT DEFINED ASN1C_SOURCE_FILE)
|
||||
message(FATAL_ERROR "Missing ASN.1 source file (ASN1C_SOURCE_FILE)")
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE ${ASN1C_OUTPUT_DIR})
|
||||
file(WRITE ${ASN1C_SOURCE_FILE} "")
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
if(NOT DEFINED ASN1C_OUTPUT_DIR)
|
||||
message(FATAL_ERROR "Missing ASN.1 output directory (ASN1C_OUTPUT_DIR)")
|
||||
elseif(NOT DEFINED ASN1C_SOURCE_FILE)
|
||||
message(FATAL_ERROR "Missing ASN.1 source file (ASN1C_SOURCE_FILE)")
|
||||
endif()
|
||||
|
||||
if(IS_ABSOLUTE "${ASN1C_OUTPUT_DIR}")
|
||||
file(RELATIVE_PATH ASN1C_OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR} ${ASN1C_OUTPUT_DIR})
|
||||
endif()
|
||||
|
||||
file(GLOB _sources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${ASN1C_OUTPUT_DIR}/*.c)
|
||||
list(REMOVE_ITEM _sources
|
||||
${ASN1C_OUTPUT_DIR}/converter-sample.c
|
||||
${ASN1C_OUTPUT_DIR}/converter-example.c
|
||||
${ASN1C_OUTPUT_DIR}/EXTERNAL.c
|
||||
)
|
||||
|
||||
file(WRITE "${ASN1C_SOURCE_FILE}" "# generated file\n")
|
||||
foreach(_source ${_sources})
|
||||
file(APPEND "${ASN1C_SOURCE_FILE}" "${_source}\n")
|
||||
endforeach()
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
if(NOT DEFINED SOURCE)
|
||||
set(SOURCE ".")
|
||||
endif()
|
||||
|
||||
file(GLOB asn1c_skeleton_files ${SOURCE}/*.h ${SOURCE}/*.c)
|
||||
file(COPY ${asn1c_skeleton_files} DESTINATION "${DESTINATION}" PATTERN converter-example.c EXCLUDE)
|
||||
@@ -0,0 +1,42 @@
|
||||
#ifndef CPM_HPP_WEWZK69S
|
||||
#define CPM_HPP_WEWZK69S
|
||||
|
||||
#include <vanetza/asn1/asn1c_conversion.hpp>
|
||||
#include <vanetza/asn1/asn1c_wrapper.hpp>
|
||||
#include <vanetza/asn1/its/CPM.h>
|
||||
#include <vanetza/asn1/its/r2/CollectivePerceptionMessage.h>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace asn1
|
||||
{
|
||||
|
||||
namespace r1
|
||||
{
|
||||
|
||||
class Cpm : public asn1c_per_wrapper<CPM_t>
|
||||
{
|
||||
public:
|
||||
Cpm() : asn1c_per_wrapper(asn_DEF_CPM) {}
|
||||
};
|
||||
|
||||
} // namespace r1
|
||||
|
||||
namespace r2
|
||||
{
|
||||
|
||||
class Cpm : public asn1c_per_wrapper<Vanetza_ITS2_CollectivePerceptionMessage_t>
|
||||
{
|
||||
public:
|
||||
Cpm() : asn1c_per_wrapper(asn_DEF_Vanetza_ITS2_CollectivePerceptionMessage) {}
|
||||
};
|
||||
|
||||
} // namespace r2
|
||||
|
||||
// alias for backward compatibility
|
||||
using Cpm = r1::Cpm;
|
||||
|
||||
} // namespace asn1
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* CPM_HPP_WEWZK69S */
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef DENM_HPP_XGC8NRDI
|
||||
#define DENM_HPP_XGC8NRDI
|
||||
|
||||
#include <vanetza/asn1/asn1c_conversion.hpp>
|
||||
#include <vanetza/asn1/asn1c_wrapper.hpp>
|
||||
#include <vanetza/asn1/its/DENM.h>
|
||||
#include <vanetza/asn1/its/r2/DENM.h>
|
||||
|
||||
namespace vanetza
|
||||
{
|
||||
namespace asn1
|
||||
{
|
||||
|
||||
namespace r1
|
||||
{
|
||||
|
||||
class Denm : public asn1c_per_wrapper<DENM_t>
|
||||
{
|
||||
public:
|
||||
using wrapper = asn1c_per_wrapper<DENM_t>;
|
||||
Denm() : wrapper(asn_DEF_DENM) {}
|
||||
};
|
||||
|
||||
} // namespace r1
|
||||
|
||||
namespace r2
|
||||
{
|
||||
|
||||
class Denm : public asn1c_per_wrapper<Vanetza_ITS2_DENM_t>
|
||||
{
|
||||
public:
|
||||
using wrapper = asn1c_per_wrapper<Vanetza_ITS2_DENM_t>;
|
||||
Denm() : wrapper(asn_DEF_Vanetza_ITS2_DENM) {}
|
||||
};
|
||||
|
||||
} // namespace r2
|
||||
|
||||
// alias for backward compatibility
|
||||
using Denm = r1::Denm;
|
||||
|
||||
} // namespace asn1
|
||||
} // namespace vanetza
|
||||
|
||||
#endif /* DENM_HPP_XGC8NRDI */
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
if(NOT OUTPUT_DIRECTORY)
|
||||
message(FATAL_ERROR "OUTPUT_DIRECTORY variable is undefined")
|
||||
endif()
|
||||
file(MAKE_DIRECTORY "${OUTPUT_DIRECTORY}")
|
||||
if(NOT PATCH_DIRECTORY)
|
||||
message(FATAL_ERROR "PATH_DIRECTORY variable is undefined")
|
||||
endif()
|
||||
|
||||
macro(download URL OUTPUT_FILE)
|
||||
file(DOWNLOAD "${URL}" "${OUTPUT_FILE}"
|
||||
STATUS _status)
|
||||
list(GET _status 0 _result)
|
||||
if(NOT _result EQUAL 0)
|
||||
list(GET _status 1 _log)
|
||||
message(FATAL_ERROR "Download of ${URL} failed: ${_log}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(download_ieee1609dot2 ASN1_FILE)
|
||||
download(
|
||||
"https://forge.etsi.org/rep/ITS/asn1/ieee1609.2/-/raw/2022-published/${ASN1_FILE}"
|
||||
"${OUTPUT_DIRECTORY}/${ASN1_FILE}")
|
||||
endmacro()
|
||||
|
||||
macro(download_ieee1609dot2dot1 ASN1_FILE)
|
||||
download(
|
||||
"https://forge.etsi.org/rep/ITS/asn1/ieee1609.2.1/-/raw/2022-published/${ASN1_FILE}"
|
||||
"${OUTPUT_DIRECTORY}/${ASN1_FILE}")
|
||||
endmacro()
|
||||
|
||||
download_ieee1609dot2("Ieee1609Dot2.asn")
|
||||
download_ieee1609dot2("Ieee1609Dot2BaseTypes.asn")
|
||||
download_ieee1609dot2("Ieee1609Dot2Crl.asn")
|
||||
download_ieee1609dot2("Ieee1609Dot2CrlBaseTypes.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1AcaEeInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1AcaLaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1AcaMaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1AcaRaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1Acpc.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1CamRaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1CertManagement.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1EcaEeInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1EeMaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1EeRaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1LaMaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1LaRaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1MaRaInterface.asn")
|
||||
download_ieee1609dot2dot1("Ieee1609Dot2Dot1Protocol.asn")
|
||||
|
||||
file(READ "${OUTPUT_DIRECTORY}/Ieee1609Dot2.asn" _content)
|
||||
string(REGEX REPLACE " Extension" " IeeeExtension" _content "${_content}")
|
||||
file(WRITE "${OUTPUT_DIRECTORY}/Ieee1609Dot2.asn" "${_content}")
|
||||
|
||||
file(READ "${OUTPUT_DIRECTORY}/Ieee1609Dot2BaseTypes.asn" _content)
|
||||
string(REGEX REPLACE "([\r\n])Extension" "\\1IeeeExtension" _content "${_content}")
|
||||
file(WRITE "${OUTPUT_DIRECTORY}/Ieee1609Dot2BaseTypes.asn" "${_content}")
|
||||
|
||||
execute_process(COMMAND patch -p1 -i "${PATCH_DIRECTORY}/scoped-certificate-request.patch"
|
||||
WORKING_DIRECTORY "${OUTPUT_DIRECTORY}"
|
||||
RESULT_VARIABLE PATCH_RESULT)
|
||||
if(NOT PATCH_RESULT EQUAL 0)
|
||||
message(SEND_ERROR "Applying patch on IEEE 1609.2.1 ScopedCertificateRequest failed!")
|
||||
endif()
|
||||
@@ -0,0 +1,39 @@
|
||||
if(NOT DIRECTORY)
|
||||
message(FATAL_ERROR "DIRECTORY variable is undefined")
|
||||
endif()
|
||||
file(MAKE_DIRECTORY "${DIRECTORY}")
|
||||
|
||||
macro(download URL FILENAME)
|
||||
file(DOWNLOAD "${URL}" "${DIRECTORY}/${FILENAME}"
|
||||
STATUS _status)
|
||||
list(GET _status 0 _result)
|
||||
if(NOT _result EQUAL 0)
|
||||
list(GET _status 1 _log)
|
||||
message(FATAL_ERROR "Download of ${URL} failed: ${_log}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(add_suffix)
|
||||
cmake_parse_arguments(ARG "" "FILE;SUFFIX" "SYMBOLS" ${ARGN})
|
||||
if (NOT ARG_SUFFIX)
|
||||
set(ARG_SUFFIX "Iso")
|
||||
endif()
|
||||
file(READ "${DIRECTORY}/${ARG_FILE}" _content)
|
||||
foreach(_symbol IN LISTS ARG_SYMBOLS)
|
||||
string(REPLACE "${_symbol}" "${_symbol}${ARG_SUFFIX}" _content "${_content}")
|
||||
endforeach()
|
||||
file(WRITE "${DIRECTORY}/${ARG_FILE}" "${_content}")
|
||||
endmacro()
|
||||
|
||||
download("https://standards.iso.org/iso/14816/ISO14816%20ASN.1%20repository/ISO14816_AVIAEINumberingAndDataStructures.asn" "ISO14816.asn")
|
||||
add_suffix(FILE "ISO14816.asn" SYMBOLS IssuerIdentifier)
|
||||
download("https://forge.etsi.org/rep/ITS/asn1/is_ts103301/-/raw/v2.1.1/iso-patched/ISO24534-3_ElectronicRegistrationIdentificationVehicleDataModule-patched.asn" "ISO24534-3.asn")
|
||||
download("https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn" "ISO19091.asn")
|
||||
add_suffix(FILE "ISO19091.asn" SYMBOLS HeadingConfidence Heading SpeedConfidence)
|
||||
download("https://standards.iso.org/iso/ts/19321/ed-2/en/ISO19321IVIv2.asn" "ISO19321.asn")
|
||||
download("https://forge.etsi.org/rep/ITS/asn1/is_ts103301/-/raw/v2.1.1/iso-patched/ISO14906(2018)EfcDsrcGenericv7-patched.asn" "ISO14906-1-7.asn")
|
||||
add_suffix(FILE "ISO14906-1-7.asn" SYMBOLS IssuerIdentifier)
|
||||
download("https://forge.etsi.org/rep/ITS/asn1/is_ts103301/-/raw/v2.1.1/iso-patched/ISO14906(2018)EfcDsrcApplicationv6-patched.asn" "ISO14906-0-6.asn")
|
||||
add_suffix(FILE "ISO14906-0-6.asn" SYMBOLS StationType IssuerIdentifier)
|
||||
download("https://forge.etsi.org/rep/ITS/asn1/is_ts103301/-/raw/v2.1.1/iso-patched/ISO14823-missing.asn" "ISO14823.asn")
|
||||
download("https://forge.etsi.org/rep/LIBS/LibIts/-/raw/798bfce82f199cdfdef4289098bf900832e3932c/asn1/IS/IVI_ISO_TS_17419.asn" "ISO17419.asn")
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
if(NOT OUTPUT_DIRECTORY)
|
||||
message(FATAL_ERROR "OUTPUT_DIRECTORY is undefined")
|
||||
endif()
|
||||
if(NOT PATCH_FILE)
|
||||
message(FATAL_ERROR "PATCH_FILE is undefined")
|
||||
endif()
|
||||
|
||||
set(_etsi_revision "65e6d8ea88b2bfb3aca3151dbedf07d89b97fd00")
|
||||
set(_ieee_revision "77e2c822a11bf8adbe9848ad3fd4f311925aff30")
|
||||
set(_etsi_repository "https://forge.etsi.org/rep/ITS/asn1/sec_ts103097")
|
||||
set(_ieee_repository "https://forge.etsi.org/rep/ITS/asn1/ieee1609.2")
|
||||
|
||||
function(download_module REPOSITORY REVISION MODULE SHA256)
|
||||
set(_url "${REPOSITORY}/-/raw/${REVISION}/${MODULE}")
|
||||
set(_output "${OUTPUT_DIRECTORY}/${MODULE}")
|
||||
file(DOWNLOAD "${_url}" "${_output}"
|
||||
EXPECTED_HASH "SHA256=${SHA256}"
|
||||
TLS_VERIFY ON
|
||||
STATUS _status)
|
||||
list(GET _status 0 _result)
|
||||
if(NOT _result EQUAL 0)
|
||||
list(GET _status 1 _log)
|
||||
message(FATAL_ERROR "Download of ${_url} failed: ${_log}")
|
||||
endif()
|
||||
|
||||
# Keep the patch independent of the upstream repository's line endings.
|
||||
file(READ "${_output}" _contents)
|
||||
string(REPLACE "\r\n" "\n" _contents "${_contents}")
|
||||
string(REGEX REPLACE "[ \t]+\n" "\n" _contents "${_contents}")
|
||||
file(WRITE "${_output}" "${_contents}")
|
||||
endfunction()
|
||||
|
||||
file(REMOVE_RECURSE "${OUTPUT_DIRECTORY}")
|
||||
file(MAKE_DIRECTORY "${OUTPUT_DIRECTORY}")
|
||||
|
||||
download_module("${_etsi_repository}" "${_etsi_revision}"
|
||||
EtsiTs103097Module.asn
|
||||
245a3c10c176497f658c6a4d9ec804d3226dda2ac10a4351e382ddb5afe9ff72)
|
||||
download_module("${_etsi_repository}" "${_etsi_revision}"
|
||||
EtsiTs103097ExtensionModule.asn
|
||||
b94c9b373567dd9bfb15d61c8c206d5630f6b0c481ef41ddd574c96784a9eb1a)
|
||||
download_module("${_ieee_repository}" "${_ieee_revision}"
|
||||
Ieee1609Dot2.asn
|
||||
82b5e35cbaadae1c6b2f087626b10d52afc73779c9ac6700c6445830d8824e0b)
|
||||
download_module("${_ieee_repository}" "${_ieee_revision}"
|
||||
Ieee1609Dot2BaseTypes.asn
|
||||
bf2b3d66d394449319323f8a59d8084d963c3ad55d6790e1436ab897221690fe)
|
||||
|
||||
if(NOT EXISTS "${PATCH_FILE}")
|
||||
message(FATAL_ERROR "Missing SystemX PQC ASN.1 patch: ${PATCH_FILE}")
|
||||
endif()
|
||||
find_program(PATCH_EXECUTABLE patch)
|
||||
if(NOT PATCH_EXECUTABLE)
|
||||
message(FATAL_ERROR "The patch utility is required to prepare the SystemX hybrid-PQC ASN.1 modules")
|
||||
endif()
|
||||
execute_process(
|
||||
COMMAND "${PATCH_EXECUTABLE}" --batch --forward -p1 -i "${PATCH_FILE}"
|
||||
WORKING_DIRECTORY "${OUTPUT_DIRECTORY}"
|
||||
RESULT_VARIABLE _patch_result)
|
||||
if(NOT _patch_result EQUAL 0)
|
||||
message(FATAL_ERROR "Applying the SystemX hybrid-PQC ASN.1 patch failed")
|
||||
endif()
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AbsolutePosition.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_AbsolutePosition_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AbsolutePosition, latitude),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Latitude,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"latitude"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AbsolutePosition, longitude),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Longitude,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"longitude"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AbsolutePosition_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AbsolutePosition_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* longitude */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AbsolutePosition_specs_1 = {
|
||||
sizeof(struct AbsolutePosition),
|
||||
offsetof(struct AbsolutePosition, _asn_ctx),
|
||||
asn_MAP_AbsolutePosition_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AbsolutePosition = {
|
||||
"AbsolutePosition",
|
||||
"AbsolutePosition",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AbsolutePosition_tags_1,
|
||||
sizeof(asn_DEF_AbsolutePosition_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePosition_tags_1[0]), /* 1 */
|
||||
asn_DEF_AbsolutePosition_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AbsolutePosition_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePosition_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AbsolutePosition_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_AbsolutePosition_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AbsolutePosition_H_
|
||||
#define _AbsolutePosition_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Latitude.h"
|
||||
#include "Longitude.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AbsolutePosition */
|
||||
typedef struct AbsolutePosition {
|
||||
Latitude_t latitude;
|
||||
Longitude_t longitude;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AbsolutePosition_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AbsolutePosition;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AbsolutePosition_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AbsolutePosition_1[2];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AbsolutePosition_H_ */
|
||||
#include "asn_internal.h"
|
||||
+114
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AbsolutePositionWAltitude.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_AbsolutePositionWAltitude_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AbsolutePositionWAltitude, latitude),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Latitude,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"latitude"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AbsolutePositionWAltitude, longitude),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Longitude,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"longitude"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AbsolutePositionWAltitude, altitude),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Altitude,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"altitude"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AbsolutePositionWAltitude_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AbsolutePositionWAltitude_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* longitude */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* altitude */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AbsolutePositionWAltitude_specs_1 = {
|
||||
sizeof(struct AbsolutePositionWAltitude),
|
||||
offsetof(struct AbsolutePositionWAltitude, _asn_ctx),
|
||||
asn_MAP_AbsolutePositionWAltitude_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AbsolutePositionWAltitude = {
|
||||
"AbsolutePositionWAltitude",
|
||||
"AbsolutePositionWAltitude",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AbsolutePositionWAltitude_tags_1,
|
||||
sizeof(asn_DEF_AbsolutePositionWAltitude_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePositionWAltitude_tags_1[0]), /* 1 */
|
||||
asn_DEF_AbsolutePositionWAltitude_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AbsolutePositionWAltitude_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePositionWAltitude_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AbsolutePositionWAltitude_1,
|
||||
3, /* Elements count */
|
||||
&asn_SPC_AbsolutePositionWAltitude_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AbsolutePositionWAltitude_H_
|
||||
#define _AbsolutePositionWAltitude_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Latitude.h"
|
||||
#include "Longitude.h"
|
||||
#include "Altitude.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AbsolutePositionWAltitude */
|
||||
typedef struct AbsolutePositionWAltitude {
|
||||
Latitude_t latitude;
|
||||
Longitude_t longitude;
|
||||
Altitude_t altitude;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AbsolutePositionWAltitude_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AbsolutePositionWAltitude;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AbsolutePositionWAltitude_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AbsolutePositionWAltitude_1[3];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AbsolutePositionWAltitude_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AbsolutePositions.h"
|
||||
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AbsolutePositions_constr_1 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1 /* (SIZE(0..MAX)) */};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AbsolutePositions_constr_1 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
asn_TYPE_member_t asn_MBR_AbsolutePositions_1[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
|
||||
0,
|
||||
&asn_DEF_AbsolutePosition,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AbsolutePositions_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
asn_SET_OF_specifics_t asn_SPC_AbsolutePositions_specs_1 = {
|
||||
sizeof(struct AbsolutePositions),
|
||||
offsetof(struct AbsolutePositions, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AbsolutePositions = {
|
||||
"AbsolutePositions",
|
||||
"AbsolutePositions",
|
||||
&asn_OP_SEQUENCE_OF,
|
||||
asn_DEF_AbsolutePositions_tags_1,
|
||||
sizeof(asn_DEF_AbsolutePositions_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePositions_tags_1[0]), /* 1 */
|
||||
asn_DEF_AbsolutePositions_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AbsolutePositions_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePositions_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AbsolutePositions_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AbsolutePositions_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_OF_constraint
|
||||
},
|
||||
asn_MBR_AbsolutePositions_1,
|
||||
1, /* Single element */
|
||||
&asn_SPC_AbsolutePositions_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AbsolutePositions_H_
|
||||
#define _AbsolutePositions_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "asn_SEQUENCE_OF.h"
|
||||
#include "constr_SEQUENCE_OF.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct AbsolutePosition;
|
||||
|
||||
/* AbsolutePositions */
|
||||
typedef struct AbsolutePositions {
|
||||
A_SEQUENCE_OF(struct AbsolutePosition) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AbsolutePositions_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AbsolutePositions;
|
||||
extern asn_SET_OF_specifics_t asn_SPC_AbsolutePositions_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AbsolutePositions_1[1];
|
||||
extern asn_oer_constraints_t asn_OER_type_AbsolutePositions_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AbsolutePositions_constr_1;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "AbsolutePosition.h"
|
||||
|
||||
#endif /* _AbsolutePositions_H_ */
|
||||
#include "asn_internal.h"
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AbsolutePositionsWAltitude.h"
|
||||
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AbsolutePositionsWAltitude_constr_1 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1 /* (SIZE(0..MAX)) */};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AbsolutePositionsWAltitude_constr_1 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
asn_TYPE_member_t asn_MBR_AbsolutePositionsWAltitude_1[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
|
||||
0,
|
||||
&asn_DEF_AbsolutePositionWAltitude,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AbsolutePositionsWAltitude_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
asn_SET_OF_specifics_t asn_SPC_AbsolutePositionsWAltitude_specs_1 = {
|
||||
sizeof(struct AbsolutePositionsWAltitude),
|
||||
offsetof(struct AbsolutePositionsWAltitude, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AbsolutePositionsWAltitude = {
|
||||
"AbsolutePositionsWAltitude",
|
||||
"AbsolutePositionsWAltitude",
|
||||
&asn_OP_SEQUENCE_OF,
|
||||
asn_DEF_AbsolutePositionsWAltitude_tags_1,
|
||||
sizeof(asn_DEF_AbsolutePositionsWAltitude_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePositionsWAltitude_tags_1[0]), /* 1 */
|
||||
asn_DEF_AbsolutePositionsWAltitude_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AbsolutePositionsWAltitude_tags_1)
|
||||
/sizeof(asn_DEF_AbsolutePositionsWAltitude_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AbsolutePositionsWAltitude_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AbsolutePositionsWAltitude_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_OF_constraint
|
||||
},
|
||||
asn_MBR_AbsolutePositionsWAltitude_1,
|
||||
1, /* Single element */
|
||||
&asn_SPC_AbsolutePositionsWAltitude_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AbsolutePositionsWAltitude_H_
|
||||
#define _AbsolutePositionsWAltitude_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "asn_SEQUENCE_OF.h"
|
||||
#include "constr_SEQUENCE_OF.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct AbsolutePositionWAltitude;
|
||||
|
||||
/* AbsolutePositionsWAltitude */
|
||||
typedef struct AbsolutePositionsWAltitude {
|
||||
A_SEQUENCE_OF(struct AbsolutePositionWAltitude) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AbsolutePositionsWAltitude_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AbsolutePositionsWAltitude;
|
||||
extern asn_SET_OF_specifics_t asn_SPC_AbsolutePositionsWAltitude_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AbsolutePositionsWAltitude_1[1];
|
||||
extern asn_oer_constraints_t asn_OER_type_AbsolutePositionsWAltitude_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AbsolutePositionsWAltitude_constr_1;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "AbsolutePositionWAltitude.h"
|
||||
|
||||
#endif /* _AbsolutePositionsWAltitude_H_ */
|
||||
#include "asn_internal.h"
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AccelerationConfidence.h"
|
||||
|
||||
int
|
||||
AccelerationConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 102L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AccelerationConfidence_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..102) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AccelerationConfidence_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 7, 7, 0, 102 } /* (0..102) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AccelerationConfidence_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AccelerationConfidence = {
|
||||
"AccelerationConfidence",
|
||||
"AccelerationConfidence",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AccelerationConfidence_tags_1,
|
||||
sizeof(asn_DEF_AccelerationConfidence_tags_1)
|
||||
/sizeof(asn_DEF_AccelerationConfidence_tags_1[0]), /* 1 */
|
||||
asn_DEF_AccelerationConfidence_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AccelerationConfidence_tags_1)
|
||||
/sizeof(asn_DEF_AccelerationConfidence_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AccelerationConfidence_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AccelerationConfidence_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AccelerationConfidence_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AccelerationConfidence_H_
|
||||
#define _AccelerationConfidence_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AccelerationConfidence {
|
||||
AccelerationConfidence_pointOneMeterPerSecSquared = 1,
|
||||
AccelerationConfidence_outOfRange = 101,
|
||||
AccelerationConfidence_unavailable = 102
|
||||
} e_AccelerationConfidence;
|
||||
|
||||
/* AccelerationConfidence */
|
||||
typedef long AccelerationConfidence_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AccelerationConfidence_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AccelerationConfidence_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AccelerationConfidence;
|
||||
asn_struct_free_f AccelerationConfidence_free;
|
||||
asn_struct_print_f AccelerationConfidence_print;
|
||||
asn_constr_check_f AccelerationConfidence_constraint;
|
||||
ber_type_decoder_f AccelerationConfidence_decode_ber;
|
||||
der_type_encoder_f AccelerationConfidence_encode_der;
|
||||
xer_type_decoder_f AccelerationConfidence_decode_xer;
|
||||
xer_type_encoder_f AccelerationConfidence_encode_xer;
|
||||
jer_type_encoder_f AccelerationConfidence_encode_jer;
|
||||
oer_type_decoder_f AccelerationConfidence_decode_oer;
|
||||
oer_type_encoder_f AccelerationConfidence_encode_oer;
|
||||
per_type_decoder_f AccelerationConfidence_decode_uper;
|
||||
per_type_encoder_f AccelerationConfidence_encode_uper;
|
||||
per_type_decoder_f AccelerationConfidence_decode_aper;
|
||||
per_type_encoder_f AccelerationConfidence_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AccelerationConfidence_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AccelerationControl.h"
|
||||
|
||||
int
|
||||
AccelerationControl_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->size > 0) {
|
||||
/* Size in bits */
|
||||
size = 8 * st->size - (st->bits_unused & 0x07);
|
||||
} else {
|
||||
size = 0;
|
||||
}
|
||||
|
||||
if((size == 7UL)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using BIT_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AccelerationControl_constr_1 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
7 /* (SIZE(7..7)) */};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AccelerationControl_constr_1 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 0, 0, 7, 7 } /* (SIZE(7..7)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
asn_jer_constraints_t asn_JER_type_AccelerationControl_constr_1 CC_NOTUSED = {
|
||||
7};
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AccelerationControl_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AccelerationControl = {
|
||||
"AccelerationControl",
|
||||
"AccelerationControl",
|
||||
&asn_OP_BIT_STRING,
|
||||
asn_DEF_AccelerationControl_tags_1,
|
||||
sizeof(asn_DEF_AccelerationControl_tags_1)
|
||||
/sizeof(asn_DEF_AccelerationControl_tags_1[0]), /* 1 */
|
||||
asn_DEF_AccelerationControl_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AccelerationControl_tags_1)
|
||||
/sizeof(asn_DEF_AccelerationControl_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AccelerationControl_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AccelerationControl_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
&asn_JER_type_AccelerationControl_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AccelerationControl_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_BIT_STRING_specs /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AccelerationControl_H_
|
||||
#define _AccelerationControl_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "BIT_STRING.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AccelerationControl {
|
||||
AccelerationControl_brakePedalEngaged = 0,
|
||||
AccelerationControl_gasPedalEngaged = 1,
|
||||
AccelerationControl_emergencyBrakeEngaged = 2,
|
||||
AccelerationControl_collisionWarningEngaged = 3,
|
||||
AccelerationControl_accEngaged = 4,
|
||||
AccelerationControl_cruiseControlEngaged = 5,
|
||||
AccelerationControl_speedLimiterEngaged = 6
|
||||
} e_AccelerationControl;
|
||||
|
||||
/* AccelerationControl */
|
||||
typedef BIT_STRING_t AccelerationControl_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AccelerationControl_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AccelerationControl_constr_1;
|
||||
extern asn_jer_constraints_t asn_JER_type_AccelerationControl_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AccelerationControl;
|
||||
asn_struct_free_f AccelerationControl_free;
|
||||
asn_struct_print_f AccelerationControl_print;
|
||||
asn_constr_check_f AccelerationControl_constraint;
|
||||
ber_type_decoder_f AccelerationControl_decode_ber;
|
||||
der_type_encoder_f AccelerationControl_encode_der;
|
||||
xer_type_decoder_f AccelerationControl_decode_xer;
|
||||
xer_type_encoder_f AccelerationControl_encode_xer;
|
||||
jer_type_encoder_f AccelerationControl_encode_jer;
|
||||
oer_type_decoder_f AccelerationControl_decode_oer;
|
||||
oer_type_encoder_f AccelerationControl_encode_oer;
|
||||
per_type_decoder_f AccelerationControl_decode_uper;
|
||||
per_type_encoder_f AccelerationControl_encode_uper;
|
||||
per_type_decoder_f AccelerationControl_decode_aper;
|
||||
per_type_encoder_f AccelerationControl_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AccelerationControl_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AccidentSubCauseCode.h"
|
||||
|
||||
int
|
||||
AccidentSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_type_AccidentSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_type_AccidentSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AccidentSubCauseCode_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AccidentSubCauseCode = {
|
||||
"AccidentSubCauseCode",
|
||||
"AccidentSubCauseCode",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AccidentSubCauseCode_tags_1,
|
||||
sizeof(asn_DEF_AccidentSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AccidentSubCauseCode_tags_1[0]), /* 1 */
|
||||
asn_DEF_AccidentSubCauseCode_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AccidentSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AccidentSubCauseCode_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AccidentSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AccidentSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AccidentSubCauseCode_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AccidentSubCauseCode_H_
|
||||
#define _AccidentSubCauseCode_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AccidentSubCauseCode {
|
||||
AccidentSubCauseCode_unavailable = 0,
|
||||
AccidentSubCauseCode_multiVehicleAccident = 1,
|
||||
AccidentSubCauseCode_heavyAccident = 2,
|
||||
AccidentSubCauseCode_accidentInvolvingLorry = 3,
|
||||
AccidentSubCauseCode_accidentInvolvingBus = 4,
|
||||
AccidentSubCauseCode_accidentInvolvingHazardousMaterials = 5,
|
||||
AccidentSubCauseCode_accidentOnOppositeLane = 6,
|
||||
AccidentSubCauseCode_unsecuredAccident = 7,
|
||||
AccidentSubCauseCode_assistanceRequested = 8
|
||||
} e_AccidentSubCauseCode;
|
||||
|
||||
/* AccidentSubCauseCode */
|
||||
typedef long AccidentSubCauseCode_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AccidentSubCauseCode;
|
||||
asn_struct_free_f AccidentSubCauseCode_free;
|
||||
asn_struct_print_f AccidentSubCauseCode_print;
|
||||
asn_constr_check_f AccidentSubCauseCode_constraint;
|
||||
ber_type_decoder_f AccidentSubCauseCode_decode_ber;
|
||||
der_type_encoder_f AccidentSubCauseCode_encode_der;
|
||||
xer_type_decoder_f AccidentSubCauseCode_decode_xer;
|
||||
xer_type_encoder_f AccidentSubCauseCode_encode_xer;
|
||||
jer_type_encoder_f AccidentSubCauseCode_encode_jer;
|
||||
oer_type_decoder_f AccidentSubCauseCode_decode_oer;
|
||||
oer_type_encoder_f AccidentSubCauseCode_encode_oer;
|
||||
per_type_decoder_f AccidentSubCauseCode_decode_uper;
|
||||
per_type_encoder_f AccidentSubCauseCode_encode_uper;
|
||||
per_type_decoder_f AccidentSubCauseCode_decode_aper;
|
||||
per_type_encoder_f AccidentSubCauseCode_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AccidentSubCauseCode_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "ActionID.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_ActionID_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ActionID, originatingStationID),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_StationID,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"originatingStationID"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ActionID, sequenceNumber),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_SequenceNumber,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"sequenceNumber"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_ActionID_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_ActionID_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* originatingStationID */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sequenceNumber */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_ActionID_specs_1 = {
|
||||
sizeof(struct ActionID),
|
||||
offsetof(struct ActionID, _asn_ctx),
|
||||
asn_MAP_ActionID_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ActionID = {
|
||||
"ActionID",
|
||||
"ActionID",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_ActionID_tags_1,
|
||||
sizeof(asn_DEF_ActionID_tags_1)
|
||||
/sizeof(asn_DEF_ActionID_tags_1[0]), /* 1 */
|
||||
asn_DEF_ActionID_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ActionID_tags_1)
|
||||
/sizeof(asn_DEF_ActionID_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_ActionID_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_ActionID_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _ActionID_H_
|
||||
#define _ActionID_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "StationID.h"
|
||||
#include "SequenceNumber.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ActionID */
|
||||
typedef struct ActionID {
|
||||
StationID_t originatingStationID;
|
||||
SequenceNumber_t sequenceNumber;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} ActionID_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ActionID;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_ActionID_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_ActionID_1[2];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ActionID_H_ */
|
||||
#include "asn_internal.h"
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "EfcDsrcApplication"
|
||||
* found in "ISO14906-0-6.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "ActualNumberOfPassengers.h"
|
||||
|
||||
int
|
||||
ActualNumberOfPassengers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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 Int1,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_type_ActualNumberOfPassengers_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_type_ActualNumberOfPassengers_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_ActualNumberOfPassengers_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ActualNumberOfPassengers = {
|
||||
"ActualNumberOfPassengers",
|
||||
"ActualNumberOfPassengers",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_ActualNumberOfPassengers_tags_1,
|
||||
sizeof(asn_DEF_ActualNumberOfPassengers_tags_1)
|
||||
/sizeof(asn_DEF_ActualNumberOfPassengers_tags_1[0]), /* 1 */
|
||||
asn_DEF_ActualNumberOfPassengers_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ActualNumberOfPassengers_tags_1)
|
||||
/sizeof(asn_DEF_ActualNumberOfPassengers_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_ActualNumberOfPassengers_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_ActualNumberOfPassengers_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
ActualNumberOfPassengers_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "EfcDsrcApplication"
|
||||
* found in "ISO14906-0-6.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _ActualNumberOfPassengers_H_
|
||||
#define _ActualNumberOfPassengers_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Int1.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ActualNumberOfPassengers */
|
||||
typedef Int1_t ActualNumberOfPassengers_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ActualNumberOfPassengers;
|
||||
asn_struct_free_f ActualNumberOfPassengers_free;
|
||||
asn_struct_print_f ActualNumberOfPassengers_print;
|
||||
asn_constr_check_f ActualNumberOfPassengers_constraint;
|
||||
ber_type_decoder_f ActualNumberOfPassengers_decode_ber;
|
||||
der_type_encoder_f ActualNumberOfPassengers_encode_der;
|
||||
xer_type_decoder_f ActualNumberOfPassengers_decode_xer;
|
||||
xer_type_encoder_f ActualNumberOfPassengers_encode_xer;
|
||||
jer_type_encoder_f ActualNumberOfPassengers_encode_jer;
|
||||
oer_type_decoder_f ActualNumberOfPassengers_decode_oer;
|
||||
oer_type_encoder_f ActualNumberOfPassengers_encode_oer;
|
||||
per_type_decoder_f ActualNumberOfPassengers_decode_uper;
|
||||
per_type_encoder_f ActualNumberOfPassengers_encode_uper;
|
||||
per_type_decoder_f ActualNumberOfPassengers_decode_aper;
|
||||
per_type_encoder_f ActualNumberOfPassengers_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ActualNumberOfPassengers_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "EfcDsrcApplication"
|
||||
* found in "ISO14906-0-6.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AddRq.h"
|
||||
|
||||
static int
|
||||
memb_attributeId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 127L)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_memb_attributeId_constr_2 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_memb_attributeId_constr_2 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 127 } /* (0..127,...) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static asn_TYPE_member_t asn_MBR_AddRq_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AddRq, attributeId),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_NativeInteger,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_memb_attributeId_constr_2,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_memb_attributeId_constr_2,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
memb_attributeId_constraint_1
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"attributeId"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AddRq, value),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_NativeInteger,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"value"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AddRq_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AddRq_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* attributeId */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* value */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_AddRq_specs_1 = {
|
||||
sizeof(struct AddRq),
|
||||
offsetof(struct AddRq, _asn_ctx),
|
||||
asn_MAP_AddRq_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AddRq = {
|
||||
"AddRq",
|
||||
"AddRq",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AddRq_tags_1,
|
||||
sizeof(asn_DEF_AddRq_tags_1)
|
||||
/sizeof(asn_DEF_AddRq_tags_1[0]), /* 1 */
|
||||
asn_DEF_AddRq_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AddRq_tags_1)
|
||||
/sizeof(asn_DEF_AddRq_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AddRq_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_AddRq_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "EfcDsrcApplication"
|
||||
* found in "ISO14906-0-6.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AddRq_H_
|
||||
#define _AddRq_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AddRq */
|
||||
typedef struct AddRq {
|
||||
long attributeId;
|
||||
long value;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AddRq_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AddRq;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AddRq_H_ */
|
||||
#include "asn_internal.h"
|
||||
microbu-esp32c5/external/vanetza-idf/vanetza/asn1/its/AdverseWeatherCondition-AdhesionSubCauseCode.c
Vendored
+79
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AdverseWeatherCondition-AdhesionSubCauseCode.h"
|
||||
|
||||
int
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_type_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_type_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode = {
|
||||
"AdverseWeatherCondition-AdhesionSubCauseCode",
|
||||
"AdverseWeatherCondition-AdhesionSubCauseCode",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1,
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AdverseWeatherCondition_AdhesionSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
microbu-esp32c5/external/vanetza-idf/vanetza/asn1/its/AdverseWeatherCondition-AdhesionSubCauseCode.h
Vendored
+61
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AdverseWeatherCondition_AdhesionSubCauseCode_H_
|
||||
#define _AdverseWeatherCondition_AdhesionSubCauseCode_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AdverseWeatherCondition_AdhesionSubCauseCode {
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_unavailable = 0,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_heavyFrostOnRoad = 1,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_fuelOnRoad = 2,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_mudOnRoad = 3,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_snowOnRoad = 4,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_iceOnRoad = 5,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_blackIceOnRoad = 6,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_oilOnRoad = 7,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_looseChippings = 8,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_instantBlackIce = 9,
|
||||
AdverseWeatherCondition_AdhesionSubCauseCode_roadsSalted = 10
|
||||
} e_AdverseWeatherCondition_AdhesionSubCauseCode;
|
||||
|
||||
/* AdverseWeatherCondition-AdhesionSubCauseCode */
|
||||
typedef long AdverseWeatherCondition_AdhesionSubCauseCode_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_AdhesionSubCauseCode;
|
||||
asn_struct_free_f AdverseWeatherCondition_AdhesionSubCauseCode_free;
|
||||
asn_struct_print_f AdverseWeatherCondition_AdhesionSubCauseCode_print;
|
||||
asn_constr_check_f AdverseWeatherCondition_AdhesionSubCauseCode_constraint;
|
||||
ber_type_decoder_f AdverseWeatherCondition_AdhesionSubCauseCode_decode_ber;
|
||||
der_type_encoder_f AdverseWeatherCondition_AdhesionSubCauseCode_encode_der;
|
||||
xer_type_decoder_f AdverseWeatherCondition_AdhesionSubCauseCode_decode_xer;
|
||||
xer_type_encoder_f AdverseWeatherCondition_AdhesionSubCauseCode_encode_xer;
|
||||
jer_type_encoder_f AdverseWeatherCondition_AdhesionSubCauseCode_encode_jer;
|
||||
oer_type_decoder_f AdverseWeatherCondition_AdhesionSubCauseCode_decode_oer;
|
||||
oer_type_encoder_f AdverseWeatherCondition_AdhesionSubCauseCode_encode_oer;
|
||||
per_type_decoder_f AdverseWeatherCondition_AdhesionSubCauseCode_decode_uper;
|
||||
per_type_encoder_f AdverseWeatherCondition_AdhesionSubCauseCode_encode_uper;
|
||||
per_type_decoder_f AdverseWeatherCondition_AdhesionSubCauseCode_decode_aper;
|
||||
per_type_encoder_f AdverseWeatherCondition_AdhesionSubCauseCode_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AdverseWeatherCondition_AdhesionSubCauseCode_H_ */
|
||||
#include "asn_internal.h"
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode.h"
|
||||
|
||||
int
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_type_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_type_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode = {
|
||||
"AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode",
|
||||
"AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1,
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_H_
|
||||
#define _AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode {
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_unavailable = 0,
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_strongWinds = 1,
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_damagingHail = 2,
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_hurricane = 3,
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_thunderstorm = 4,
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_tornado = 5,
|
||||
AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_blizzard = 6
|
||||
} e_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode;
|
||||
|
||||
/* AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode */
|
||||
typedef long AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode;
|
||||
asn_struct_free_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_free;
|
||||
asn_struct_print_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_print;
|
||||
asn_constr_check_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_constraint;
|
||||
ber_type_decoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_ber;
|
||||
der_type_encoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_der;
|
||||
xer_type_decoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_xer;
|
||||
xer_type_encoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_xer;
|
||||
jer_type_encoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_jer;
|
||||
oer_type_decoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_oer;
|
||||
oer_type_encoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_oer;
|
||||
per_type_decoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_uper;
|
||||
per_type_encoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_uper;
|
||||
per_type_decoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_decode_aper;
|
||||
per_type_encoder_f AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AdverseWeatherCondition_ExtremeWeatherConditionSubCauseCode_H_ */
|
||||
#include "asn_internal.h"
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AdverseWeatherCondition-PrecipitationSubCauseCode.h"
|
||||
|
||||
int
|
||||
AdverseWeatherCondition_PrecipitationSubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_type_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_type_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode = {
|
||||
"AdverseWeatherCondition-PrecipitationSubCauseCode",
|
||||
"AdverseWeatherCondition-PrecipitationSubCauseCode",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1,
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AdverseWeatherCondition_PrecipitationSubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AdverseWeatherCondition_PrecipitationSubCauseCode_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AdverseWeatherCondition_PrecipitationSubCauseCode_H_
|
||||
#define _AdverseWeatherCondition_PrecipitationSubCauseCode_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AdverseWeatherCondition_PrecipitationSubCauseCode {
|
||||
AdverseWeatherCondition_PrecipitationSubCauseCode_unavailable = 0,
|
||||
AdverseWeatherCondition_PrecipitationSubCauseCode_heavyRain = 1,
|
||||
AdverseWeatherCondition_PrecipitationSubCauseCode_heavySnowfall = 2,
|
||||
AdverseWeatherCondition_PrecipitationSubCauseCode_softHail = 3
|
||||
} e_AdverseWeatherCondition_PrecipitationSubCauseCode;
|
||||
|
||||
/* AdverseWeatherCondition-PrecipitationSubCauseCode */
|
||||
typedef long AdverseWeatherCondition_PrecipitationSubCauseCode_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_PrecipitationSubCauseCode;
|
||||
asn_struct_free_f AdverseWeatherCondition_PrecipitationSubCauseCode_free;
|
||||
asn_struct_print_f AdverseWeatherCondition_PrecipitationSubCauseCode_print;
|
||||
asn_constr_check_f AdverseWeatherCondition_PrecipitationSubCauseCode_constraint;
|
||||
ber_type_decoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_decode_ber;
|
||||
der_type_encoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_encode_der;
|
||||
xer_type_decoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_decode_xer;
|
||||
xer_type_encoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_encode_xer;
|
||||
jer_type_encoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_encode_jer;
|
||||
oer_type_decoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_decode_oer;
|
||||
oer_type_encoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_encode_oer;
|
||||
per_type_decoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_decode_uper;
|
||||
per_type_encoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_encode_uper;
|
||||
per_type_decoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_decode_aper;
|
||||
per_type_encoder_f AdverseWeatherCondition_PrecipitationSubCauseCode_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AdverseWeatherCondition_PrecipitationSubCauseCode_H_ */
|
||||
#include "asn_internal.h"
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AdverseWeatherCondition-VisibilitySubCauseCode.h"
|
||||
|
||||
int
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_type_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_type_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode = {
|
||||
"AdverseWeatherCondition-VisibilitySubCauseCode",
|
||||
"AdverseWeatherCondition-VisibilitySubCauseCode",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1,
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1)
|
||||
/sizeof(asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AdverseWeatherCondition_VisibilitySubCauseCode_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AdverseWeatherCondition_VisibilitySubCauseCode_H_
|
||||
#define _AdverseWeatherCondition_VisibilitySubCauseCode_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AdverseWeatherCondition_VisibilitySubCauseCode {
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_unavailable = 0,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_fog = 1,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_smoke = 2,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_heavySnowfall = 3,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_heavyRain = 4,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_heavyHail = 5,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_lowSunGlare = 6,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_sandstorms = 7,
|
||||
AdverseWeatherCondition_VisibilitySubCauseCode_swarmsOfInsects = 8
|
||||
} e_AdverseWeatherCondition_VisibilitySubCauseCode;
|
||||
|
||||
/* AdverseWeatherCondition-VisibilitySubCauseCode */
|
||||
typedef long AdverseWeatherCondition_VisibilitySubCauseCode_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdverseWeatherCondition_VisibilitySubCauseCode;
|
||||
asn_struct_free_f AdverseWeatherCondition_VisibilitySubCauseCode_free;
|
||||
asn_struct_print_f AdverseWeatherCondition_VisibilitySubCauseCode_print;
|
||||
asn_constr_check_f AdverseWeatherCondition_VisibilitySubCauseCode_constraint;
|
||||
ber_type_decoder_f AdverseWeatherCondition_VisibilitySubCauseCode_decode_ber;
|
||||
der_type_encoder_f AdverseWeatherCondition_VisibilitySubCauseCode_encode_der;
|
||||
xer_type_decoder_f AdverseWeatherCondition_VisibilitySubCauseCode_decode_xer;
|
||||
xer_type_encoder_f AdverseWeatherCondition_VisibilitySubCauseCode_encode_xer;
|
||||
jer_type_encoder_f AdverseWeatherCondition_VisibilitySubCauseCode_encode_jer;
|
||||
oer_type_decoder_f AdverseWeatherCondition_VisibilitySubCauseCode_decode_oer;
|
||||
oer_type_encoder_f AdverseWeatherCondition_VisibilitySubCauseCode_encode_oer;
|
||||
per_type_decoder_f AdverseWeatherCondition_VisibilitySubCauseCode_decode_uper;
|
||||
per_type_encoder_f AdverseWeatherCondition_VisibilitySubCauseCode_encode_uper;
|
||||
per_type_decoder_f AdverseWeatherCondition_VisibilitySubCauseCode_decode_aper;
|
||||
per_type_encoder_f AdverseWeatherCondition_VisibilitySubCauseCode_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AdverseWeatherCondition_VisibilitySubCauseCode_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,288 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AdvisorySpeed.h"
|
||||
|
||||
static int
|
||||
memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size >= 1UL && size <= 4UL)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_type_regional_constr_7 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1 /* (SIZE(1..4)) */};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_type_regional_constr_7 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_memb_regional_constr_7 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1 /* (SIZE(1..4)) */};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_memb_regional_constr_7 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static asn_TYPE_member_t asn_MBR_regional_7[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
|
||||
0,
|
||||
&asn_DEF_Reg_AdvisorySpeed,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_regional_tags_7[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_regional_specs_7 = {
|
||||
sizeof(struct AdvisorySpeed__regional),
|
||||
offsetof(struct AdvisorySpeed__regional, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_regional_7 = {
|
||||
"regional",
|
||||
"regional",
|
||||
&asn_OP_SEQUENCE_OF,
|
||||
asn_DEF_regional_tags_7,
|
||||
sizeof(asn_DEF_regional_tags_7)
|
||||
/sizeof(asn_DEF_regional_tags_7[0]) - 1, /* 1 */
|
||||
asn_DEF_regional_tags_7, /* Same as above */
|
||||
sizeof(asn_DEF_regional_tags_7)
|
||||
/sizeof(asn_DEF_regional_tags_7[0]), /* 2 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_regional_constr_7,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_regional_constr_7,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_OF_constraint
|
||||
},
|
||||
asn_MBR_regional_7,
|
||||
1, /* Single element */
|
||||
&asn_SPC_regional_specs_7 /* Additional specs */
|
||||
};
|
||||
|
||||
asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AdvisorySpeed, type),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_AdvisorySpeedType,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"type"
|
||||
},
|
||||
{ ATF_POINTER, 5, offsetof(struct AdvisorySpeed, speed),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_SpeedAdvice,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"speed"
|
||||
},
|
||||
{ ATF_POINTER, 4, offsetof(struct AdvisorySpeed, confidence),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_SpeedConfidenceIso,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"confidence"
|
||||
},
|
||||
{ ATF_POINTER, 3, offsetof(struct AdvisorySpeed, distance),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ZoneLength,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"distance"
|
||||
},
|
||||
{ ATF_POINTER, 2, offsetof(struct AdvisorySpeed, Class),
|
||||
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_RestrictionClassID,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"class"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct AdvisorySpeed, regional),
|
||||
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
|
||||
0,
|
||||
&asn_DEF_regional_7,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_memb_regional_constr_7,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_memb_regional_constr_7,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
memb_regional_constraint_1
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"regional"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_AdvisorySpeed_oms_1[] = { 1, 2, 3, 4, 5 };
|
||||
static const ber_tlv_tag_t asn_DEF_AdvisorySpeed_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AdvisorySpeed_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* type */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speed */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* confidence */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* distance */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* class */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AdvisorySpeed_specs_1 = {
|
||||
sizeof(struct AdvisorySpeed),
|
||||
offsetof(struct AdvisorySpeed, _asn_ctx),
|
||||
asn_MAP_AdvisorySpeed_tag2el_1,
|
||||
6, /* Count of tags in the map */
|
||||
asn_MAP_AdvisorySpeed_oms_1, /* Optional members */
|
||||
5, 0, /* Root/Additions */
|
||||
6, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdvisorySpeed = {
|
||||
"AdvisorySpeed",
|
||||
"AdvisorySpeed",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AdvisorySpeed_tags_1,
|
||||
sizeof(asn_DEF_AdvisorySpeed_tags_1)
|
||||
/sizeof(asn_DEF_AdvisorySpeed_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdvisorySpeed_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdvisorySpeed_tags_1)
|
||||
/sizeof(asn_DEF_AdvisorySpeed_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AdvisorySpeed_1,
|
||||
6, /* Elements count */
|
||||
&asn_SPC_AdvisorySpeed_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AdvisorySpeed_H_
|
||||
#define _AdvisorySpeed_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "AdvisorySpeedType.h"
|
||||
#include "SpeedAdvice.h"
|
||||
#include "SpeedConfidenceIso.h"
|
||||
#include "ZoneLength.h"
|
||||
#include "RestrictionClassID.h"
|
||||
#include "asn_SEQUENCE_OF.h"
|
||||
#include "constr_SEQUENCE_OF.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct Reg_AdvisorySpeed;
|
||||
|
||||
/* AdvisorySpeed */
|
||||
typedef struct AdvisorySpeed {
|
||||
AdvisorySpeedType_t type;
|
||||
SpeedAdvice_t *speed; /* OPTIONAL */
|
||||
SpeedConfidenceIso_t *confidence; /* OPTIONAL */
|
||||
ZoneLength_t *distance; /* OPTIONAL */
|
||||
RestrictionClassID_t *Class; /* OPTIONAL */
|
||||
struct AdvisorySpeed__regional {
|
||||
A_SEQUENCE_OF(struct Reg_AdvisorySpeed) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} *regional;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AdvisorySpeed_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdvisorySpeed;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AdvisorySpeed_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[6];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "RegionalExtension.h"
|
||||
|
||||
#endif /* _AdvisorySpeed_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AdvisorySpeedList.h"
|
||||
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AdvisorySpeedList_constr_1 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1 /* (SIZE(1..16)) */};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AdvisorySpeedList_constr_1 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
asn_TYPE_member_t asn_MBR_AdvisorySpeedList_1[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
|
||||
0,
|
||||
&asn_DEF_AdvisorySpeed,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AdvisorySpeedList_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
asn_SET_OF_specifics_t asn_SPC_AdvisorySpeedList_specs_1 = {
|
||||
sizeof(struct AdvisorySpeedList),
|
||||
offsetof(struct AdvisorySpeedList, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedList = {
|
||||
"AdvisorySpeedList",
|
||||
"AdvisorySpeedList",
|
||||
&asn_OP_SEQUENCE_OF,
|
||||
asn_DEF_AdvisorySpeedList_tags_1,
|
||||
sizeof(asn_DEF_AdvisorySpeedList_tags_1)
|
||||
/sizeof(asn_DEF_AdvisorySpeedList_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdvisorySpeedList_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdvisorySpeedList_tags_1)
|
||||
/sizeof(asn_DEF_AdvisorySpeedList_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AdvisorySpeedList_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AdvisorySpeedList_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_OF_constraint
|
||||
},
|
||||
asn_MBR_AdvisorySpeedList_1,
|
||||
1, /* Single element */
|
||||
&asn_SPC_AdvisorySpeedList_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AdvisorySpeedList_H_
|
||||
#define _AdvisorySpeedList_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "asn_SEQUENCE_OF.h"
|
||||
#include "constr_SEQUENCE_OF.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct AdvisorySpeed;
|
||||
|
||||
/* AdvisorySpeedList */
|
||||
typedef struct AdvisorySpeedList {
|
||||
A_SEQUENCE_OF(struct AdvisorySpeed) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AdvisorySpeedList_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedList;
|
||||
extern asn_SET_OF_specifics_t asn_SPC_AdvisorySpeedList_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AdvisorySpeedList_1[1];
|
||||
extern asn_oer_constraints_t asn_OER_type_AdvisorySpeedList_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AdvisorySpeedList_constr_1;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "AdvisorySpeed.h"
|
||||
|
||||
#endif /* _AdvisorySpeedList_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AdvisorySpeedType.h"
|
||||
|
||||
/*
|
||||
* This type is implemented using NativeEnumerated,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AdvisorySpeedType_constr_1 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AdvisorySpeedType_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const asn_INTEGER_enum_map_t asn_MAP_AdvisorySpeedType_value2enum_1[] = {
|
||||
{ 0, 4, "none" },
|
||||
{ 1, 9, "greenwave" },
|
||||
{ 2, 8, "ecoDrive" },
|
||||
{ 3, 7, "transit" }
|
||||
/* This list is extensible */
|
||||
};
|
||||
static const unsigned int asn_MAP_AdvisorySpeedType_enum2value_1[] = {
|
||||
2, /* ecoDrive(2) */
|
||||
1, /* greenwave(1) */
|
||||
0, /* none(0) */
|
||||
3 /* transit(3) */
|
||||
/* This list is extensible */
|
||||
};
|
||||
const asn_INTEGER_specifics_t asn_SPC_AdvisorySpeedType_specs_1 = {
|
||||
asn_MAP_AdvisorySpeedType_value2enum_1, /* "tag" => N; sorted by tag */
|
||||
asn_MAP_AdvisorySpeedType_enum2value_1, /* N => "tag"; sorted by N */
|
||||
4, /* Number of elements in the maps */
|
||||
5, /* Extensions before this member */
|
||||
1, /* Strict enumeration */
|
||||
0, /* Native long size */
|
||||
0
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AdvisorySpeedType_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedType = {
|
||||
"AdvisorySpeedType",
|
||||
"AdvisorySpeedType",
|
||||
&asn_OP_NativeEnumerated,
|
||||
asn_DEF_AdvisorySpeedType_tags_1,
|
||||
sizeof(asn_DEF_AdvisorySpeedType_tags_1)
|
||||
/sizeof(asn_DEF_AdvisorySpeedType_tags_1[0]), /* 1 */
|
||||
asn_DEF_AdvisorySpeedType_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AdvisorySpeedType_tags_1)
|
||||
/sizeof(asn_DEF_AdvisorySpeedType_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AdvisorySpeedType_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AdvisorySpeedType_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
NativeEnumerated_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_AdvisorySpeedType_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AdvisorySpeedType_H_
|
||||
#define _AdvisorySpeedType_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeEnumerated.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AdvisorySpeedType {
|
||||
AdvisorySpeedType_none = 0,
|
||||
AdvisorySpeedType_greenwave = 1,
|
||||
AdvisorySpeedType_ecoDrive = 2,
|
||||
AdvisorySpeedType_transit = 3
|
||||
/*
|
||||
* Enumeration is extensible
|
||||
*/
|
||||
} e_AdvisorySpeedType;
|
||||
|
||||
/* AdvisorySpeedType */
|
||||
typedef long AdvisorySpeedType_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AdvisorySpeedType_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AdvisorySpeedType_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedType;
|
||||
extern const asn_INTEGER_specifics_t asn_SPC_AdvisorySpeedType_specs_1;
|
||||
asn_struct_free_f AdvisorySpeedType_free;
|
||||
asn_struct_print_f AdvisorySpeedType_print;
|
||||
asn_constr_check_f AdvisorySpeedType_constraint;
|
||||
ber_type_decoder_f AdvisorySpeedType_decode_ber;
|
||||
der_type_encoder_f AdvisorySpeedType_encode_der;
|
||||
xer_type_decoder_f AdvisorySpeedType_decode_xer;
|
||||
xer_type_encoder_f AdvisorySpeedType_encode_xer;
|
||||
jer_type_encoder_f AdvisorySpeedType_encode_jer;
|
||||
oer_type_decoder_f AdvisorySpeedType_decode_oer;
|
||||
oer_type_encoder_f AdvisorySpeedType_encode_oer;
|
||||
per_type_decoder_f AdvisorySpeedType_decode_uper;
|
||||
per_type_encoder_f AdvisorySpeedType_encode_uper;
|
||||
per_type_decoder_f AdvisorySpeedType_decode_aper;
|
||||
per_type_encoder_f AdvisorySpeedType_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AdvisorySpeedType_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,179 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DENM-PDU-Descriptions"
|
||||
* found in "EN302637-3v131-DENM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AlacarteContainer.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_AlacarteContainer_1[] = {
|
||||
{ ATF_POINTER, 6, offsetof(struct AlacarteContainer, lanePosition),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_LanePosition,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"lanePosition"
|
||||
},
|
||||
{ ATF_POINTER, 5, offsetof(struct AlacarteContainer, impactReduction),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ImpactReductionContainer,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"impactReduction"
|
||||
},
|
||||
{ ATF_POINTER, 4, offsetof(struct AlacarteContainer, externalTemperature),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ITS_Container_Temperature,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"externalTemperature"
|
||||
},
|
||||
{ ATF_POINTER, 3, offsetof(struct AlacarteContainer, roadWorks),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_RoadWorksContainerExtended,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"roadWorks"
|
||||
},
|
||||
{ ATF_POINTER, 2, offsetof(struct AlacarteContainer, positioningSolution),
|
||||
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_PositioningSolutionType,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"positioningSolution"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct AlacarteContainer, stationaryVehicle),
|
||||
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_StationaryVehicleContainer,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"stationaryVehicle"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_AlacarteContainer_oms_1[] = { 0, 1, 2, 3, 4, 5 };
|
||||
static const ber_tlv_tag_t asn_DEF_AlacarteContainer_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AlacarteContainer_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lanePosition */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* impactReduction */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* externalTemperature */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* roadWorks */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* positioningSolution */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* stationaryVehicle */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AlacarteContainer_specs_1 = {
|
||||
sizeof(struct AlacarteContainer),
|
||||
offsetof(struct AlacarteContainer, _asn_ctx),
|
||||
asn_MAP_AlacarteContainer_tag2el_1,
|
||||
6, /* Count of tags in the map */
|
||||
asn_MAP_AlacarteContainer_oms_1, /* Optional members */
|
||||
6, 0, /* Root/Additions */
|
||||
6, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AlacarteContainer = {
|
||||
"AlacarteContainer",
|
||||
"AlacarteContainer",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AlacarteContainer_tags_1,
|
||||
sizeof(asn_DEF_AlacarteContainer_tags_1)
|
||||
/sizeof(asn_DEF_AlacarteContainer_tags_1[0]), /* 1 */
|
||||
asn_DEF_AlacarteContainer_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AlacarteContainer_tags_1)
|
||||
/sizeof(asn_DEF_AlacarteContainer_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AlacarteContainer_1,
|
||||
6, /* Elements count */
|
||||
&asn_SPC_AlacarteContainer_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DENM-PDU-Descriptions"
|
||||
* found in "EN302637-3v131-DENM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AlacarteContainer_H_
|
||||
#define _AlacarteContainer_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "LanePosition.h"
|
||||
#include "ITS-Container_Temperature.h"
|
||||
#include "PositioningSolutionType.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct ImpactReductionContainer;
|
||||
struct RoadWorksContainerExtended;
|
||||
struct StationaryVehicleContainer;
|
||||
|
||||
/* AlacarteContainer */
|
||||
typedef struct AlacarteContainer {
|
||||
LanePosition_t *lanePosition; /* OPTIONAL */
|
||||
struct ImpactReductionContainer *impactReduction; /* OPTIONAL */
|
||||
ITS_Container_Temperature_t *externalTemperature; /* OPTIONAL */
|
||||
struct RoadWorksContainerExtended *roadWorks; /* OPTIONAL */
|
||||
PositioningSolutionType_t *positioningSolution; /* OPTIONAL */
|
||||
struct StationaryVehicleContainer *stationaryVehicle; /* OPTIONAL */
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AlacarteContainer_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AlacarteContainer;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AlacarteContainer_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AlacarteContainer_1[6];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "ImpactReductionContainer.h"
|
||||
#include "RoadWorksContainerExtended.h"
|
||||
#include "StationaryVehicleContainer.h"
|
||||
|
||||
#endif /* _AlacarteContainer_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AllowedManeuvers.h"
|
||||
|
||||
int
|
||||
AllowedManeuvers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->size > 0) {
|
||||
/* Size in bits */
|
||||
size = 8 * st->size - (st->bits_unused & 0x07);
|
||||
} else {
|
||||
size = 0;
|
||||
}
|
||||
|
||||
if((size == 12UL)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This type is implemented using BIT_STRING,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AllowedManeuvers_constr_1 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
12 /* (SIZE(12..12)) */};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AllowedManeuvers_constr_1 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 0, 0, 12, 12 } /* (SIZE(12..12)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
asn_jer_constraints_t asn_JER_type_AllowedManeuvers_constr_1 CC_NOTUSED = {
|
||||
12};
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AllowedManeuvers_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AllowedManeuvers = {
|
||||
"AllowedManeuvers",
|
||||
"AllowedManeuvers",
|
||||
&asn_OP_BIT_STRING,
|
||||
asn_DEF_AllowedManeuvers_tags_1,
|
||||
sizeof(asn_DEF_AllowedManeuvers_tags_1)
|
||||
/sizeof(asn_DEF_AllowedManeuvers_tags_1[0]), /* 1 */
|
||||
asn_DEF_AllowedManeuvers_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AllowedManeuvers_tags_1)
|
||||
/sizeof(asn_DEF_AllowedManeuvers_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AllowedManeuvers_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AllowedManeuvers_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
&asn_JER_type_AllowedManeuvers_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AllowedManeuvers_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_BIT_STRING_specs /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AllowedManeuvers_H_
|
||||
#define _AllowedManeuvers_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "BIT_STRING.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AllowedManeuvers {
|
||||
AllowedManeuvers_maneuverStraightAllowed = 0,
|
||||
AllowedManeuvers_maneuverLeftAllowed = 1,
|
||||
AllowedManeuvers_maneuverRightAllowed = 2,
|
||||
AllowedManeuvers_maneuverUTurnAllowed = 3,
|
||||
AllowedManeuvers_maneuverLeftTurnOnRedAllowed = 4,
|
||||
AllowedManeuvers_maneuverRightTurnOnRedAllowed = 5,
|
||||
AllowedManeuvers_maneuverLaneChangeAllowed = 6,
|
||||
AllowedManeuvers_maneuverNoStoppingAllowed = 7,
|
||||
AllowedManeuvers_yieldAllwaysRequired = 8,
|
||||
AllowedManeuvers_goWithHalt = 9,
|
||||
AllowedManeuvers_caution = 10,
|
||||
AllowedManeuvers_reserved1 = 11
|
||||
} e_AllowedManeuvers;
|
||||
|
||||
/* AllowedManeuvers */
|
||||
typedef BIT_STRING_t AllowedManeuvers_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AllowedManeuvers_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AllowedManeuvers_constr_1;
|
||||
extern asn_jer_constraints_t asn_JER_type_AllowedManeuvers_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AllowedManeuvers;
|
||||
asn_struct_free_f AllowedManeuvers_free;
|
||||
asn_struct_print_f AllowedManeuvers_print;
|
||||
asn_constr_check_f AllowedManeuvers_constraint;
|
||||
ber_type_decoder_f AllowedManeuvers_decode_ber;
|
||||
der_type_encoder_f AllowedManeuvers_encode_der;
|
||||
xer_type_decoder_f AllowedManeuvers_decode_xer;
|
||||
xer_type_encoder_f AllowedManeuvers_encode_xer;
|
||||
jer_type_encoder_f AllowedManeuvers_encode_jer;
|
||||
oer_type_decoder_f AllowedManeuvers_decode_oer;
|
||||
oer_type_encoder_f AllowedManeuvers_encode_oer;
|
||||
per_type_decoder_f AllowedManeuvers_decode_uper;
|
||||
per_type_encoder_f AllowedManeuvers_encode_uper;
|
||||
per_type_decoder_f AllowedManeuvers_decode_aper;
|
||||
per_type_encoder_f AllowedManeuvers_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AllowedManeuvers_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "AVIAEINumberingAndDataStructures"
|
||||
* found in "ISO14816.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AlphabetIndicator.h"
|
||||
|
||||
int
|
||||
AlphabetIndicator_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 63L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AlphabetIndicator_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..63) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AlphabetIndicator_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AlphabetIndicator_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AlphabetIndicator = {
|
||||
"AlphabetIndicator",
|
||||
"AlphabetIndicator",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AlphabetIndicator_tags_1,
|
||||
sizeof(asn_DEF_AlphabetIndicator_tags_1)
|
||||
/sizeof(asn_DEF_AlphabetIndicator_tags_1[0]), /* 1 */
|
||||
asn_DEF_AlphabetIndicator_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AlphabetIndicator_tags_1)
|
||||
/sizeof(asn_DEF_AlphabetIndicator_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AlphabetIndicator_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AlphabetIndicator_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AlphabetIndicator_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "AVIAEINumberingAndDataStructures"
|
||||
* found in "ISO14816.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AlphabetIndicator_H_
|
||||
#define _AlphabetIndicator_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AlphabetIndicator {
|
||||
AlphabetIndicator_latinAlphabetNo1 = 0,
|
||||
AlphabetIndicator_latinAlphabetNo2 = 1,
|
||||
AlphabetIndicator_latinAlphabetNo3 = 2,
|
||||
AlphabetIndicator_latinAlphabetNo4 = 3,
|
||||
AlphabetIndicator_latinCyrillicAlphabet = 4,
|
||||
AlphabetIndicator_latinArabicAlphabet = 5,
|
||||
AlphabetIndicator_latinGreekAlphabet = 6,
|
||||
AlphabetIndicator_latinHebrewAlphabet = 7,
|
||||
AlphabetIndicator_latinAlphabetNo5 = 8,
|
||||
AlphabetIndicator_latinAlphabetNo6 = 9,
|
||||
AlphabetIndicator_twoOctetBMP = 10,
|
||||
AlphabetIndicator_fourOctetCanonical = 11
|
||||
} e_AlphabetIndicator;
|
||||
|
||||
/* AlphabetIndicator */
|
||||
typedef long AlphabetIndicator_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AlphabetIndicator_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AlphabetIndicator_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AlphabetIndicator;
|
||||
asn_struct_free_f AlphabetIndicator_free;
|
||||
asn_struct_print_f AlphabetIndicator_print;
|
||||
asn_constr_check_f AlphabetIndicator_constraint;
|
||||
ber_type_decoder_f AlphabetIndicator_decode_ber;
|
||||
der_type_encoder_f AlphabetIndicator_encode_der;
|
||||
xer_type_decoder_f AlphabetIndicator_decode_xer;
|
||||
xer_type_encoder_f AlphabetIndicator_encode_xer;
|
||||
jer_type_encoder_f AlphabetIndicator_encode_jer;
|
||||
oer_type_decoder_f AlphabetIndicator_decode_oer;
|
||||
oer_type_encoder_f AlphabetIndicator_encode_oer;
|
||||
per_type_decoder_f AlphabetIndicator_decode_uper;
|
||||
per_type_encoder_f AlphabetIndicator_encode_uper;
|
||||
per_type_decoder_f AlphabetIndicator_decode_aper;
|
||||
per_type_encoder_f AlphabetIndicator_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AlphabetIndicator_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "Altitude.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_Altitude_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Altitude, altitudeValue),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_AltitudeValue,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"altitudeValue"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct Altitude, altitudeConfidence),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_AltitudeConfidence,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"altitudeConfidence"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_Altitude_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_Altitude_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altitudeValue */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altitudeConfidence */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_Altitude_specs_1 = {
|
||||
sizeof(struct Altitude),
|
||||
offsetof(struct Altitude, _asn_ctx),
|
||||
asn_MAP_Altitude_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Altitude = {
|
||||
"Altitude",
|
||||
"Altitude",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_Altitude_tags_1,
|
||||
sizeof(asn_DEF_Altitude_tags_1)
|
||||
/sizeof(asn_DEF_Altitude_tags_1[0]), /* 1 */
|
||||
asn_DEF_Altitude_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_Altitude_tags_1)
|
||||
/sizeof(asn_DEF_Altitude_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_Altitude_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_Altitude_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _Altitude_H_
|
||||
#define _Altitude_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "AltitudeValue.h"
|
||||
#include "AltitudeConfidence.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Altitude */
|
||||
typedef struct Altitude {
|
||||
AltitudeValue_t altitudeValue;
|
||||
AltitudeConfidence_t altitudeConfidence;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} Altitude_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Altitude;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_Altitude_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_Altitude_1[2];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Altitude_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AltitudeConfidence.h"
|
||||
|
||||
/*
|
||||
* This type is implemented using NativeEnumerated,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AltitudeConfidence_constr_1 CC_NOTUSED = {
|
||||
{ 0, 0 },
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AltitudeConfidence_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const asn_INTEGER_enum_map_t asn_MAP_AltitudeConfidence_value2enum_1[] = {
|
||||
{ 0, 10, "alt-000-01" },
|
||||
{ 1, 10, "alt-000-02" },
|
||||
{ 2, 10, "alt-000-05" },
|
||||
{ 3, 10, "alt-000-10" },
|
||||
{ 4, 10, "alt-000-20" },
|
||||
{ 5, 10, "alt-000-50" },
|
||||
{ 6, 10, "alt-001-00" },
|
||||
{ 7, 10, "alt-002-00" },
|
||||
{ 8, 10, "alt-005-00" },
|
||||
{ 9, 10, "alt-010-00" },
|
||||
{ 10, 10, "alt-020-00" },
|
||||
{ 11, 10, "alt-050-00" },
|
||||
{ 12, 10, "alt-100-00" },
|
||||
{ 13, 10, "alt-200-00" },
|
||||
{ 14, 10, "outOfRange" },
|
||||
{ 15, 11, "unavailable" }
|
||||
};
|
||||
static const unsigned int asn_MAP_AltitudeConfidence_enum2value_1[] = {
|
||||
0, /* alt-000-01(0) */
|
||||
1, /* alt-000-02(1) */
|
||||
2, /* alt-000-05(2) */
|
||||
3, /* alt-000-10(3) */
|
||||
4, /* alt-000-20(4) */
|
||||
5, /* alt-000-50(5) */
|
||||
6, /* alt-001-00(6) */
|
||||
7, /* alt-002-00(7) */
|
||||
8, /* alt-005-00(8) */
|
||||
9, /* alt-010-00(9) */
|
||||
10, /* alt-020-00(10) */
|
||||
11, /* alt-050-00(11) */
|
||||
12, /* alt-100-00(12) */
|
||||
13, /* alt-200-00(13) */
|
||||
14, /* outOfRange(14) */
|
||||
15 /* unavailable(15) */
|
||||
};
|
||||
const asn_INTEGER_specifics_t asn_SPC_AltitudeConfidence_specs_1 = {
|
||||
asn_MAP_AltitudeConfidence_value2enum_1, /* "tag" => N; sorted by tag */
|
||||
asn_MAP_AltitudeConfidence_enum2value_1, /* N => "tag"; sorted by N */
|
||||
16, /* Number of elements in the maps */
|
||||
0, /* Enumeration is not extensible */
|
||||
1, /* Strict enumeration */
|
||||
0, /* Native long size */
|
||||
0
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AltitudeConfidence_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AltitudeConfidence = {
|
||||
"AltitudeConfidence",
|
||||
"AltitudeConfidence",
|
||||
&asn_OP_NativeEnumerated,
|
||||
asn_DEF_AltitudeConfidence_tags_1,
|
||||
sizeof(asn_DEF_AltitudeConfidence_tags_1)
|
||||
/sizeof(asn_DEF_AltitudeConfidence_tags_1[0]), /* 1 */
|
||||
asn_DEF_AltitudeConfidence_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AltitudeConfidence_tags_1)
|
||||
/sizeof(asn_DEF_AltitudeConfidence_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AltitudeConfidence_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AltitudeConfidence_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
NativeEnumerated_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_AltitudeConfidence_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AltitudeConfidence_H_
|
||||
#define _AltitudeConfidence_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeEnumerated.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AltitudeConfidence {
|
||||
AltitudeConfidence_alt_000_01 = 0,
|
||||
AltitudeConfidence_alt_000_02 = 1,
|
||||
AltitudeConfidence_alt_000_05 = 2,
|
||||
AltitudeConfidence_alt_000_10 = 3,
|
||||
AltitudeConfidence_alt_000_20 = 4,
|
||||
AltitudeConfidence_alt_000_50 = 5,
|
||||
AltitudeConfidence_alt_001_00 = 6,
|
||||
AltitudeConfidence_alt_002_00 = 7,
|
||||
AltitudeConfidence_alt_005_00 = 8,
|
||||
AltitudeConfidence_alt_010_00 = 9,
|
||||
AltitudeConfidence_alt_020_00 = 10,
|
||||
AltitudeConfidence_alt_050_00 = 11,
|
||||
AltitudeConfidence_alt_100_00 = 12,
|
||||
AltitudeConfidence_alt_200_00 = 13,
|
||||
AltitudeConfidence_outOfRange = 14,
|
||||
AltitudeConfidence_unavailable = 15
|
||||
} e_AltitudeConfidence;
|
||||
|
||||
/* AltitudeConfidence */
|
||||
typedef long AltitudeConfidence_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AltitudeConfidence_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AltitudeConfidence_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AltitudeConfidence;
|
||||
extern const asn_INTEGER_specifics_t asn_SPC_AltitudeConfidence_specs_1;
|
||||
asn_struct_free_f AltitudeConfidence_free;
|
||||
asn_struct_print_f AltitudeConfidence_print;
|
||||
asn_constr_check_f AltitudeConfidence_constraint;
|
||||
ber_type_decoder_f AltitudeConfidence_decode_ber;
|
||||
der_type_encoder_f AltitudeConfidence_encode_der;
|
||||
xer_type_decoder_f AltitudeConfidence_decode_xer;
|
||||
xer_type_encoder_f AltitudeConfidence_encode_xer;
|
||||
jer_type_encoder_f AltitudeConfidence_encode_jer;
|
||||
oer_type_decoder_f AltitudeConfidence_decode_oer;
|
||||
oer_type_encoder_f AltitudeConfidence_encode_oer;
|
||||
per_type_decoder_f AltitudeConfidence_decode_uper;
|
||||
per_type_encoder_f AltitudeConfidence_encode_uper;
|
||||
per_type_decoder_f AltitudeConfidence_decode_aper;
|
||||
per_type_encoder_f AltitudeConfidence_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AltitudeConfidence_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AltitudeValue.h"
|
||||
|
||||
int
|
||||
AltitudeValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= -100000L && value <= 800001L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AltitudeValue_constr_1 CC_NOTUSED = {
|
||||
{ 4, 0 } /* (-100000..800001) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AltitudeValue_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 20, -1, -100000, 800001 } /* (-100000..800001) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AltitudeValue_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AltitudeValue = {
|
||||
"AltitudeValue",
|
||||
"AltitudeValue",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AltitudeValue_tags_1,
|
||||
sizeof(asn_DEF_AltitudeValue_tags_1)
|
||||
/sizeof(asn_DEF_AltitudeValue_tags_1[0]), /* 1 */
|
||||
asn_DEF_AltitudeValue_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AltitudeValue_tags_1)
|
||||
/sizeof(asn_DEF_AltitudeValue_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AltitudeValue_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AltitudeValue_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AltitudeValue_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "ITS-Container"
|
||||
* found in "TS102894-2v131-CDD.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AltitudeValue_H_
|
||||
#define _AltitudeValue_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AltitudeValue {
|
||||
AltitudeValue_referenceEllipsoidSurface = 0,
|
||||
AltitudeValue_oneCentimeter = 1,
|
||||
AltitudeValue_unavailable = 800001
|
||||
} e_AltitudeValue;
|
||||
|
||||
/* AltitudeValue */
|
||||
typedef long AltitudeValue_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AltitudeValue_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AltitudeValue_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AltitudeValue;
|
||||
asn_struct_free_f AltitudeValue_free;
|
||||
asn_struct_print_f AltitudeValue_print;
|
||||
asn_constr_check_f AltitudeValue_constraint;
|
||||
ber_type_decoder_f AltitudeValue_decode_ber;
|
||||
der_type_encoder_f AltitudeValue_encode_der;
|
||||
xer_type_decoder_f AltitudeValue_decode_xer;
|
||||
xer_type_encoder_f AltitudeValue_encode_xer;
|
||||
jer_type_encoder_f AltitudeValue_encode_jer;
|
||||
oer_type_decoder_f AltitudeValue_decode_oer;
|
||||
oer_type_encoder_f AltitudeValue_encode_oer;
|
||||
per_type_decoder_f AltitudeValue_decode_uper;
|
||||
per_type_encoder_f AltitudeValue_encode_uper;
|
||||
per_type_decoder_f AltitudeValue_decode_aper;
|
||||
per_type_encoder_f AltitudeValue_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AltitudeValue_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "Angle.h"
|
||||
|
||||
int
|
||||
Angle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 28800L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_Angle_constr_1 CC_NOTUSED = {
|
||||
{ 2, 1 } /* (0..28800) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_Angle_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 15, 15, 0, 28800 } /* (0..28800) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_Angle_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_Angle = {
|
||||
"Angle",
|
||||
"Angle",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_Angle_tags_1,
|
||||
sizeof(asn_DEF_Angle_tags_1)
|
||||
/sizeof(asn_DEF_Angle_tags_1[0]), /* 1 */
|
||||
asn_DEF_Angle_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_Angle_tags_1)
|
||||
/sizeof(asn_DEF_Angle_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_Angle_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_Angle_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
Angle_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _Angle_H_
|
||||
#define _Angle_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Angle */
|
||||
typedef long Angle_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_Angle_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_Angle_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_Angle;
|
||||
asn_struct_free_f Angle_free;
|
||||
asn_struct_print_f Angle_print;
|
||||
asn_constr_check_f Angle_constraint;
|
||||
ber_type_decoder_f Angle_decode_ber;
|
||||
der_type_encoder_f Angle_encode_der;
|
||||
xer_type_decoder_f Angle_decode_xer;
|
||||
xer_type_encoder_f Angle_encode_xer;
|
||||
jer_type_encoder_f Angle_encode_jer;
|
||||
oer_type_decoder_f Angle_decode_oer;
|
||||
oer_type_encoder_f Angle_encode_oer;
|
||||
per_type_decoder_f Angle_decode_uper;
|
||||
per_type_encoder_f Angle_encode_uper;
|
||||
per_type_decoder_f Angle_decode_aper;
|
||||
per_type_encoder_f Angle_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Angle_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AngleConfidence.h"
|
||||
|
||||
int
|
||||
AngleConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 1L && value <= 127L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AngleConfidence_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (1..127) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AngleConfidence_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 7, 7, 1, 127 } /* (1..127) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AngleConfidence_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AngleConfidence = {
|
||||
"AngleConfidence",
|
||||
"AngleConfidence",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AngleConfidence_tags_1,
|
||||
sizeof(asn_DEF_AngleConfidence_tags_1)
|
||||
/sizeof(asn_DEF_AngleConfidence_tags_1[0]), /* 1 */
|
||||
asn_DEF_AngleConfidence_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AngleConfidence_tags_1)
|
||||
/sizeof(asn_DEF_AngleConfidence_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AngleConfidence_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AngleConfidence_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AngleConfidence_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AngleConfidence_H_
|
||||
#define _AngleConfidence_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AngleConfidence {
|
||||
AngleConfidence_zeroPointOneDegree = 1,
|
||||
AngleConfidence_oneDegree = 10,
|
||||
AngleConfidence_outOfRange = 126,
|
||||
AngleConfidence_unavailable = 127
|
||||
} e_AngleConfidence;
|
||||
|
||||
/* AngleConfidence */
|
||||
typedef long AngleConfidence_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AngleConfidence_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AngleConfidence_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AngleConfidence;
|
||||
asn_struct_free_f AngleConfidence_free;
|
||||
asn_struct_print_f AngleConfidence_print;
|
||||
asn_constr_check_f AngleConfidence_constraint;
|
||||
ber_type_decoder_f AngleConfidence_decode_ber;
|
||||
der_type_encoder_f AngleConfidence_encode_der;
|
||||
xer_type_decoder_f AngleConfidence_decode_xer;
|
||||
xer_type_encoder_f AngleConfidence_encode_xer;
|
||||
jer_type_encoder_f AngleConfidence_encode_jer;
|
||||
oer_type_decoder_f AngleConfidence_decode_oer;
|
||||
oer_type_encoder_f AngleConfidence_encode_oer;
|
||||
per_type_decoder_f AngleConfidence_decode_uper;
|
||||
per_type_encoder_f AngleConfidence_encode_uper;
|
||||
per_type_decoder_f AngleConfidence_decode_aper;
|
||||
per_type_encoder_f AngleConfidence_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AngleConfidence_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AnimalSubclass.h"
|
||||
|
||||
static int asn_DFL_2_cmp_0(const void *sptr) {
|
||||
const AnimalSubclassType_t *st = sptr;
|
||||
|
||||
if(!st) {
|
||||
return -1; /* No value is not a default value */
|
||||
}
|
||||
|
||||
/* Test default value 0 */
|
||||
return (*st != 0);
|
||||
}
|
||||
static int asn_DFL_2_set_0(void **sptr) {
|
||||
AnimalSubclassType_t *st = *sptr;
|
||||
|
||||
if(!st) {
|
||||
st = (*sptr = CALLOC(1, sizeof(*st)));
|
||||
if(!st) return -1;
|
||||
}
|
||||
|
||||
/* Install default value 0 */
|
||||
*st = 0;
|
||||
return 0;
|
||||
}
|
||||
static int asn_DFL_3_cmp_0(const void *sptr) {
|
||||
const ClassConfidence_t *st = sptr;
|
||||
|
||||
if(!st) {
|
||||
return -1; /* No value is not a default value */
|
||||
}
|
||||
|
||||
/* Test default value 0 */
|
||||
return (*st != 0);
|
||||
}
|
||||
static int asn_DFL_3_set_0(void **sptr) {
|
||||
ClassConfidence_t *st = *sptr;
|
||||
|
||||
if(!st) {
|
||||
st = (*sptr = CALLOC(1, sizeof(*st)));
|
||||
if(!st) return -1;
|
||||
}
|
||||
|
||||
/* Install default value 0 */
|
||||
*st = 0;
|
||||
return 0;
|
||||
}
|
||||
asn_TYPE_member_t asn_MBR_AnimalSubclass_1[] = {
|
||||
{ ATF_NOFLAGS, 2, offsetof(struct AnimalSubclass, type),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_AnimalSubclassType,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
&asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */
|
||||
&asn_DFL_2_set_0, /* Set DEFAULT 0 */
|
||||
"type"
|
||||
},
|
||||
{ ATF_NOFLAGS, 1, offsetof(struct AnimalSubclass, confidence),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ClassConfidence,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
&asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */
|
||||
&asn_DFL_3_set_0, /* Set DEFAULT 0 */
|
||||
"confidence"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_AnimalSubclass_oms_1[] = { 0, 1 };
|
||||
static const ber_tlv_tag_t asn_DEF_AnimalSubclass_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AnimalSubclass_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* type */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* confidence */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AnimalSubclass_specs_1 = {
|
||||
sizeof(struct AnimalSubclass),
|
||||
offsetof(struct AnimalSubclass, _asn_ctx),
|
||||
asn_MAP_AnimalSubclass_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
asn_MAP_AnimalSubclass_oms_1, /* Optional members */
|
||||
2, 0, /* Root/Additions */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AnimalSubclass = {
|
||||
"AnimalSubclass",
|
||||
"AnimalSubclass",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AnimalSubclass_tags_1,
|
||||
sizeof(asn_DEF_AnimalSubclass_tags_1)
|
||||
/sizeof(asn_DEF_AnimalSubclass_tags_1[0]), /* 1 */
|
||||
asn_DEF_AnimalSubclass_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AnimalSubclass_tags_1)
|
||||
/sizeof(asn_DEF_AnimalSubclass_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AnimalSubclass_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_AnimalSubclass_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AnimalSubclass_H_
|
||||
#define _AnimalSubclass_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "AnimalSubclassType.h"
|
||||
#include "ClassConfidence.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AnimalSubclass */
|
||||
typedef struct AnimalSubclass {
|
||||
AnimalSubclassType_t type; /* DEFAULT 0 */
|
||||
ClassConfidence_t confidence; /* DEFAULT 0 */
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AnimalSubclass_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AnimalSubclass;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AnimalSubclass_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AnimalSubclass_1[2];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AnimalSubclass_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AnimalSubclassType.h"
|
||||
|
||||
int
|
||||
AnimalSubclassType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_AnimalSubclassType_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_AnimalSubclassType_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_AnimalSubclassType_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AnimalSubclassType = {
|
||||
"AnimalSubclassType",
|
||||
"AnimalSubclassType",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_AnimalSubclassType_tags_1,
|
||||
sizeof(asn_DEF_AnimalSubclassType_tags_1)
|
||||
/sizeof(asn_DEF_AnimalSubclassType_tags_1[0]), /* 1 */
|
||||
asn_DEF_AnimalSubclassType_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AnimalSubclassType_tags_1)
|
||||
/sizeof(asn_DEF_AnimalSubclassType_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_AnimalSubclassType_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_AnimalSubclassType_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
AnimalSubclassType_constraint
|
||||
},
|
||||
0, 0, /* Defined elsewhere */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AnimalSubclassType_H_
|
||||
#define _AnimalSubclassType_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum AnimalSubclassType {
|
||||
AnimalSubclassType_unknown = 0
|
||||
} e_AnimalSubclassType;
|
||||
|
||||
/* AnimalSubclassType */
|
||||
typedef long AnimalSubclassType_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_AnimalSubclassType_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_AnimalSubclassType_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AnimalSubclassType;
|
||||
asn_struct_free_f AnimalSubclassType_free;
|
||||
asn_struct_print_f AnimalSubclassType_print;
|
||||
asn_constr_check_f AnimalSubclassType_constraint;
|
||||
ber_type_decoder_f AnimalSubclassType_decode_ber;
|
||||
der_type_encoder_f AnimalSubclassType_encode_der;
|
||||
xer_type_decoder_f AnimalSubclassType_decode_xer;
|
||||
xer_type_encoder_f AnimalSubclassType_encode_xer;
|
||||
jer_type_encoder_f AnimalSubclassType_encode_jer;
|
||||
oer_type_decoder_f AnimalSubclassType_decode_oer;
|
||||
oer_type_encoder_f AnimalSubclassType_encode_oer;
|
||||
per_type_decoder_f AnimalSubclassType_decode_uper;
|
||||
per_type_encoder_f AnimalSubclassType_encode_uper;
|
||||
per_type_decoder_f AnimalSubclassType_decode_aper;
|
||||
per_type_encoder_f AnimalSubclassType_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AnimalSubclassType_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AntennaOffsetSet.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_AntennaOffsetSet_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AntennaOffsetSet, antOffsetX),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Offset_B12,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"antOffsetX"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AntennaOffsetSet, antOffsetY),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Offset_B09,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"antOffsetY"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AntennaOffsetSet, antOffsetZ),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Offset_B10,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"antOffsetZ"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_AntennaOffsetSet_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AntennaOffsetSet_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* antOffsetX */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* antOffsetY */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* antOffsetZ */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AntennaOffsetSet_specs_1 = {
|
||||
sizeof(struct AntennaOffsetSet),
|
||||
offsetof(struct AntennaOffsetSet, _asn_ctx),
|
||||
asn_MAP_AntennaOffsetSet_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AntennaOffsetSet = {
|
||||
"AntennaOffsetSet",
|
||||
"AntennaOffsetSet",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AntennaOffsetSet_tags_1,
|
||||
sizeof(asn_DEF_AntennaOffsetSet_tags_1)
|
||||
/sizeof(asn_DEF_AntennaOffsetSet_tags_1[0]), /* 1 */
|
||||
asn_DEF_AntennaOffsetSet_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AntennaOffsetSet_tags_1)
|
||||
/sizeof(asn_DEF_AntennaOffsetSet_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AntennaOffsetSet_1,
|
||||
3, /* Elements count */
|
||||
&asn_SPC_AntennaOffsetSet_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AntennaOffsetSet_H_
|
||||
#define _AntennaOffsetSet_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Offset-B12.h"
|
||||
#include "Offset-B09.h"
|
||||
#include "Offset-B10.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* AntennaOffsetSet */
|
||||
typedef struct AntennaOffsetSet {
|
||||
Offset_B12_t antOffsetX;
|
||||
Offset_B09_t antOffsetY;
|
||||
Offset_B10_t antOffsetZ;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AntennaOffsetSet_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AntennaOffsetSet;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AntennaOffsetSet_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AntennaOffsetSet_1[3];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _AntennaOffsetSet_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,290 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AnyCatalogue.h"
|
||||
|
||||
static int
|
||||
memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 255L)) {
|
||||
/* 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_pictogramCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 65535L)) {
|
||||
/* 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_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 65535L)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_memb_version_constr_3 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..255) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_memb_version_constr_3 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_memb_pictogramCode_constr_4 CC_NOTUSED = {
|
||||
{ 2, 1 } /* (0..65535) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_memb_pictogramCode_constr_4 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
static asn_oer_constraints_t asn_OER_memb_value_constr_5 CC_NOTUSED = {
|
||||
{ 2, 1 } /* (0..65535) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
static asn_per_constraints_t asn_PER_memb_value_constr_5 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
asn_TYPE_member_t asn_MBR_AnyCatalogue_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AnyCatalogue, owner),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Provider,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"owner"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AnyCatalogue, version),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_NativeInteger,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_memb_version_constr_3,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_memb_version_constr_3,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
memb_version_constraint_1
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"version"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AnyCatalogue, pictogramCode),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_NativeInteger,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_memb_pictogramCode_constr_4,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_memb_pictogramCode_constr_4,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
memb_pictogramCode_constraint_1
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"pictogramCode"
|
||||
},
|
||||
{ ATF_POINTER, 3, offsetof(struct AnyCatalogue, value),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_NativeInteger,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_memb_value_constr_5,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_memb_value_constr_5,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
memb_value_constraint_1
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"value"
|
||||
},
|
||||
{ ATF_POINTER, 2, offsetof(struct AnyCatalogue, unit),
|
||||
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_RSCUnit,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"unit"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct AnyCatalogue, attributes),
|
||||
(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ISO14823Attributes,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"attributes"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_AnyCatalogue_oms_1[] = { 3, 4, 5 };
|
||||
static const ber_tlv_tag_t asn_DEF_AnyCatalogue_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AnyCatalogue_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* owner */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* version */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pictogramCode */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* value */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* unit */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* attributes */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AnyCatalogue_specs_1 = {
|
||||
sizeof(struct AnyCatalogue),
|
||||
offsetof(struct AnyCatalogue, _asn_ctx),
|
||||
asn_MAP_AnyCatalogue_tag2el_1,
|
||||
6, /* Count of tags in the map */
|
||||
asn_MAP_AnyCatalogue_oms_1, /* Optional members */
|
||||
3, 0, /* Root/Additions */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AnyCatalogue = {
|
||||
"AnyCatalogue",
|
||||
"AnyCatalogue",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AnyCatalogue_tags_1,
|
||||
sizeof(asn_DEF_AnyCatalogue_tags_1)
|
||||
/sizeof(asn_DEF_AnyCatalogue_tags_1[0]), /* 1 */
|
||||
asn_DEF_AnyCatalogue_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AnyCatalogue_tags_1)
|
||||
/sizeof(asn_DEF_AnyCatalogue_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AnyCatalogue_1,
|
||||
6, /* Elements count */
|
||||
&asn_SPC_AnyCatalogue_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "IVI"
|
||||
* found in "ISO19321.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AnyCatalogue_H_
|
||||
#define _AnyCatalogue_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Provider.h"
|
||||
#include "NativeInteger.h"
|
||||
#include "RSCUnit.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct ISO14823Attributes;
|
||||
|
||||
/* AnyCatalogue */
|
||||
typedef struct AnyCatalogue {
|
||||
Provider_t owner;
|
||||
long version;
|
||||
long pictogramCode;
|
||||
long *value; /* OPTIONAL */
|
||||
RSCUnit_t *unit; /* OPTIONAL */
|
||||
struct ISO14823Attributes *attributes; /* OPTIONAL */
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AnyCatalogue_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AnyCatalogue;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AnyCatalogue_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AnyCatalogue_1[6];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "ISO14823Attributes.h"
|
||||
|
||||
#endif /* _AnyCatalogue_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "ApproachID.h"
|
||||
|
||||
int
|
||||
ApproachID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
long value;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
value = *(const long *)sptr;
|
||||
|
||||
if((value >= 0L && value <= 15L)) {
|
||||
/* 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.
|
||||
*/
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
asn_oer_constraints_t asn_OER_type_ApproachID_constr_1 CC_NOTUSED = {
|
||||
{ 1, 1 } /* (0..15) */,
|
||||
-1};
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
asn_per_constraints_t asn_PER_type_ApproachID_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
static const ber_tlv_tag_t asn_DEF_ApproachID_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ApproachID = {
|
||||
"ApproachID",
|
||||
"ApproachID",
|
||||
&asn_OP_NativeInteger,
|
||||
asn_DEF_ApproachID_tags_1,
|
||||
sizeof(asn_DEF_ApproachID_tags_1)
|
||||
/sizeof(asn_DEF_ApproachID_tags_1[0]), /* 1 */
|
||||
asn_DEF_ApproachID_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ApproachID_tags_1)
|
||||
/sizeof(asn_DEF_ApproachID_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
&asn_OER_type_ApproachID_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
&asn_PER_type_ApproachID_constr_1,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
ApproachID_constraint
|
||||
},
|
||||
0, 0, /* No members */
|
||||
0 /* No specifics */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "DSRC"
|
||||
* found in "ISO19091.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _ApproachID_H_
|
||||
#define _ApproachID_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NativeInteger.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ApproachID */
|
||||
typedef long ApproachID_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_oer_constraints_t asn_OER_type_ApproachID_constr_1;
|
||||
extern asn_per_constraints_t asn_PER_type_ApproachID_constr_1;
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ApproachID;
|
||||
asn_struct_free_f ApproachID_free;
|
||||
asn_struct_print_f ApproachID_print;
|
||||
asn_constr_check_f ApproachID_constraint;
|
||||
ber_type_decoder_f ApproachID_decode_ber;
|
||||
der_type_encoder_f ApproachID_encode_der;
|
||||
xer_type_decoder_f ApproachID_decode_xer;
|
||||
xer_type_encoder_f ApproachID_encode_xer;
|
||||
jer_type_encoder_f ApproachID_encode_jer;
|
||||
oer_type_decoder_f ApproachID_decode_oer;
|
||||
oer_type_encoder_f ApproachID_encode_oer;
|
||||
per_type_decoder_f ApproachID_decode_uper;
|
||||
per_type_encoder_f ApproachID_encode_uper;
|
||||
per_type_decoder_f ApproachID_decode_aper;
|
||||
per_type_encoder_f ApproachID_encode_aper;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ApproachID_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AreaCircular.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_AreaCircular_1[] = {
|
||||
{ ATF_POINTER, 1, offsetof(struct AreaCircular, nodeCenterPoint),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_OffsetPoint,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"nodeCenterPoint"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AreaCircular, radius),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Radius,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"radius"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_AreaCircular_oms_1[] = { 0 };
|
||||
static const ber_tlv_tag_t asn_DEF_AreaCircular_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AreaCircular_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nodeCenterPoint */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* radius */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AreaCircular_specs_1 = {
|
||||
sizeof(struct AreaCircular),
|
||||
offsetof(struct AreaCircular, _asn_ctx),
|
||||
asn_MAP_AreaCircular_tag2el_1,
|
||||
2, /* Count of tags in the map */
|
||||
asn_MAP_AreaCircular_oms_1, /* Optional members */
|
||||
1, 0, /* Root/Additions */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AreaCircular = {
|
||||
"AreaCircular",
|
||||
"AreaCircular",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AreaCircular_tags_1,
|
||||
sizeof(asn_DEF_AreaCircular_tags_1)
|
||||
/sizeof(asn_DEF_AreaCircular_tags_1[0]), /* 1 */
|
||||
asn_DEF_AreaCircular_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AreaCircular_tags_1)
|
||||
/sizeof(asn_DEF_AreaCircular_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AreaCircular_1,
|
||||
2, /* Elements count */
|
||||
&asn_SPC_AreaCircular_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#ifndef _AreaCircular_H_
|
||||
#define _AreaCircular_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "Radius.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct OffsetPoint;
|
||||
|
||||
/* AreaCircular */
|
||||
typedef struct AreaCircular {
|
||||
struct OffsetPoint *nodeCenterPoint; /* OPTIONAL */
|
||||
Radius_t radius;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} AreaCircular_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AreaCircular;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_AreaCircular_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_AreaCircular_1[2];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Referred external types */
|
||||
#include "OffsetPoint.h"
|
||||
|
||||
#endif /* _AreaCircular_H_ */
|
||||
#include "asn_internal.h"
|
||||
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
* Generated by asn1c
|
||||
* From ASN.1 module "CPM-PDU-Descriptions"
|
||||
* found in "TR103562v211-CPM.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -no-gen-example -R`
|
||||
*/
|
||||
|
||||
#include "AreaEllipse.h"
|
||||
|
||||
asn_TYPE_member_t asn_MBR_AreaEllipse_1[] = {
|
||||
{ ATF_POINTER, 1, offsetof(struct AreaEllipse, nodeCenterPoint),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_OffsetPoint,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"nodeCenterPoint"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AreaEllipse, semiMinorRangeLength),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_SemiRangeLength,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"semiMinorRangeLength"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AreaEllipse, semiMajorRangeLength),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_SemiRangeLength,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"semiMajorRangeLength"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AreaEllipse, semiMajorRangeOrientation),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_WGS84AngleValue,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"semiMajorRangeOrientation"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct AreaEllipse, semiHeight),
|
||||
(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_SemiRangeLength,
|
||||
0,
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
0
|
||||
},
|
||||
0, 0, /* No default value */
|
||||
"semiHeight"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_AreaEllipse_oms_1[] = { 0, 4 };
|
||||
static const ber_tlv_tag_t asn_DEF_AreaEllipse_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AreaEllipse_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nodeCenterPoint */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semiMinorRangeLength */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* semiMajorRangeLength */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* semiMajorRangeOrientation */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* semiHeight */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AreaEllipse_specs_1 = {
|
||||
sizeof(struct AreaEllipse),
|
||||
offsetof(struct AreaEllipse, _asn_ctx),
|
||||
asn_MAP_AreaEllipse_tag2el_1,
|
||||
5, /* Count of tags in the map */
|
||||
asn_MAP_AreaEllipse_oms_1, /* Optional members */
|
||||
2, 0, /* Root/Additions */
|
||||
-1, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AreaEllipse = {
|
||||
"AreaEllipse",
|
||||
"AreaEllipse",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AreaEllipse_tags_1,
|
||||
sizeof(asn_DEF_AreaEllipse_tags_1)
|
||||
/sizeof(asn_DEF_AreaEllipse_tags_1[0]), /* 1 */
|
||||
asn_DEF_AreaEllipse_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AreaEllipse_tags_1)
|
||||
/sizeof(asn_DEF_AreaEllipse_tags_1[0]), /* 1 */
|
||||
{
|
||||
#if !defined(ASN_DISABLE_OER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
|
||||
#if !defined(ASN_DISABLE_JER_SUPPORT)
|
||||
0,
|
||||
#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
|
||||
SEQUENCE_constraint
|
||||
},
|
||||
asn_MBR_AreaEllipse_1,
|
||||
5, /* Elements count */
|
||||
&asn_SPC_AreaEllipse_specs_1 /* Additional specs */
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user