#include <resource_status_request_wrapper.h>
void test_build_pack_resource_status_request();
+ void test_build_pack_resource_status_request_stop();
void test_unpack(void);
int
main(int argc, char* argv[])
{
test_build_pack_resource_status_request();
+ test_build_pack_resource_status_request_stop();
exit(0);
}
size_t packed_buf_size = 4096;
unsigned char outBuf[packed_buf_size];
char errorBuf[error_buf_size];
- uint8_t pLMN_Identity[] = {0xa,0xb,0xc};
- uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0};
+ const uint8_t pLMN_Identity[] = {0xa,0xb,0xc};
+ const uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0};
+ const uint8_t *pLMN_Identities[] = {pLMN_Identity};
+ const uint8_t *eUTRANCellIdentifiers[] = {eUTRANCellIdentifier};
E2AP_PDU_t *pdu;
bool result = build_pack_resource_status_request(
- pLMN_Identity, eUTRANCellIdentifier,
+ pLMN_Identities, eUTRANCellIdentifiers, 1,
15 /*measurement_ID*/, 0 /*measurement_ID2*/,
Registration_Request_start /*Registration_Request_start,Registration_Request_stop,Registration_Request_partial_stop, Registration_Request_add*/,
0xf0,
}
+void test_build_pack_resource_status_request_stop(){
+ size_t error_buf_size = 8192;
+ size_t packed_buf_size = 4096;
+ unsigned char outBuf[packed_buf_size];
+ char errorBuf[error_buf_size];
+ const uint8_t pLMN_Identity[] = {0xa,0xb,0xc};
+ const uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0};
+ const uint8_t *pLMN_Identities[] = {pLMN_Identity};
+ const uint8_t *eUTRANCellIdentifiers[] = {eUTRANCellIdentifier};
+ E2AP_PDU_t *pdu;
+
+ bool result = build_pack_resource_status_request(
+ pLMN_Identities, eUTRANCellIdentifiers, 1,
+ 15 /*measurement_ID*/, 2 /*measurement_ID2*/,
+ Registration_Request_stop /*Registration_Request_start,Registration_Request_stop,Registration_Request_partial_stop, Registration_Request_add*/,
+ 0,
+ ReportingPeriodicity_one_thousand_ms /*ReportingPeriodicity_one_thousand_ms, ReportingPeriodicity_two_thousand_ms, ReportingPeriodicity_five_thousand_ms,ReportingPeriodicity_ten_thousand_ms*/,
+ PartialSuccessIndicator_partial_success_allowed /*PartialSuccessIndicator_partial_success_allowed*/,
+ ReportingPeriodicityRSRPMR_one_hundred_20_ms /*ReportingPeriodicityRSRPMR_one_hundred_20_ms, ReportingPeriodicityRSRPMR_two_hundred_40_ms, ReportingPeriodicityRSRPMR_four_hundred_80_ms,ReportingPeriodicityRSRPMR_six_hundred_40_ms*/,
+ ReportingPeriodicityCSIR_ms5 /* ReportingPeriodicityCSIR_ms5, ReportingPeriodicityCSIR_ms10,ReportingPeriodicityCSIR_ms20,ReportingPeriodicityCSIR_ms40,ReportingPeriodicityCSIR_ms80*/,
+ &packed_buf_size, outBuf, error_buf_size, errorBuf);
+
+ if (!result) {
+ printf("#%s failed. Packing error %s\n", __func__,errorBuf);
+ return;
+ }
+ printf("packed size:%lu\nPayload:\n", packed_buf_size);
+ for (size_t i = 0; i < packed_buf_size; ++i)
+ printf("%02x",outBuf[i]);
+ printf("\n");
+
+ pdu = calloc(1, sizeof(E2AP_PDU_t));
+ if (!unpack_pdu_aux(pdu, packed_buf_size, outBuf,error_buf_size, errorBuf,ATS_ALIGNED_BASIC_PER)){
+ printf("#%s failed. Unpacking error %s\n", __func__, errorBuf);
+ }
+ errorBuf[0] = 0;
+ asn1_pdu_printer(pdu, sizeof(errorBuf), errorBuf);
+ printf("#%s: %s\n", __func__, errorBuf);
+
+ }
+