Refactor NAS Key Set Identifier enc/dec functions

* simplified the code while keeping same functionality
* reduced the number of functions (from 4 to 2)
* clang-formatted
This commit is contained in:
Guido Casati
2024-11-25 13:15:10 +01:00
parent 5c3953b684
commit bf7761131d
11 changed files with 60 additions and 84 deletions
@@ -41,7 +41,9 @@ int decode_extended_service_request(extended_service_request_msg *extended_servi
if ((decoded_result = decode_u8_service_type(&extended_service_request->servicetype, 0, *(buffer + decoded) >> 4, len - decoded)) < 0)
return decoded_result;
if ((decoded_result = decode_u8_nas_key_set_identifier(&extended_service_request->naskeysetidentifier, 0, *(buffer + decoded) & 0x0f, len - decoded)) < 0)
if ((decoded_result =
decode_nas_key_set_identifier(&extended_service_request->naskeysetidentifier, 0, *(buffer + decoded) & 0x0f))
< 0)
return decoded_result;
decoded++;
@@ -62,7 +64,8 @@ int encode_extended_service_request(extended_service_request_msg *extended_servi
/* Checking IEI and pointer */
CHECK_PDU_POINTER_AND_LENGTH_ENCODER(buffer, EXTENDED_SERVICE_REQUEST_MINIMUM_LENGTH, len);
*(buffer + encoded) = ((encode_u8_service_type(&extended_service_request->servicetype) & 0x0f) << 4) | (encode_u8_nas_key_set_identifier(&extended_service_request->naskeysetidentifier) & 0x0f);
*(buffer + encoded) = ((encode_u8_service_type(&extended_service_request->servicetype) & 0x0f) << 4)
| (encode_nas_key_set_identifier(&extended_service_request->naskeysetidentifier, 0) & 0x0f);
encoded++;
if ((encode_result =