X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=RIC-E2-TERMINATION%2FBuildRunName.h;h=3d4dc8509bd0fb991961fddf5c531aefded5fe02;hb=24e9fa4e18edad995acbd671a39a6e247f56b97f;hp=801f365c2725d6fe24a17c7236ffa18ffb503cbb;hpb=96c9b882e2aed3838bcec26689dda01b3d11bc94;p=ric-plt%2Fe2.git diff --git a/RIC-E2-TERMINATION/BuildRunName.h b/RIC-E2-TERMINATION/BuildRunName.h index 801f365..3d4dc85 100644 --- a/RIC-E2-TERMINATION/BuildRunName.h +++ b/RIC-E2-TERMINATION/BuildRunName.h @@ -43,10 +43,10 @@ static int translatePlmnId(char * plmnId, const unsigned char *data, const char* int j = 0; if (mnc3 != 15) { - j = snprintf(plmnId, 20, "%s%1d%1d%1d-%1d%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2, mnc3); + j = snprintf(plmnId, 20, "%s%1d%1d%1d_%1d%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2, mnc3); } else { - j = snprintf(plmnId, 20, "%s%1d%1d%1d-0%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2); + j = snprintf(plmnId, 20, "%s%1d%1d%1d_0%1d%1d", type, mcc1, mcc2, mcc3, mnc1, mnc2); } return j; @@ -55,8 +55,22 @@ static int translatePlmnId(char * plmnId, const unsigned char *data, const char* static int translateBitStringToChar(char *ranName, BIT_STRING_t &data) { // dont care of last unused bits char buffer[256] {}; - auto j = snprintf(buffer, 256, "%s-", ranName); + auto j = snprintf(buffer, 256, "%s_", ranName); + + memcpy(ranName, buffer, j); +/* + // ran name decimal + unsigned long bitValue = 0; + for (auto i = 0; i < (int)data.size; i++) { + bitValue <<= (unsigned long)8; + bitValue += data.buf[i]; + } + + j = snprintf(buffer, 256, "%s%ld", ranName, bitValue); + memcpy(ranName, buffer, j); +*/ + unsigned b1 = 0; unsigned b2 = 0; @@ -77,7 +91,7 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) { switch (ie->value.choice.GlobalE2node_ID.present) { case GlobalE2node_ID_PR_gNB: { auto *gnb = ie->value.choice.GlobalE2node_ID.choice.gNB; - translatePlmnId(ranName, (const unsigned char *)gnb->global_gNB_ID.plmn_id.buf, (const char *)"gnb:"); + translatePlmnId(ranName, (const unsigned char *)gnb->global_gNB_ID.plmn_id.buf, (const char *)"gnb_"); if (gnb->global_gNB_ID.gnb_id.present == GNB_ID_Choice_PR_gnb_ID) { translateBitStringToChar(ranName, gnb->global_gNB_ID.gnb_id.choice.gnb_ID); } @@ -87,7 +101,7 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) { auto *enGnb = ie->value.choice.GlobalE2node_ID.choice.en_gNB; translatePlmnId(ranName, (const unsigned char *)enGnb->global_gNB_ID.pLMN_Identity.buf, - (const char *)"en-gnb:"); + (const char *)"en_gnb_"); if (enGnb->global_gNB_ID.gNB_ID.present == ENGNB_ID_PR_gNB_ID) { translateBitStringToChar(ranName, enGnb->global_gNB_ID.gNB_ID.choice.gNB_ID); } @@ -95,23 +109,21 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) { } case GlobalE2node_ID_PR_ng_eNB: { auto *ngEnb = ie->value.choice.GlobalE2node_ID.choice.ng_eNB; - char *buf = (char *)ngEnb->global_ng_eNB_ID.plmn_id.buf; - char str[20] = {}; - BIT_STRING_t *data = nullptr; switch (ngEnb->global_ng_eNB_ID.enb_id.present) { case ENB_ID_Choice_PR_enb_ID_macro: { - strncpy(str, (const char *)"ng-enB-macro:", 13); - data = &ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_macro; + translatePlmnId(ranName, (const unsigned char *)ngEnb->global_ng_eNB_ID.plmn_id.buf, (const char *)"ng_enB_macro_"); + translateBitStringToChar(ranName, ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_macro); break; } case ENB_ID_Choice_PR_enb_ID_shortmacro: { - strncpy(str, (const char *)"ng-enB-shortmacro:", 18); - data = &ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_shortmacro; + translatePlmnId(ranName, (const unsigned char *)ngEnb->global_ng_eNB_ID.plmn_id.buf, (const char *)"ng_enB_shortmacro_"); + translateBitStringToChar(ranName, ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_shortmacro); break; } case ENB_ID_Choice_PR_enb_ID_longmacro: { - strncpy(str, (const char *)"ng-enB-longmacro:", 17); - data = &ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_longmacro; + translatePlmnId(ranName, (const unsigned char *)ngEnb->global_ng_eNB_ID.plmn_id.buf, (const char *)"ng_enB_longmacro_"); + translateBitStringToChar(ranName, ngEnb->global_ng_eNB_ID.enb_id.choice.enb_ID_longmacro); + break; } case ENB_ID_Choice_PR_NOTHING: { break; @@ -119,45 +131,37 @@ int buildRanName(char *ranName, E2setupRequestIEs_t *ie) { default: break; } - translatePlmnId(ranName, (const unsigned char *)buf, (const char *)str); - translateBitStringToChar(ranName, *data); - break; } case GlobalE2node_ID_PR_eNB: { auto *enb = ie->value.choice.GlobalE2node_ID.choice.eNB; - char *buf = (char *)enb->global_eNB_ID.pLMN_Identity.buf; - char str[20] = {}; - BIT_STRING_t *data = nullptr; - switch (enb->global_eNB_ID.eNB_ID.present) { case ENB_ID_PR_macro_eNB_ID: { - strncpy(str, (const char *)"enB-macro:", 10); - data = &enb->global_eNB_ID.eNB_ID.choice.macro_eNB_ID; + translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_macro_"); + translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.macro_eNB_ID); break; } case ENB_ID_PR_home_eNB_ID: { - strncpy(str, (const char *)"enB-home:", 9); - data = &enb->global_eNB_ID.eNB_ID.choice.home_eNB_ID; + translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_home_"); + translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.home_eNB_ID); break; } case ENB_ID_PR_short_Macro_eNB_ID: { - strncpy(str, (const char *)"enB-shortmacro:", 15); - data = &enb->global_eNB_ID.eNB_ID.choice.short_Macro_eNB_ID; + translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_shortmacro_"); + translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.short_Macro_eNB_ID); break; } case ENB_ID_PR_long_Macro_eNB_ID: { - strncpy(str, (const char *)"enB-longmacro:", 14); - data = &enb->global_eNB_ID.eNB_ID.choice.long_Macro_eNB_ID; + translatePlmnId(ranName, (const unsigned char *)enb->global_eNB_ID.pLMN_Identity.buf, (const char *)"enB_longmacro_"); + translateBitStringToChar(ranName, enb->global_eNB_ID.eNB_ID.choice.long_Macro_eNB_ID); + break; + } + case ENB_ID_PR_NOTHING: { break; } - case ENB_ID_PR_NOTHING: default: { break; } } - translatePlmnId(ranName, (const unsigned char *)buf, (const char *)str); - translateBitStringToChar(ranName, *data); - break; } case GlobalE2node_ID_PR_NOTHING: default: