imported new s1ap asn1 lib

master
Francisco Paisana 5 years ago
parent b43c531c15
commit 61b3e6b57e

@ -141,12 +141,13 @@ public:
dyn_array() = default; dyn_array() = default;
explicit dyn_array(uint32_t new_size) : size_(new_size), cap_(new_size) { data_ = new T[size_]; } explicit dyn_array(uint32_t new_size) : size_(new_size), cap_(new_size) { data_ = new T[size_]; }
dyn_array(const dyn_array<T>& other) dyn_array(const dyn_array<T>& other) : dyn_array(&other[0], other.size_) {}
dyn_array(const T* ptr, uint32_t nof_items)
{ {
size_ = other.size_; size_ = nof_items;
cap_ = other.cap_; cap_ = nof_items;
data_ = new T[cap_]; data_ = new T[cap_];
std::copy(&other[0], &other[size_], data_); std::copy(ptr, ptr + size_, data_);
} }
~dyn_array() ~dyn_array()
{ {
@ -1047,6 +1048,7 @@ template <class ItemType, uint32_t lb, uint32_t ub, bool aligned = false>
struct dyn_seq_of : public dyn_array<ItemType> { struct dyn_seq_of : public dyn_array<ItemType> {
dyn_seq_of() = default; dyn_seq_of() = default;
dyn_seq_of(const dyn_array<ItemType>& other) : dyn_array<ItemType>(other) {} dyn_seq_of(const dyn_array<ItemType>& other) : dyn_array<ItemType>(other) {}
dyn_seq_of(const bounded_array<ItemType, ub>& other) : dyn_array<ItemType>(&other[0], other.size()) {}
SRSASN_CODE pack(bit_ref& bref) const { return pack_dyn_seq_of(bref, *this, lb, ub, aligned); } SRSASN_CODE pack(bit_ref& bref) const { return pack_dyn_seq_of(bref, *this, lb, ub, aligned); }
SRSASN_CODE unpack(bit_ref& bref) { return unpack_dyn_seq_of(*this, bref, lb, ub, aligned); } SRSASN_CODE unpack(bit_ref& bref) { return unpack_dyn_seq_of(*this, bref, lb, ub, aligned); }
}; };

@ -53614,6 +53614,9 @@ struct as_context_v1320_s {
void to_json(json_writer& j) const; void to_json(json_writer& j) const;
}; };
// SystemInformationBlockType16-NB-r13 ::= SystemInformationBlockType16-r11
typedef sib_type16_r11_s sib_type16_nb_r13_s;
// CSI-RS-TriggeredList-r12 ::= SEQUENCE (SIZE (1..96)) OF INTEGER (1..96) // CSI-RS-TriggeredList-r12 ::= SEQUENCE (SIZE (1..96)) OF INTEGER (1..96)
using csi_rs_triggered_list_r12_l = dyn_array<uint8_t>; using csi_rs_triggered_list_r12_l = dyn_array<uint8_t>;

File diff suppressed because it is too large Load Diff

@ -42,6 +42,12 @@ target_compile_options(rrc_asn1 PRIVATE "-Os")
target_link_libraries(rrc_asn1 asn1_utils) target_link_libraries(rrc_asn1 asn1_utils)
install(TARGETS rrc_asn1 DESTINATION ${LIBRARY_DIR}) install(TARGETS rrc_asn1 DESTINATION ${LIBRARY_DIR})
add_library(s1ap_asn1 STATIC
s1ap_asn1.cc)
target_compile_options(s1ap_asn1 PRIVATE "-Os")
target_link_libraries(s1ap_asn1 asn1_utils)
install(TARGETS s1ap_asn1 DESTINATION ${LIBRARY_DIR})
if (ENABLE_5GNR) if (ENABLE_5GNR)
# Install RRC NR ASN1 # Install RRC NR ASN1
add_library(rrc_nr_asn1 STATIC rrc_nr_asn1.cc) add_library(rrc_nr_asn1 STATIC rrc_nr_asn1.cc)

@ -69,7 +69,8 @@ void asn1::rrc::assert_choice_type(const std::string& access_type,
} }
} }
const char* convert_enum_idx(const char* array[], uint32_t nof_types, uint32_t enum_val, const char* enum_type) const char*
asn1::rrc::convert_enum_idx(const char* array[], uint32_t nof_types, uint32_t enum_val, const char* enum_type)
{ {
if (enum_val >= nof_types) { if (enum_val >= nof_types) {
if (enum_val == nof_types) { if (enum_val == nof_types) {

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save