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>

Reply via email to