Fix packing/unpacking procedures for START.response
Add utility functions related to START.response
This commit is contained in:
committed by
Rúben Soares Silva
parent
2c676865dc
commit
2bdc9de0af
@@ -68,17 +68,20 @@ bool eq_param_response(const nfapi_nr_param_response_scf_t *unpacked_req, const
|
|||||||
bool eq_config_request(const nfapi_nr_config_request_scf_t *unpacked_req, const nfapi_nr_config_request_scf_t *req);
|
bool eq_config_request(const nfapi_nr_config_request_scf_t *unpacked_req, const nfapi_nr_config_request_scf_t *req);
|
||||||
bool eq_config_response(const nfapi_nr_config_response_scf_t *unpacked_req, const nfapi_nr_config_response_scf_t *req);
|
bool eq_config_response(const nfapi_nr_config_response_scf_t *unpacked_req, const nfapi_nr_config_response_scf_t *req);
|
||||||
bool eq_start_request(const nfapi_nr_start_request_scf_t *unpacked_req, const nfapi_nr_start_request_scf_t *req);
|
bool eq_start_request(const nfapi_nr_start_request_scf_t *unpacked_req, const nfapi_nr_start_request_scf_t *req);
|
||||||
|
bool eq_start_response(const nfapi_nr_start_response_scf_t *unpacked_req, const nfapi_nr_start_response_scf_t *req);
|
||||||
|
|
||||||
void free_param_request(nfapi_nr_param_request_scf_t *msg);
|
void free_param_request(nfapi_nr_param_request_scf_t *msg);
|
||||||
void free_param_response(nfapi_nr_param_response_scf_t *msg);
|
void free_param_response(nfapi_nr_param_response_scf_t *msg);
|
||||||
void free_config_request(nfapi_nr_config_request_scf_t *msg);
|
void free_config_request(nfapi_nr_config_request_scf_t *msg);
|
||||||
void free_config_response(nfapi_nr_config_response_scf_t *msg);
|
void free_config_response(nfapi_nr_config_response_scf_t *msg);
|
||||||
void free_start_request(nfapi_nr_start_request_scf_t *msg);
|
void free_start_request(nfapi_nr_start_request_scf_t *msg);
|
||||||
|
void free_start_response(nfapi_nr_start_response_scf_t *msg);
|
||||||
|
|
||||||
void copy_param_request(const nfapi_nr_param_request_scf_t *src, nfapi_nr_param_request_scf_t *dst);
|
void copy_param_request(const nfapi_nr_param_request_scf_t *src, nfapi_nr_param_request_scf_t *dst);
|
||||||
void copy_param_response(const nfapi_nr_param_response_scf_t *src, nfapi_nr_param_response_scf_t *dst);
|
void copy_param_response(const nfapi_nr_param_response_scf_t *src, nfapi_nr_param_response_scf_t *dst);
|
||||||
void copy_config_request(const nfapi_nr_config_request_scf_t *src, nfapi_nr_config_request_scf_t *dst);
|
void copy_config_request(const nfapi_nr_config_request_scf_t *src, nfapi_nr_config_request_scf_t *dst);
|
||||||
void copy_config_response(const nfapi_nr_config_response_scf_t *src, nfapi_nr_config_response_scf_t *dst);
|
void copy_config_response(const nfapi_nr_config_response_scf_t *src, nfapi_nr_config_response_scf_t *dst);
|
||||||
void copy_start_request(const nfapi_nr_start_request_scf_t *src, nfapi_nr_start_request_scf_t *dst);
|
void copy_start_request(const nfapi_nr_start_request_scf_t *src, nfapi_nr_start_request_scf_t *dst);
|
||||||
|
void copy_start_response(const nfapi_nr_start_response_scf_t *src, nfapi_nr_start_response_scf_t *dst);
|
||||||
|
|
||||||
#endif // OPENAIRINTERFACE_NR_FAPI_P5_UTILS_H
|
#endif // OPENAIRINTERFACE_NR_FAPI_P5_UTILS_H
|
||||||
|
|||||||
@@ -375,6 +375,14 @@ bool eq_start_request(const nfapi_nr_start_request_scf_t *unpacked_req, const nf
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool eq_start_response(const nfapi_nr_start_response_scf_t *unpacked_req, const nfapi_nr_start_response_scf_t *req)
|
||||||
|
{
|
||||||
|
EQ(unpacked_req->header.message_id, req->header.message_id);
|
||||||
|
EQ(unpacked_req->header.message_length, req->header.message_length);
|
||||||
|
EQ(unpacked_req->error_code, req->error_code);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void free_param_request(nfapi_nr_param_request_scf_t *msg)
|
void free_param_request(nfapi_nr_param_request_scf_t *msg)
|
||||||
{
|
{
|
||||||
if (msg->vendor_extension) {
|
if (msg->vendor_extension) {
|
||||||
@@ -451,6 +459,13 @@ void free_start_request(nfapi_nr_start_request_scf_t *msg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void free_start_response(nfapi_nr_start_response_scf_t *msg)
|
||||||
|
{
|
||||||
|
if (msg->vendor_extension) {
|
||||||
|
free(msg->vendor_extension);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void copy_param_request(const nfapi_nr_param_request_scf_t *src, nfapi_nr_param_request_scf_t *dst)
|
void copy_param_request(const nfapi_nr_param_request_scf_t *src, nfapi_nr_param_request_scf_t *dst)
|
||||||
{
|
{
|
||||||
dst->header.message_id = src->header.message_id;
|
dst->header.message_id = src->header.message_id;
|
||||||
@@ -854,3 +869,16 @@ void copy_start_request(const nfapi_nr_start_request_scf_t *src, nfapi_nr_start_
|
|||||||
copy_vendor_extension_value(&dst->vendor_extension, &src->vendor_extension);
|
copy_vendor_extension_value(&dst->vendor_extension, &src->vendor_extension);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void copy_start_response(const nfapi_nr_start_response_scf_t *src, nfapi_nr_start_response_scf_t *dst)
|
||||||
|
{
|
||||||
|
dst->header.message_id = src->header.message_id;
|
||||||
|
dst->header.message_length = src->header.message_length;
|
||||||
|
if (src->vendor_extension) {
|
||||||
|
dst->vendor_extension = calloc(1, sizeof(nfapi_vendor_extension_tlv_t));
|
||||||
|
dst->vendor_extension->tag = src->vendor_extension->tag;
|
||||||
|
dst->vendor_extension->length = src->vendor_extension->length;
|
||||||
|
copy_vendor_extension_value(&dst->vendor_extension, &src->vendor_extension);
|
||||||
|
}
|
||||||
|
dst->error_code = src->error_code;
|
||||||
|
}
|
||||||
|
|||||||
@@ -2104,7 +2104,7 @@ static uint8_t unpack_start_request(uint8_t **ppReadPackedMsg, uint8_t *end, voi
|
|||||||
uint8_t unpack_nr_start_response(uint8_t **ppReadPackedMsg, uint8_t *end, void *msg, nfapi_p4_p5_codec_config_t *config)
|
uint8_t unpack_nr_start_response(uint8_t **ppReadPackedMsg, uint8_t *end, void *msg, nfapi_p4_p5_codec_config_t *config)
|
||||||
{
|
{
|
||||||
nfapi_nr_start_response_scf_t *pNfapiMsg = (nfapi_nr_start_response_scf_t *)msg;
|
nfapi_nr_start_response_scf_t *pNfapiMsg = (nfapi_nr_start_response_scf_t *)msg;
|
||||||
return (pull32(ppReadPackedMsg, &pNfapiMsg->error_code, end)
|
return (pull8(ppReadPackedMsg, (uint8_t *)&pNfapiMsg->error_code, end)
|
||||||
&& unpack_nr_tlv_list(NULL, 0, ppReadPackedMsg, end, config, &(pNfapiMsg->vendor_extension)));
|
&& unpack_nr_tlv_list(NULL, 0, ppReadPackedMsg, end, config, &(pNfapiMsg->vendor_extension)));
|
||||||
}
|
}
|
||||||
static uint8_t unpack_start_response(uint8_t **ppReadPackedMsg, uint8_t *end, void *msg, nfapi_p4_p5_codec_config_t *config) {
|
static uint8_t unpack_start_response(uint8_t **ppReadPackedMsg, uint8_t *end, void *msg, nfapi_p4_p5_codec_config_t *config) {
|
||||||
|
|||||||
Reference in New Issue
Block a user