X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=sim%2Fe2-interface.git;a=blobdiff_plain;f=e2sim%2Fe2apv1sim%2Fe2sim%2Fsrc%2FASN1%2Flib%2Fasn_e2ap.hpp;fp=e2sim%2Fe2apv1sim%2Fe2sim%2Fsrc%2FASN1%2Flib%2Fasn_e2ap.hpp;h=aa858b241becdf5c5215444ed2f8908e75932b7a;hp=0000000000000000000000000000000000000000;hb=3ebf932d23dcbec9ed19f4a51f9d00a0a54f5124;hpb=6896318f2b4ff01b4a88b16019c3dc93b0b693f5 diff --git a/e2sim/e2apv1sim/e2sim/src/ASN1/lib/asn_e2ap.hpp b/e2sim/e2apv1sim/e2sim/src/ASN1/lib/asn_e2ap.hpp new file mode 100644 index 0000000..aa858b2 --- /dev/null +++ b/e2sim/e2apv1sim/e2sim/src/ASN1/lib/asn_e2ap.hpp @@ -0,0 +1,85 @@ +/***************************************************************************** +# * +# 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. * +# * +******************************************************************************/ + +#ifndef ASN_E2AP_HPP +#define ASN_E2AP_HPP + +#include +#include +#include + +#include "e2ap_config.hpp" + +typedef struct c__dummy01 e2ap_pdu_t; + +/*----------------------------------------------------------------------- + COMMON ROUTINES +------------------------------------------------------------------------- +*/ +e2ap_pdu_t* new_e2ap_pdu(void); + +void e2ap_asn_print(e2ap_pdu_t* pdu, char* buf, size_t buf_size); + +int e2ap_asn_per_encode(e2ap_pdu_t* pdu, unsigned char* buf, size_t buf_size, + char* err_buf, size_t err_buf_size); + +int e2ap_asn_per_decode(e2ap_pdu_t* pdu, unsigned char const* buf, size_t buf_size, + char* err_buf, size_t err_buf_size); + +int e2ap_get_index(e2ap_pdu_t* pdu); + +int e2ap_get_procedureCode(e2ap_pdu_t* pdu); + +/*----------------------------------------------------------------------- + MESSAGE GENERATORS +------------------------------------------------------------------------- +*/ + +//X2Setup +bool e2ap_init_X2SetupRequest(e2ap_pdu_t* pdu); + +bool e2ap_create_X2SetupRequest(e2ap_pdu_t* pdu, eNB_config &cfg); + +bool e2ap_create_X2SetupResponse(e2ap_pdu_t* pdu, eNB_config &cfg); + +bool e2ap_create_X2SetupFailure(e2ap_pdu_t* pdu); + +//ENDCX2Setup +bool e2ap_create_ENDCX2SetupRequest(e2ap_pdu_t* pdu, eNB_config &cfg); + +bool e2ap_create_ENDCX2SetupResponse(e2ap_pdu_t* pdu, gNB_config &cfg); + +bool e2ap_create_ENDCX2SetupFailure(e2ap_pdu_t* pdu); + +//RIC Subscription +bool e2ap_create_RICsubscriptionRequest(e2ap_pdu_t* pdu, RICsubscription_params_t ¶ms); + +bool e2ap_parse_RICsubscriptionRequest(e2ap_pdu_t* pdu, RICsubscription_params_t ¶ms); + +bool e2ap_create_RICsubscriptionResponse(e2ap_pdu_t* pdu, RICsubscription_params_t ¶ms); + +bool e2ap_create_RICsubscriptionFailure(e2ap_pdu_t* pdu, RICsubscription_params_t ¶ms); + +/*----------------------------------------------------------------------- + TESTS +------------------------------------------------------------------------- +*/ +void test_E2AP_X2Setup_codec(void); + +#endif