Commit 9719f5e5 authored by Guido Casati's avatar Guido Casati

Add const attribute to NAS enc/dec functions

parent 08e3f2f0
...@@ -53,7 +53,10 @@ int decode_authentication_response_parameter(AuthenticationResponseParameter *au ...@@ -53,7 +53,10 @@ int decode_authentication_response_parameter(AuthenticationResponseParameter *au
#endif #endif
return decoded; return decoded;
} }
int encode_authentication_response_parameter(AuthenticationResponseParameter *authenticationresponseparameter, uint8_t iei, uint8_t *buffer, uint32_t len) int encode_authentication_response_parameter(const AuthenticationResponseParameter *authenticationresponseparameter,
uint8_t iei,
uint8_t *buffer,
uint32_t len)
{ {
uint8_t *lenPtr; uint8_t *lenPtr;
uint32_t encoded = 0; uint32_t encoded = 0;
......
...@@ -35,7 +35,10 @@ typedef struct AuthenticationResponseParameter_tag { ...@@ -35,7 +35,10 @@ typedef struct AuthenticationResponseParameter_tag {
OctetString res; OctetString res;
} AuthenticationResponseParameter; } AuthenticationResponseParameter;
int encode_authentication_response_parameter(AuthenticationResponseParameter *authenticationresponseparameter, uint8_t iei, uint8_t *buffer, uint32_t len); int encode_authentication_response_parameter(const AuthenticationResponseParameter *authenticationresponseparameter,
uint8_t iei,
uint8_t *buffer,
uint32_t len);
int decode_authentication_response_parameter(AuthenticationResponseParameter *authenticationresponseparameter, uint8_t iei, uint8_t *buffer, uint32_t len); int decode_authentication_response_parameter(AuthenticationResponseParameter *authenticationresponseparameter, uint8_t iei, uint8_t *buffer, uint32_t len);
......
...@@ -50,7 +50,7 @@ int decode_nas_key_set_identifier(NasKeySetIdentifier *naskeysetidentifier, uint ...@@ -50,7 +50,7 @@ int decode_nas_key_set_identifier(NasKeySetIdentifier *naskeysetidentifier, uint
/** /**
* @brief Encode the NAS key set identifier in one byte * @brief Encode the NAS key set identifier in one byte
*/ */
uint8_t encode_nas_key_set_identifier(NasKeySetIdentifier *naskeysetidentifier, uint8_t iei) uint8_t encode_nas_key_set_identifier(const NasKeySetIdentifier *naskeysetidentifier, uint8_t iei)
{ {
#if defined (NAS_DEBUG) #if defined (NAS_DEBUG)
dump_nas_key_set_identifier_xml(naskeysetidentifier, iei); dump_nas_key_set_identifier_xml(naskeysetidentifier, iei);
......
...@@ -39,7 +39,7 @@ typedef struct NasKeySetIdentifier_tag { ...@@ -39,7 +39,7 @@ typedef struct NasKeySetIdentifier_tag {
uint8_t naskeysetidentifier:3; uint8_t naskeysetidentifier:3;
} NasKeySetIdentifier; } NasKeySetIdentifier;
uint8_t encode_nas_key_set_identifier(NasKeySetIdentifier *naskeysetidentifier, uint8_t iei); uint8_t encode_nas_key_set_identifier(const NasKeySetIdentifier *naskeysetidentifier, uint8_t iei);
void dump_nas_key_set_identifier_xml(NasKeySetIdentifier *naskeysetidentifier, uint8_t iei); void dump_nas_key_set_identifier_xml(NasKeySetIdentifier *naskeysetidentifier, uint8_t iei);
......
...@@ -55,8 +55,7 @@ void free_octet_string(OctetString *octetstring) ...@@ -55,8 +55,7 @@ void free_octet_string(OctetString *octetstring)
} }
} }
int encode_octet_string(const OctetString *octetstring, uint8_t *buffer, uint32_t buflen)
int encode_octet_string(OctetString *octetstring, uint8_t *buffer, uint32_t buflen)
{ {
if (octetstring != NULL) { if (octetstring != NULL) {
if ((octetstring->value != NULL) && (octetstring->length > 0)) { if ((octetstring->value != NULL) && (octetstring->length > 0)) {
...@@ -71,7 +70,7 @@ int encode_octet_string(OctetString *octetstring, uint8_t *buffer, uint32_t bufl ...@@ -71,7 +70,7 @@ int encode_octet_string(OctetString *octetstring, uint8_t *buffer, uint32_t bufl
} }
} }
int decode_octet_string(OctetString *octetstring, uint16_t pdulen, uint8_t *buffer, uint32_t buflen) int decode_octet_string(OctetString *octetstring, uint16_t pdulen, const uint8_t *buffer, uint32_t buflen)
{ {
if (buflen < pdulen) if (buflen < pdulen)
return -1; return -1;
......
...@@ -58,9 +58,9 @@ OctetString* dup_octet_string(OctetString*octetstring); ...@@ -58,9 +58,9 @@ OctetString* dup_octet_string(OctetString*octetstring);
void free_octet_string(OctetString *octetstring); void free_octet_string(OctetString *octetstring);
int encode_octet_string(OctetString *octetstring, uint8_t *buffer, uint32_t len); int encode_octet_string(const OctetString *octetstring, uint8_t *buffer, uint32_t len);
int decode_octet_string(OctetString *octetstring, uint16_t pdulen, uint8_t *buffer, uint32_t buflen); int decode_octet_string(OctetString *octetstring, uint16_t pdulen, const uint8_t *buffer, uint32_t buflen);
char* dump_octet_string_xml(const OctetString * const octetstring); char* dump_octet_string_xml(const OctetString * const octetstring);
......
...@@ -60,7 +60,7 @@ int decode_fgc_nas_message_container(FGCNasMessageContainer *nasmessagecontainer ...@@ -60,7 +60,7 @@ int decode_fgc_nas_message_container(FGCNasMessageContainer *nasmessagecontainer
return decoded; return decoded;
} }
int encode_fgc_nas_message_container(FGCNasMessageContainer *nasmessagecontainer, uint8_t iei, uint8_t *buffer, uint32_t len) int encode_fgc_nas_message_container(const FGCNasMessageContainer *nasmessagecontainer, uint8_t iei, uint8_t *buffer, uint32_t len)
{ {
uint32_t encoded = 0; uint32_t encoded = 0;
int encode_result; int encode_result;
......
...@@ -44,7 +44,7 @@ typedef struct FGCNasMessageContainer_tag { ...@@ -44,7 +44,7 @@ typedef struct FGCNasMessageContainer_tag {
OctetString nasmessagecontainercontents; OctetString nasmessagecontainercontents;
} FGCNasMessageContainer; } FGCNasMessageContainer;
int encode_fgc_nas_message_container(FGCNasMessageContainer *nasmessagecontainer, uint8_t iei, uint8_t *buffer, uint32_t len); int encode_fgc_nas_message_container(const FGCNasMessageContainer *nasmessagecontainer, uint8_t iei, uint8_t *buffer, uint32_t len);
int decode_fgc_nas_message_container(FGCNasMessageContainer *nasmessagecontainer, uint8_t iei, uint8_t *buffer, uint32_t len); int decode_fgc_nas_message_container(FGCNasMessageContainer *nasmessagecontainer, uint8_t iei, uint8_t *buffer, uint32_t len);
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include "TLVDecoder.h" #include "TLVDecoder.h"
#include "FGMMCapability.h" #include "FGMMCapability.h"
int encode_5gmm_capability(FGMMCapability *fgmmcapability, uint8_t iei, uint8_t *buffer, uint32_t len) int encode_5gmm_capability(const FGMMCapability *fgmmcapability, uint8_t iei, uint8_t *buffer, uint32_t len)
{ {
int encoded = 0; int encoded = 0;
if (iei) { if (iei) {
......
...@@ -42,6 +42,6 @@ typedef struct { ...@@ -42,6 +42,6 @@ typedef struct {
uint8_t value; uint8_t value;
} FGMMCapability; } FGMMCapability;
int encode_5gmm_capability(FGMMCapability *fgmmcapability, uint8_t iei, uint8_t *buffer, uint32_t len); int encode_5gmm_capability(const FGMMCapability *fgmmcapability, uint8_t iei, uint8_t *buffer, uint32_t len);
#endif /* FGMM_CAPABILITY_H_ */ #endif /* FGMM_CAPABILITY_H_ */
...@@ -41,11 +41,11 @@ ...@@ -41,11 +41,11 @@
static int decode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, const uint8_t *buffer); static int decode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, const uint8_t *buffer);
static int encode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, uint8_t *buffer); static int encode_guti_5gs_mobile_identity(const Guti5GSMobileIdentity_t *guti, uint8_t *buffer);
static int encode_suci_5gs_mobile_identity(Suci5GSMobileIdentity_t *suci, uint8_t *buffer); static int encode_suci_5gs_mobile_identity(const Suci5GSMobileIdentity_t *suci, uint8_t *buffer);
static int encode_imeisv_5gs_mobile_identity(Imeisv5GSMobileIdentity_t *imeisv, uint8_t *buffer); static int encode_imeisv_5gs_mobile_identity(const Imeisv5GSMobileIdentity_t *imeisv, uint8_t *buffer);
int encode_stmsi_5gs_mobile_identity(uint8_t *buffer, Stmsi5GSMobileIdentity_t *stmsi, uint32_t len) int encode_stmsi_5gs_mobile_identity(uint8_t *buffer, const Stmsi5GSMobileIdentity_t *stmsi, uint32_t len)
{ {
// Return if buffer is shorter than min length // Return if buffer is shorter than min length
if (len < LEN_5G_FGS_TMSI_IE) if (len < LEN_5G_FGS_TMSI_IE)
...@@ -126,7 +126,7 @@ int decode_5gs_mobile_identity(FGSMobileIdentity *fgsmobileidentity, uint8_t iei ...@@ -126,7 +126,7 @@ int decode_5gs_mobile_identity(FGSMobileIdentity *fgsmobileidentity, uint8_t iei
return (decoded + decoded_rc); return (decoded + decoded_rc);
} }
int encode_5gs_mobile_identity(FGSMobileIdentity *fgsmobileidentity, uint8_t iei, uint8_t *buffer, uint32_t len) int encode_5gs_mobile_identity(const FGSMobileIdentity *fgsmobileidentity, uint8_t iei, uint8_t *buffer, uint32_t len)
{ {
// Return if buffer is shorter than min length // Return if buffer is shorter than min length
if (len < MIN_LEN_FGS_MOBILE_ID_IE) if (len < MIN_LEN_FGS_MOBILE_ID_IE)
...@@ -222,7 +222,7 @@ static int decode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, const ...@@ -222,7 +222,7 @@ static int decode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, const
return decoded; return decoded;
} }
static int encode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, uint8_t *buffer) static int encode_guti_5gs_mobile_identity(const Guti5GSMobileIdentity_t *guti, uint8_t *buffer)
{ {
uint32_t encoded = 0; uint32_t encoded = 0;
uint16_t temp; uint16_t temp;
...@@ -245,7 +245,7 @@ static int encode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, uint8_ ...@@ -245,7 +245,7 @@ static int encode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, uint8_
return encoded; return encoded;
} }
static int encode_suci_5gs_mobile_identity(Suci5GSMobileIdentity_t *suci, uint8_t *buffer) static int encode_suci_5gs_mobile_identity(const Suci5GSMobileIdentity_t *suci, uint8_t *buffer)
{ {
uint32_t encoded = 0; uint32_t encoded = 0;
*(buffer + encoded) = (suci->supiformat << 4) | (suci->typeofidentity); *(buffer + encoded) = (suci->supiformat << 4) | (suci->typeofidentity);
...@@ -269,7 +269,7 @@ static int encode_suci_5gs_mobile_identity(Suci5GSMobileIdentity_t *suci, uint8_ ...@@ -269,7 +269,7 @@ static int encode_suci_5gs_mobile_identity(Suci5GSMobileIdentity_t *suci, uint8_
*(buffer + encoded) = suci->homenetworkpki; *(buffer + encoded) = suci->homenetworkpki;
encoded++; encoded++;
char *ptr = suci->schemeoutput; const char *ptr = suci->schemeoutput;
while (ptr < suci->schemeoutput + strlen(suci->schemeoutput)) { while (ptr < suci->schemeoutput + strlen(suci->schemeoutput)) {
buffer[encoded] = ((*(ptr + 1) - '0') << 4) | (*(ptr) - '0'); buffer[encoded] = ((*(ptr + 1) - '0') << 4) | (*(ptr) - '0');
encoded++; encoded++;
...@@ -281,7 +281,7 @@ static int encode_suci_5gs_mobile_identity(Suci5GSMobileIdentity_t *suci, uint8_ ...@@ -281,7 +281,7 @@ static int encode_suci_5gs_mobile_identity(Suci5GSMobileIdentity_t *suci, uint8_
return encoded; return encoded;
} }
static int encode_imeisv_5gs_mobile_identity(Imeisv5GSMobileIdentity_t *imeisv, uint8_t *buffer) static int encode_imeisv_5gs_mobile_identity(const Imeisv5GSMobileIdentity_t *imeisv, uint8_t *buffer)
{ {
uint32_t encoded = 0; uint32_t encoded = 0;
*(buffer + encoded) = 0x00 | (imeisv->digittac01 << 4) | (imeisv->oddeven << 3) | (imeisv->typeofidentity); *(buffer + encoded) = 0x00 | (imeisv->digittac01 << 4) | (imeisv->oddeven << 3) | (imeisv->typeofidentity);
......
...@@ -148,11 +148,11 @@ typedef union FGSMobileIdentity_tag { ...@@ -148,11 +148,11 @@ typedef union FGSMobileIdentity_tag {
} FGSMobileIdentity; } FGSMobileIdentity;
// clang-format on // clang-format on
int encode_5gs_mobile_identity(FGSMobileIdentity *fgsmobileidentity, uint8_t iei, uint8_t *buffer, uint32_t len); int encode_5gs_mobile_identity(const FGSMobileIdentity *fgsmobileidentity, uint8_t iei, uint8_t *buffer, uint32_t len);
int decode_5gs_mobile_identity(FGSMobileIdentity *fgsmobileidentity, uint8_t iei, const uint8_t *buffer, uint32_t len); int decode_5gs_mobile_identity(FGSMobileIdentity *fgsmobileidentity, uint8_t iei, const uint8_t *buffer, uint32_t len);
int encode_stmsi_5gs_mobile_identity(uint8_t *buffer, Stmsi5GSMobileIdentity_t *stmsi, uint32_t len); int encode_stmsi_5gs_mobile_identity(uint8_t *buffer, const Stmsi5GSMobileIdentity_t *stmsi, uint32_t len);
int decode_stmsi_5gs_mobile_identity(Stmsi5GSMobileIdentity_t *stmsi, const uint8_t *buffer, uint32_t len); int decode_stmsi_5gs_mobile_identity(Stmsi5GSMobileIdentity_t *stmsi, const uint8_t *buffer, uint32_t len);
#endif /* FGS MOBILE IDENTITY_H_ */ #endif /* FGS MOBILE IDENTITY_H_ */
...@@ -46,7 +46,7 @@ int decode_fgs_registration_result(FGSRegistrationResult *fgsregistrationresult, ...@@ -46,7 +46,7 @@ int decode_fgs_registration_result(FGSRegistrationResult *fgsregistrationresult,
return decoded; return decoded;
} }
uint16_t encode_fgs_registration_result(FGSRegistrationResult *fgsregistrationresult) uint16_t encode_fgs_registration_result(const FGSRegistrationResult *fgsregistrationresult)
{ {
uint16_t bufferReturn; uint16_t bufferReturn;
uint16_t *buffer = &bufferReturn; uint16_t *buffer = &bufferReturn;
......
...@@ -48,7 +48,7 @@ typedef struct { ...@@ -48,7 +48,7 @@ typedef struct {
uint8_t registrationresult: 3; uint8_t registrationresult: 3;
} FGSRegistrationResult; } FGSRegistrationResult;
uint16_t encode_fgs_registration_result(FGSRegistrationResult *fgsregistrationresult); uint16_t encode_fgs_registration_result(const FGSRegistrationResult *fgsregistrationresult);
int decode_fgs_registration_result(FGSRegistrationResult *fgsregistrationresult, uint8_t iei, uint16_t value, uint32_t len); int decode_fgs_registration_result(FGSRegistrationResult *fgsregistrationresult, uint8_t iei, uint16_t value, uint32_t len);
......
...@@ -49,7 +49,7 @@ int decode_5gs_registration_type(FGSRegistrationType *fgsregistrationtype, uint8 ...@@ -49,7 +49,7 @@ int decode_5gs_registration_type(FGSRegistrationType *fgsregistrationtype, uint8
return decoded; return decoded;
} }
int encode_5gs_registration_type(FGSRegistrationType *fgsregistrationtype) int encode_5gs_registration_type(const FGSRegistrationType *fgsregistrationtype)
{ {
uint8_t bufferReturn; uint8_t bufferReturn;
uint8_t *buffer = &bufferReturn; uint8_t *buffer = &bufferReturn;
......
...@@ -47,7 +47,7 @@ typedef uint8_t FGSRegistrationType; ...@@ -47,7 +47,7 @@ typedef uint8_t FGSRegistrationType;
#define EMERGENCY_REGISTRATION 0b100 #define EMERGENCY_REGISTRATION 0b100
// clang-format on // clang-format on
int encode_5gs_registration_type(FGSRegistrationType *fgsregistrationtype); int encode_5gs_registration_type(const FGSRegistrationType *fgsregistrationtype);
int decode_5gs_registration_type(FGSRegistrationType *fgsregistrationtype, uint8_t iei, uint8_t value, uint32_t len); int decode_5gs_registration_type(FGSRegistrationType *fgsregistrationtype, uint8_t iei, uint8_t value, uint32_t len);
......
...@@ -35,7 +35,10 @@ ...@@ -35,7 +35,10 @@
#include "TLVDecoder.h" #include "TLVDecoder.h"
#include "NrUESecurityCapability.h" #include "NrUESecurityCapability.h"
int encode_nrue_security_capability(NrUESecurityCapability *nruesecuritycapability, uint8_t iei, uint8_t *buffer, uint32_t len) int encode_nrue_security_capability(const NrUESecurityCapability *nruesecuritycapability,
uint8_t iei,
uint8_t *buffer,
uint32_t len)
{ {
int encoded = 0; int encoded = 0;
if (iei) { if (iei) {
......
...@@ -45,6 +45,9 @@ typedef struct { ...@@ -45,6 +45,9 @@ typedef struct {
uint8_t EIA; uint8_t EIA;
} NrUESecurityCapability; } NrUESecurityCapability;
int encode_nrue_security_capability(NrUESecurityCapability *nruesecuritycapability, uint8_t iei, uint8_t *buffer, uint32_t len); int encode_nrue_security_capability(const NrUESecurityCapability *nruesecuritycapability,
uint8_t iei,
uint8_t *buffer,
uint32_t len);
#endif /* NRUE_SECURITY_CAPABILITY_H_ */ #endif /* NRUE_SECURITY_CAPABILITY_H_ */
...@@ -30,7 +30,10 @@ ...@@ -30,7 +30,10 @@
//#define NAS_DEBUG 1 //#define NAS_DEBUG 1
int decode_sor_transparent_container(SORTransparentContainer *sortransparentcontainer, uint8_t iei, uint8_t *buffer, uint32_t len) int decode_sor_transparent_container(SORTransparentContainer *sortransparentcontainer,
uint8_t iei,
const uint8_t *buffer,
uint32_t len)
{ {
int decoded = 0; int decoded = 0;
int decode_result; int decode_result;
...@@ -61,7 +64,10 @@ int decode_sor_transparent_container(SORTransparentContainer *sortransparentcont ...@@ -61,7 +64,10 @@ int decode_sor_transparent_container(SORTransparentContainer *sortransparentcont
LOG_FUNC_RETURN(decoded); LOG_FUNC_RETURN(decoded);
} }
int encode_sor_transparent_container(SORTransparentContainer *sortransparentcontainer, uint8_t iei, uint8_t *buffer, uint32_t len) int encode_sor_transparent_container(const SORTransparentContainer *sortransparentcontainer,
uint8_t iei,
uint8_t *buffer,
uint32_t len)
{ {
uint8_t *lenPtr; uint8_t *lenPtr;
uint32_t encoded = 0; uint32_t encoded = 0;
......
...@@ -35,9 +35,15 @@ typedef struct SORTransparentContainer_tag { ...@@ -35,9 +35,15 @@ typedef struct SORTransparentContainer_tag {
OctetString sortransparentcontainercontents; OctetString sortransparentcontainercontents;
} SORTransparentContainer; } SORTransparentContainer;
int encode_sor_transparent_container(SORTransparentContainer *sortransparentcontainer, uint8_t iei, uint8_t *buffer, uint32_t len); int encode_sor_transparent_container(const SORTransparentContainer *sortransparentcontainer,
uint8_t iei,
int decode_sor_transparent_container(SORTransparentContainer *sortransparentcontainer, uint8_t iei, uint8_t *buffer, uint32_t len); uint8_t *buffer,
uint32_t len);
int decode_sor_transparent_container(SORTransparentContainer *sortransparentcontainer,
uint8_t iei,
const uint8_t *buffer,
uint32_t len);
void dump_sor_transparent_container_xml(SORTransparentContainer *sortransparentcontainer, uint8_t iei); void dump_sor_transparent_container_xml(SORTransparentContainer *sortransparentcontainer, uint8_t iei);
......
...@@ -37,7 +37,9 @@ ...@@ -37,7 +37,9 @@
#include "FGSAuthenticationResponse.h" #include "FGSAuthenticationResponse.h"
int encode_fgs_authentication_response(fgs_authentication_response_msg *authentication_response, uint8_t *buffer, uint32_t len) int encode_fgs_authentication_response(const fgs_authentication_response_msg *authentication_response,
uint8_t *buffer,
uint32_t len)
{ {
int encoded = 0; int encoded = 0;
int encode_result = 0; int encode_result = 0;
......
...@@ -57,6 +57,8 @@ typedef struct fgs_authentication_response_msg_tag { ...@@ -57,6 +57,8 @@ typedef struct fgs_authentication_response_msg_tag {
AuthenticationResponseParameter authenticationresponseparameter; AuthenticationResponseParameter authenticationresponseparameter;
} fgs_authentication_response_msg; } fgs_authentication_response_msg;
int encode_fgs_authentication_response(fgs_authentication_response_msg *authentication_response, uint8_t *buffer, uint32_t len); int encode_fgs_authentication_response(const fgs_authentication_response_msg *authentication_response,
uint8_t *buffer,
uint32_t len);
#endif /* ! defined(FGS_AUTHENTICATION_RESPONSE_H_) */ #endif /* ! defined(FGS_AUTHENTICATION_RESPONSE_H_) */
...@@ -32,12 +32,12 @@ ...@@ -32,12 +32,12 @@
#define IEI_NULL 0x00 #define IEI_NULL 0x00
int encode_fgs_deregistration_request_ue_originating(fgs_deregistration_request_ue_originating_msg *drr, int encode_fgs_deregistration_request_ue_originating(const fgs_deregistration_request_ue_originating_msg *drr,
uint8_t *buffer, uint8_t *buffer,
uint32_t len) uint32_t len)
{ {
int encoded = 0; int encoded = 0;
FGSDeregistrationType *dt = &drr->deregistrationtype; const FGSDeregistrationType *dt = &drr->deregistrationtype;
*(buffer + encoded) = ((dt->switchoff & 0x1) << 7) | ((dt->reregistration_required & 0x1) << 6) | ((dt->access_type & 0x3) << 4); *(buffer + encoded) = ((dt->switchoff & 0x1) << 7) | ((dt->reregistration_required & 0x1) << 6) | ((dt->access_type & 0x3) << 4);
int encode_result; int encode_result;
......
...@@ -47,7 +47,7 @@ typedef struct fgs_deregistration_request_ue_originating_msg_tag { ...@@ -47,7 +47,7 @@ typedef struct fgs_deregistration_request_ue_originating_msg_tag {
FGSMobileIdentity fgsmobileidentity; FGSMobileIdentity fgsmobileidentity;
} fgs_deregistration_request_ue_originating_msg; } fgs_deregistration_request_ue_originating_msg;
int encode_fgs_deregistration_request_ue_originating(fgs_deregistration_request_ue_originating_msg *registrationrequest, int encode_fgs_deregistration_request_ue_originating(const fgs_deregistration_request_ue_originating_msg *registrationrequest,
uint8_t *buffer, uint8_t *buffer,
uint32_t len); uint32_t len);
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#include "FGCNasMessageContainer.h" #include "FGCNasMessageContainer.h"
#include "FGSMobileIdentity.h" #include "FGSMobileIdentity.h"
int encode_fgs_security_mode_complete(fgs_security_mode_complete_msg *fgs_security_mode_comp, uint8_t *buffer, uint32_t len) int encode_fgs_security_mode_complete(const fgs_security_mode_complete_msg *fgs_security_mode_comp, uint8_t *buffer, uint32_t len)
{ {
int encoded = 0; int encoded = 0;
int encode_result = 0; int encode_result = 0;
......
...@@ -54,6 +54,6 @@ typedef struct fgs_security_mode_complete_msg_tag { ...@@ -54,6 +54,6 @@ typedef struct fgs_security_mode_complete_msg_tag {
FGCNasMessageContainer fgsnasmessagecontainer; FGCNasMessageContainer fgsnasmessagecontainer;
} fgs_security_mode_complete_msg; } fgs_security_mode_complete_msg;
int encode_fgs_security_mode_complete(fgs_security_mode_complete_msg *fgs_security_mode_comp, uint8_t *buffer, uint32_t len); int encode_fgs_security_mode_complete(const fgs_security_mode_complete_msg *fgs_security_mode_comp, uint8_t *buffer, uint32_t len);
#endif /* ! defined(FGS_NAS_SECURITY_MODE_COMPLETE_H_) */ #endif /* ! defined(FGS_NAS_SECURITY_MODE_COMPLETE_H_) */
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#include <string.h> #include <string.h>
#include "TLVEncoder.h" #include "TLVEncoder.h"
int encode_fgs_payload_container(FGSPayloadContainer *paycontainer, uint8_t iei, uint8_t *buffer, uint32_t len) static int encode_fgs_payload_container(const FGSPayloadContainer *paycontainer, uint8_t iei, uint8_t *buffer, uint32_t len)
{ {
uint32_t encoded = 0; uint32_t encoded = 0;
int encode_result; int encode_result;
...@@ -62,7 +62,7 @@ int encode_fgs_payload_container(FGSPayloadContainer *paycontainer, uint8_t iei, ...@@ -62,7 +62,7 @@ int encode_fgs_payload_container(FGSPayloadContainer *paycontainer, uint8_t iei,
return encoded; return encoded;
} }
int encode_nssai(OctetString *nssai, uint8_t iei, uint8_t *buffer) static int encode_nssai(const OctetString *nssai, uint8_t iei, uint8_t *buffer)
{ {
uint32_t encoded = 0; uint32_t encoded = 0;
int encode_result; int encode_result;
...@@ -84,7 +84,7 @@ int encode_nssai(OctetString *nssai, uint8_t iei, uint8_t *buffer) ...@@ -84,7 +84,7 @@ int encode_nssai(OctetString *nssai, uint8_t iei, uint8_t *buffer)
return encoded; return encoded;
} }
int encode_dnn(OctetString *dnn, uint8_t iei, uint8_t *buffer) static int encode_dnn(const OctetString *dnn, uint8_t iei, uint8_t *buffer)
{ {
uint32_t encoded = 0; uint32_t encoded = 0;
int encode_result; int encode_result;
...@@ -106,7 +106,7 @@ int encode_dnn(OctetString *dnn, uint8_t iei, uint8_t *buffer) ...@@ -106,7 +106,7 @@ int encode_dnn(OctetString *dnn, uint8_t iei, uint8_t *buffer)
return encoded; return encoded;
} }
int encode_fgs_uplink_nas_transport(fgs_uplink_nas_transport_msg *fgs_up_nas_transport, uint8_t *buffer, uint32_t len) int encode_fgs_uplink_nas_transport(const fgs_uplink_nas_transport_msg *fgs_up_nas_transport, uint8_t *buffer, uint32_t len)
{ {
int encoded = 0; int encoded = 0;
int encode_result = 0; int encode_result = 0;
......
...@@ -66,6 +66,6 @@ typedef struct fgs_uplink_nas_transport_msg_tag { ...@@ -66,6 +66,6 @@ typedef struct fgs_uplink_nas_transport_msg_tag {
OctetString dnn; OctetString dnn;
} fgs_uplink_nas_transport_msg; } fgs_uplink_nas_transport_msg;
int encode_fgs_uplink_nas_transport(fgs_uplink_nas_transport_msg *fgs_security_mode_comp, uint8_t *buffer, uint32_t len); int encode_fgs_uplink_nas_transport(const fgs_uplink_nas_transport_msg *fgs_security_mode_comp, uint8_t *buffer, uint32_t len);
#endif /* ! defined(FGS_UPLINK_NAS_TRANSPORT_H_) */ #endif /* ! defined(FGS_UPLINK_NAS_TRANSPORT_H_) */
...@@ -65,7 +65,7 @@ int decode_registration_accept(registration_accept_msg *registration_accept, con ...@@ -65,7 +65,7 @@ int decode_registration_accept(registration_accept_msg *registration_accept, con
return decoded; return decoded;
} }
int encode_registration_accept(registration_accept_msg *registration_accept, uint8_t *buffer, uint32_t len) int encode_registration_accept(const registration_accept_msg *registration_accept, uint8_t *buffer, uint32_t len)
{ {
int encoded = 0; int encoded = 0;
......
...@@ -61,6 +61,6 @@ typedef struct registration_accept_msg_tag { ...@@ -61,6 +61,6 @@ typedef struct registration_accept_msg_tag {
int decode_registration_accept(registration_accept_msg *registrationaccept, const uint8_t *buffer, uint32_t len); int decode_registration_accept(registration_accept_msg *registrationaccept, const uint8_t *buffer, uint32_t len);
int encode_registration_accept(registration_accept_msg *registrationaccept, uint8_t *buffer, uint32_t len); int encode_registration_accept(const registration_accept_msg *registrationaccept, uint8_t *buffer, uint32_t len);
#endif /* ! defined(REGISTRATION_ACCEPT_H_) */ #endif /* ! defined(REGISTRATION_ACCEPT_H_) */
...@@ -23,14 +23,14 @@ ...@@ -23,14 +23,14 @@
#include <stdint.h> #include <stdint.h>
#include "SORTransparentContainer.h" #include "SORTransparentContainer.h"
int decode_registration_complete(registration_complete_msg *registration_complete, uint8_t *buffer, uint32_t len) int decode_registration_complete(registration_complete_msg *registration_complete, const uint8_t *buffer, uint32_t len)
{ {
uint32_t decoded = 0; uint32_t decoded = 0;
int decoded_result = 0; int decoded_result = 0;
/* Decoding mandatory fields */ /* Decoding mandatory fields */
if ((decoded_result = if ((decoded_result =
decode_sor_transparent_container(&registration_complete->sortransparentcontainer, 0, buffer + decoded, len - decoded)) decode_sor_transparent_container(registration_complete->sortransparentcontainer, 0, buffer + decoded, len - decoded))
< 0) < 0)
return decoded_result; return decoded_result;
else else
...@@ -39,7 +39,7 @@ int decode_registration_complete(registration_complete_msg *registration_complet ...@@ -39,7 +39,7 @@ int decode_registration_complete(registration_complete_msg *registration_complet
return decoded; return decoded;
} }
int encode_registration_complete(registration_complete_msg *registration_complete, uint8_t *buffer, uint32_t len) int encode_registration_complete(const registration_complete_msg *registration_complete, uint8_t *buffer, uint32_t len)
{ {
int encoded = 0; int encoded = 0;
int encode_result = 0; int encode_result = 0;
......
...@@ -41,8 +41,8 @@ typedef struct registration_complete_msg_tag { ...@@ -41,8 +41,8 @@ typedef struct registration_complete_msg_tag {
SORTransparentContainer *sortransparentcontainer; SORTransparentContainer *sortransparentcontainer;
} registration_complete_msg; } registration_complete_msg;
int decode_registration_complete(registration_complete_msg *registrationcomplete, uint8_t *buffer, uint32_t len); int decode_registration_complete(registration_complete_msg *registrationcomplete, const uint8_t *buffer, uint32_t len);
int encode_registration_complete(registration_complete_msg *registrationcomplete, uint8_t *buffer, uint32_t len); int encode_registration_complete(const registration_complete_msg *registrationcomplete, uint8_t *buffer, uint32_t len);
#endif /* ! defined(REGISTRATION_COMPLETE_H_) */ #endif /* ! defined(REGISTRATION_COMPLETE_H_) */
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#define IEI_NULL 0x00 #define IEI_NULL 0x00
int decode_registration_request(registration_request_msg *registration_request, uint8_t *buffer, uint32_t len) int decode_registration_request(registration_request_msg *registration_request, const uint8_t *buffer, uint32_t len)
{ {
uint32_t decoded = 0; uint32_t decoded = 0;
int decoded_result = 0; int decoded_result = 0;
...@@ -68,7 +68,7 @@ int decode_registration_request(registration_request_msg *registration_request, ...@@ -68,7 +68,7 @@ int decode_registration_request(registration_request_msg *registration_request,
return decoded; return decoded;
} }
int encode_registration_request(registration_request_msg *registration_request, uint8_t *buffer, uint32_t len) int encode_registration_request(const registration_request_msg *registration_request, uint8_t *buffer, uint32_t len)
{ {
int encoded = 0; int encoded = 0;
int encode_result = 0; int encode_result = 0;
......
...@@ -112,8 +112,8 @@ typedef struct registration_request_msg_tag { ...@@ -112,8 +112,8 @@ typedef struct registration_request_msg_tag {
NrUESecurityCapability nruesecuritycapability; NrUESecurityCapability nruesecuritycapability;
} registration_request_msg; } registration_request_msg;
int decode_registration_request(registration_request_msg *registrationrequest, uint8_t *buffer, uint32_t len); int decode_registration_request(registration_request_msg *registrationrequest, const uint8_t *buffer, uint32_t len);
int encode_registration_request(registration_request_msg *registrationrequest, uint8_t *buffer, uint32_t len); int encode_registration_request(const registration_request_msg *registrationrequest, uint8_t *buffer, uint32_t len);
#endif /* ! defined(REGISTRATION_REQUEST_H_) */ #endif /* ! defined(REGISTRATION_REQUEST_H_) */
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
/** /**
* @brief Encode 5GMM NAS Service Request message (8.2.16 of 3GPP TS 24.501) * @brief Encode 5GMM NAS Service Request message (8.2.16 of 3GPP TS 24.501)
*/ */
int encode_fgs_service_request(uint8_t *buffer, fgs_service_request_msg_t *service_request, uint32_t len) int encode_fgs_service_request(uint8_t *buffer, const fgs_service_request_msg_t *service_request, uint32_t len)
{ {
// Return if buffer is shorter than min length // Return if buffer is shorter than min length
if (len < MIN_LEN_FGS_SERVICE_REQUEST) if (len < MIN_LEN_FGS_SERVICE_REQUEST)
......
...@@ -53,7 +53,7 @@ typedef struct { ...@@ -53,7 +53,7 @@ typedef struct {
FGCNasMessageContainer *fgsnasmessagecontainer; FGCNasMessageContainer *fgsnasmessagecontainer;
} fgs_service_request_msg_t; } fgs_service_request_msg_t;
int encode_fgs_service_request(uint8_t *buffer, fgs_service_request_msg_t *servicerequest, uint32_t len); int encode_fgs_service_request(uint8_t *buffer, const fgs_service_request_msg_t *servicerequest, uint32_t len);
int decode_fgs_service_request(fgs_service_request_msg_t *sr, const uint8_t *buffer, uint32_t len); int decode_fgs_service_request(fgs_service_request_msg_t *sr, const uint8_t *buffer, uint32_t len);
#endif /* ! defined(FGS_SERVICE_REQUEST_H_) */ #endif /* ! defined(FGS_SERVICE_REQUEST_H_) */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment