X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=sim%2Fe2-interface.git;a=blobdiff_plain;f=e2sim%2Fe2apv1sim%2Ftest%2FMisc%2Ftest_asn1c.cpp;fp=e2sim%2Fe2apv1sim%2Ftest%2FMisc%2Ftest_asn1c.cpp;h=690f767aa27eedfea3035cebe7cbe02e925cadc7;hp=0000000000000000000000000000000000000000;hb=0eba05c4ff0c99974d3f3a63b65cbe2adb209e51;hpb=c380e183231711cf9f8bc72d0eb52e532dd07085 diff --git a/e2sim/e2apv1sim/test/Misc/test_asn1c.cpp b/e2sim/e2apv1sim/test/Misc/test_asn1c.cpp new file mode 100644 index 0000000..690f767 --- /dev/null +++ b/e2sim/e2apv1sim/test/Misc/test_asn1c.cpp @@ -0,0 +1,79 @@ +/***************************************************************************** +# * +# Copyright 2019 AT&T Intellectual Property * +# Copyright 2019 Nokia * +# * +# Licensed under the Apache License, Version 2.0 (the "License"); * +# you may not use this file except in compliance with the License. * +# You may obtain a copy of the License at * +# * +# http://www.apache.org/licenses/LICENSE-2.0 * +# * +# Unless required by applicable law or agreed to in writing, software * +# distributed under the License is distributed on an "AS IS" BASIS, * +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * +# See the License for the specific language governing permissions and * +# limitations under the License. * +# * +******************************************************************************/ + +#include +#include +#include +#include +#include + +extern "C" { + #include "e2sim_defs.h" + #include "E2AP-PDU.h" + #include "e2ap_asn1c_codec.h" + #include "e2sm.h" + +} + +using namespace std; + +int main(int argc, char* argv[]){ + + LOG_I("Test ASN1c"); + + test_eventTriggerDefinition(); + return 0; + + E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_X2SetupRequest.xml"); + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_X2SetupResponse.xml"); + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_X2SetupFailure.xml"); + + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_ENDCX2SetupRequest.xml"); + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_ENDCX2SetupResponse.xml"); + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_ENDCX2SetupFailure.xml"); + + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_RICsubscriptionRequest.xml"); + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_RICsubscriptionResponse.xml"); + // E2AP_PDU_t* pdu = e2ap_xml_to_pdu("E2AP_ErrorIndication.xml"); + + e2ap_asn1c_print_pdu(pdu); + + /* Test encoding */ + uint8_t *buf; + sctp_buffer_t data; + + data.len = e2ap_asn1c_encode_pdu(pdu, &buf); + memcpy(data.buffer, buf, min(data.len, MAX_SCTP_BUFFER)); + + /* Test decoding */ + E2AP_PDU_t* pdu1 = new E2AP_PDU_t(); + + e2ap_asn1c_decode_pdu(pdu1, data.buffer, data.len); + + e2ap_asn1c_print_pdu(pdu1); + + int index = (int)pdu1->present; + + int pCode = e2ap_asn1c_get_procedureCode(pdu1); + + LOG_I("Index = %d, procedureCode = %d", index, pCode); + + + return 0; +}