diff --git a/common/utils/ds/byte_array.c b/common/utils/ds/byte_array.c index 78e1ef4e31d6310c07496aed70bddd1866524a2d..d6ad97e3248bae1a72f3a39e9a9b59b9cb54b798 100644 --- a/common/utils/ds/byte_array.c +++ b/common/utils/ds/byte_array.c @@ -72,3 +72,17 @@ byte_array_t cp_str_to_ba(const char* str) return dst; } + +char* cp_ba_to_str(const byte_array_t ba) +{ + assert(ba.len > 0); + + const size_t sz = ba.len; + char* str = calloc(sz+1, sizeof(char)); + assert(str != NULL && "Memory exhausted"); + + memcpy(str, ba.buf, sz); + str[sz] = '\0'; + + return str; +} diff --git a/common/utils/ds/byte_array.h b/common/utils/ds/byte_array.h index 236f3e683f6b271f6723c32a44f87435168b421f..18adb33047a365ced2ceeb5dc4bef2bcbd2df3fb 100644 --- a/common/utils/ds/byte_array.h +++ b/common/utils/ds/byte_array.h @@ -42,5 +42,6 @@ void free_byte_array(byte_array_t ba); bool eq_byte_array(const byte_array_t* m0, const byte_array_t* m1); byte_array_t cp_str_to_ba(const char* str); +char* cp_ba_to_str(const byte_array_t ba); #endif diff --git a/openair2/E2AP/RAN_FUNCTION/CMakeLists.txt b/openair2/E2AP/RAN_FUNCTION/CMakeLists.txt index 1d47f029d9115779cec3e6e8feab35dcf076f2ba..578bf489dfc3c6a1a1b70a5bc5c7e08a390aef40 100644 --- a/openair2/E2AP/RAN_FUNCTION/CMakeLists.txt +++ b/openair2/E2AP/RAN_FUNCTION/CMakeLists.txt @@ -12,7 +12,7 @@ add_library(e2_ran_func_cuup STATIC ../flexric/test/rnd/fill_rnd_data_tc.c ) -target_link_libraries(e2_ran_func_cuup PUBLIC asn1_nr_rrc nr_rrc asn1_nr_rrc_hdrs e2_time_obj kpm_ric_info_common_obj 3gpp_derived_ie_obj sm_common_ie_obj) +target_link_libraries(e2_ran_func_cuup PUBLIC asn1_nr_rrc nr_rrc asn1_nr_rrc_hdrs e2_time_obj kpm_ric_info_common_obj 3gpp_derived_ie_obj sm_common_ie_obj ds) target_compile_definitions(e2_ran_func_cuup PUBLIC ${E2AP_VERSION} ${KPM_VERSION} NGRAN_GNB_CUUP) @@ -35,7 +35,7 @@ add_library(e2_ran_func_du_cucp_cuup STATIC ../flexric/test/rnd/fill_rnd_data_tc.c ) -target_link_libraries(e2_ran_func_du_cucp_cuup PUBLIC asn1_nr_rrc nr_rrc asn1_nr_rrc_hdrs e2_time_obj kpm_ric_info_common_obj 3gpp_derived_ie_obj e2sm_rc_ir_obj sm_common_ie_obj) +target_link_libraries(e2_ran_func_du_cucp_cuup PUBLIC asn1_nr_rrc nr_rrc asn1_nr_rrc_hdrs e2_time_obj kpm_ric_info_common_obj 3gpp_derived_ie_obj e2sm_rc_ir_obj sm_common_ie_obj ds) target_compile_definitions(e2_ran_func_du_cucp_cuup PUBLIC ${E2AP_VERSION} ${KPM_VERSION} NGRAN_GNB_DU NGRAN_GNB_CUCP NGRAN_GNB_CUUP) # Current implementation: diff --git a/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_kpm.c b/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_kpm.c index 40371df046815d266c9b0d33eb7f88d748ec0e7c..c9620e871f44705e8883d5d2d688deb5e400a1aa 100644 --- a/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_kpm.c +++ b/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_kpm.c @@ -23,6 +23,7 @@ #include "ran_func_kpm_subs.h" #include "ran_e2sm_ue_id.h" +#include "common/utils/ds/byte_array.h" #include "openair2/E1AP/e1ap_common.h" #include "openair2/E2AP/flexric/src/util/time_now_us.h" #include "openair2/F1AP/f1ap_ids.h"