Add User-level metrics
[sim/e2-interface.git] / e2sim / e2apv1sim / encode_e2apv1.hpp
1
2
3 #include <stdio.h>
4 #include <unistd.h>
5 #include <assert.h>
6
7
8 #include "e2sim_sctp.hpp"
9 #include "e2ap_message_handler.hpp"
10 #include "encode_kpm.hpp"
11
12
13 extern "C" {
14 #include "e2sim_defs.h"
15 #include "E2AP-PDU.h"
16 #include "e2ap_asn1c_codec.h"
17 #include "GlobalE2node-ID.h"
18 #include "GlobalE2node-gNB-ID.h"
19 #include "GlobalgNB-ID.h"
20 #include "OCTET_STRING.h"
21 #include "asn_application.h"
22 #include "GNB-ID-Choice.h"
23 #include "ProtocolIE-Field.h"
24 #include "E2setupRequest.h"
25 #include "RICaction-ToBeSetup-Item.h"
26 #include "RICactions-ToBeSetup-List.h"
27 #include "RICeventTriggerDefinition.h"
28 #include "RICsubscriptionRequest.h"
29 #include "RICsubscriptionResponse.h"
30 #include "ProtocolIE-SingleContainer.h"
31 #include "RANfunctions-List.h"
32 #include "RICindication.h"
33 #include "RICsubsequentActionType.h"
34 #include "RICsubsequentAction.h"  
35 #include "RICtimeToWait.h"
36
37 }
38
39 void buildSubsReq(E2AP_PDU_t *pdu);
40
41 void generate_e2apv1_setup_request(E2AP_PDU_t *setup_req_pdu);
42
43 void generate_e2apv1_setup_response(E2AP_PDU_t *setup_resp_pdu);
44
45 void generate_e2apv1_subscription_request(E2AP_PDU_t *sub_req_pdu);
46
47 void generate_e2apv1_subscription_response(E2AP_PDU_t *sub_resp_pdu, E2AP_PDU_t *sub_req_pdu);
48
49 void generate_e2apv1_indication_request(E2AP_PDU_t *ind_req_pdu);
50
51 void generate_e2apv1_subscription_response_success(E2AP_PDU *e2ap_pdu, long reqActionIdsAccepted[], long reqActionIdsRejected[], int accept_size, int reject_size, long reqRequestorId, long reqInstanceId);
52
53 void generate_e2apv1_indication_request_parameterized(E2AP_PDU *e2ap_pdu, long requestorId, long instanceId, long ranFunctionId, long actionId, long seqNum, uint8_t *ind_header_buf, int header_length, uint8_t *ind_message_buf, int message_length);