#include <math.h>
#include <sstream>
#include <iomanip>
#include <random>

//#include "NG_SecurityDefinitionsAndExternalFunctions.hh"
#include "NG_NAS_SecurityFunctions.hh"
//#include "NR_RRC_ASN1_Definitions.hh"
#include "CommonDefs.hh"

#include "base_time.hh"
//#include "converter.hh"
#include "loggers.hh"
//#include "xml_converters.hh"


//namespace NG__SecurityDefinitionsAndExternalFunctions {
namespace NG__NAS__SecurityFunctions {

   /**
   * @desc    This external function ... 
   * @return  The ...
   * @see     fx_get...() return ...
   */

//BITSTRING fx__NR__AsIntegrityAlgorithm(const OCTETSTRING &a, const NR__RRC__ASN1__Definitions::IntegrityProtAlgorithm& b, const BITSTRING &c, const OCTETSTRING &d, const BITSTRING &e, const INTEGER &f){
//return int2bit(0, 0);
//}

OCTETSTRING fx__NG__NasIntegrityAlgorithm(const OCTETSTRING& p_EncodedNasPdu, const BITSTRING& p_IntegrityAlgorithm, const BITSTRING& p_KNASint, const OCTETSTRING& p_NasCount, const BITSTRING& p_BearerId, const INTEGER& p_Direction){
return int2oct(0, 0);
}

OCTETSTRING fx__NG__NasCiphering(const OCTETSTRING& p_EncodedNasPdu,const  BITSTRING& p_CipheringAlgorithm, const BITSTRING& p_KNASenc, const OCTETSTRING& p_NasCount, const  BITSTRING& p_BearerId){
return int2oct(0, 0);
}

OCTETSTRING fx__NG__NasDeciphering(const OCTETSTRING& p_CipheredNasMsg, const BITSTRING& p_CipheringAlgorithm, const BITSTRING& p_KNASenc, const OCTETSTRING& p_NasCount, const BITSTRING& p_BearerId){
return int2oct(0, 0);
}



} // namespace NG__NAS__SecurityFunctions 
 // namespace NG__SecurityDefinitionsAndExternalFunctions 
