pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40730?usp=email )
Change subject: library/ngap: Use titan native APER enc/dec ...................................................................... library/ngap: Use titan native APER enc/dec Related: OS#6490 Change-Id: I07b604fbd5d3665fdb48c4193ab58cffa7dd709a --- M 5gc/regen_makefile.sh M library/ngap/NGAP_EncDec.cc 2 files changed, 8 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/40730/1 diff --git a/5gc/regen_makefile.sh b/5gc/regen_makefile.sh index be45468..5634e21 100755 --- a/5gc/regen_makefile.sh +++ b/5gc/regen_makefile.sh @@ -22,4 +22,4 @@ . ../_buildsystem/regen_makefile.inc.sh -sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lfftranscode -lgnutls/' Makefile +sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lgnutls/' Makefile diff --git a/library/ngap/NGAP_EncDec.cc b/library/ngap/NGAP_EncDec.cc index 55430f5..c54868a 100644 --- a/library/ngap/NGAP_EncDec.cc +++ b/library/ngap/NGAP_EncDec.cc @@ -3,62 +3,28 @@ #include <stdarg.h> #include "NGAP_PDU_Descriptions.hh" -extern "C" { -#include <fftranscode/transcode.h> -} - namespace NGAP__Types { TTCN_Module NGAP__EncDec("NGAP_EncDec", __DATE__, __TIME__); OCTETSTRING enc__NGAP__PDU(const NGAP__PDU__Descriptions::NGAP__PDU &pdu) { - uint8_t *aper_buf; - int aper_buf_len; TTCN_Buffer TTCN_buf; TTCN_buf.clear(); - - /* Encode from abstract data type into BER/DER */ pdu.encode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, TTCN_buf, - TTCN_EncDec::CT_BER, BER_ENCODE_DER); - - aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_NGAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); - if (aper_buf_len < 0) { - TTCN_error("fftranscode failed."); - } - - /* make octetstring from output buffer */ - OCTETSTRING ret_val(aper_buf_len, aper_buf); - - /* release dynamically-allocated output buffer */ - fftranscode_free(aper_buf); - - return ret_val; + TTCN_EncDec::CT_PER, PER_ALIGNED); + return OCTETSTRING(TTCN_buf.get_len(), TTCN_buf.get_data()); } NGAP__PDU__Descriptions::NGAP__PDU dec__NGAP__PDU(const OCTETSTRING &stream) { - uint8_t *ber_buf; - int ber_buf_len; - - /* First, decode APER + re-encode as BER */ - ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_NGAP, &ber_buf, (const unsigned char *)stream, stream.lengthof()); - if (ber_buf_len < 0) { - TTCN_error("fftranscode failed."); - } - - /* Then, re-encode from BER to TITAN representation */ - NGAP__PDU__Descriptions::NGAP__PDU ret_dcc; + NGAP__PDU__Descriptions::NGAP__PDU pdu; TTCN_Buffer TTCN_buf; TTCN_buf.clear(); - TTCN_buf.put_s(ber_buf_len, ber_buf); - - ret_dcc.decode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, TTCN_buf, - TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); - - fftranscode_free(ber_buf); - - return ret_dcc; + TTCN_buf.put_os(stream); + pdu.decode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_PER, PER_ALIGNED); + return pdu; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40730?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07b604fbd5d3665fdb48c4193ab58cffa7dd709a Gerrit-Change-Number: 40730 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pes...@sysmocom.de>