diff --git a/code/application/source/sf_app/code/include/sf_4G_sms_lpa_cmd.h b/code/application/source/sf_app/code/include/sf_4G_sms_lpa_cmd.h index d672e26fa..add0cb57e 100755 --- a/code/application/source/sf_app/code/include/sf_4G_sms_lpa_cmd.h +++ b/code/application/source/sf_app/code/include/sf_4G_sms_lpa_cmd.h @@ -55,9 +55,9 @@ #define SF_LPA_PROFILE_INFO_BACKUP_FILENEME (UINT8 *)"B:\\UDF\\profile_info_backup.txt" #else // to do: save in flash -#define SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME "/tmp/download_ac.txt" -#define SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME "/tmp/download_enable_ac.txt" -#define SF_LPA_PROFILE_INFO_FILENEME "/tmp/profile_info.txt" +#define SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME "/mnt/sd/THUMB/download_ac.txt" +#define SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME "/mnt/sd/THUMB/download_enable_ac.txt" +#define SF_LPA_PROFILE_INFO_FILENEME "/mnt/sd/THUMB/profile_info.txt" #define SF_LPA_PROFILE_INFO_BACKUP_FILENEME "/mnt/sd/profile_info.txt" #define SF_LPA_LOG_FILE_PATH "/mnt/sd/" diff --git a/code/application/source/sf_app/code/include/sf_4g_lpa.h b/code/application/source/sf_app/code/include/sf_4g_lpa.h index 55354617f..e3d4e26ac 100755 --- a/code/application/source/sf_app/code/include/sf_4g_lpa.h +++ b/code/application/source/sf_app/code/include/sf_4g_lpa.h @@ -39,6 +39,7 @@ #define SF_LPA_FOLDER SF_SD_DISK #define SF_LPA_SDK 1 +#define SIFAR_PLATFORM_ICATCH 0 void sf_sample_lpa_init(void); void sf_lpa_profile_info_refresh(void); @@ -75,8 +76,8 @@ SINT32 sf_network_select(UINT8 profileId, UINT8 ctlType); //SF_CONTROL_TYPE_e ct SINT32 sf_4g_operator_scan(UINT8 mode, UINT8 ctlType); //SF_CONTROL_TYPE_e ctlType SINT32 sf_lpa_get_esim_iccid(SF_CHAR iccid[][22]); void sf_set_esim_card(INT8 flag); - - +uint32_t sf_fgets(char **src, char *dst); +UINT32 sf_get_profile_active_index(UINT8 *index); //UINT32 sf_sample_lpa_init(UINT8 refreshNetworkFlg); diff --git a/code/application/source/sf_app/code/source/4gMng/sf_4G_sms_lpa_cmd.c b/code/application/source/sf_app/code/source/4gMng/sf_4G_sms_lpa_cmd.c index c81bbc5f4..dd2b2d592 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_4G_sms_lpa_cmd.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_4G_sms_lpa_cmd.c @@ -237,9 +237,9 @@ UINT32 sf_save_file(UINT8* filename, UINT8* filebuff, UINT32 len) printf("\nsave %s %d\n", filename, len); - remove(filename); + remove((char*)filename); - fd = open(filename, O_WRONLY | O_CREAT, 0777); + fd = open((char*)filename, O_WRONLY | O_CREAT, 0777); if (fd==0) { @@ -745,14 +745,14 @@ void sf_write_log_content(int fd, SF_SMS_LPA_CMD_T* pLpaCmd, SINT8 status, unsig //append log concent in the file end SF_SEEK(fd, 0, SEEK_END); - sf_lpa_get_times_stamp(tmpStr); + sf_lpa_get_times_stamp((SINT8*)tmpStr); SF_WRITE(fd, tmpStr, strlen(tmpStr)); SF_WRITE(fd, ",", 1); SLOGD("%s", tmpStr); printf(","); memset(tmpStr, '\0', sizeof(tmpStr)); - sf_lpa_get_all_iccid(tmpStr); + sf_lpa_get_all_iccid((SINT8*)tmpStr); SF_WRITE(fd, tmpStr, strlen(tmpStr)); SF_WRITE(fd, ",", 1); printf("%s", tmpStr); @@ -766,14 +766,14 @@ void sf_write_log_content(int fd, SF_SMS_LPA_CMD_T* pLpaCmd, SINT8 status, unsig printf(","); SF_MEMSET(tmpStr, '\0', sizeof(tmpStr)); - sf_lpa_get_cmd_str(pLpaCmd, tmpStr); + sf_lpa_get_cmd_str(pLpaCmd, (SINT8*)tmpStr); SF_WRITE(fd, tmpStr, strlen(tmpStr)); SF_WRITE(fd, ",", 1); printf("%s", tmpStr); printf(","); memset(tmpStr, '\0', sizeof(tmpStr)); - sf_lpa_get_status_str(status, tmpStr); + sf_lpa_get_status_str(status, (SINT8*)tmpStr); SF_WRITE(fd, tmpStr, strlen(tmpStr)); SF_WRITE(fd, ",", 1); printf("%s", tmpStr); @@ -791,7 +791,7 @@ void sf_write_log_content(int fd, SF_SMS_LPA_CMD_T* pLpaCmd, SINT8 status, unsig printf(","); memset(tmpStr, '\0', sizeof(tmpStr)); - sf_lpa_get_source_str(Source, tmpStr); + sf_lpa_get_source_str(Source, (SINT8*)tmpStr); SF_WRITE(fd, tmpStr, strlen(tmpStr)); SF_WRITE(fd, "\r\n", 2); printf("%s\r\n", tmpStr); @@ -886,12 +886,12 @@ int sf_sms_lpa_command_log(SF_SMS_LPA_CMD_T* pLpaCmd, SINT8 status, unsigned sho void sf_sms_lpa_delete_lpa_log(void) { - UINT8 fileName[64] = { 0 }; + char fileName[64] = { 0 }; char *strg_path = sf_get_root_path(); if(strg_path == NULL) { free(strg_path); - return SF_FAILURE; + return ; } SF_SPRINTF(fileName, "%s%s", strg_path, sf_sms_lpa_log_file_name_get()); @@ -903,6 +903,7 @@ void sf_sms_lpa_delete_lpa_log(void) SF_SYNC(); } free(strg_path); + return; } SINT32 sf_sms_lpa_command_recombination(SF_SMS_LPA_CMD_T *pLpaCmd) @@ -984,7 +985,7 @@ SINT32 sf_sms_lpa_hash_signature(const SINT8 *eid, const SINT8 *secret, SINT8 *s // SF_SPRINTF(buf, "%s", "860322065282227,89033023425110000000024642328469,Tact^$werew"); SLOGD("buf:%s\n", buf); - sha256(buf, SF_STRLEN(buf), hash, &lenOut); + sha256((char*)buf, SF_STRLEN(buf), (char*)hash, &lenOut); for (i = 0; i < SF_SMS_LPA_CMD_HASH_KEY_LENGTH; i++) { SF_SPRINTF(signature + i * 2, "%02x", hash[i]); @@ -1030,11 +1031,11 @@ SINT32 sf_sms_lpa_save_download_profile_activation_code(UINT16 cmdVal, const SIN if(cmdVal == SF_SMS_LPA_CMD_DOWNLOAD_PROFILE_1) { - sprintf(fileName, "%s", SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME); + sprintf((char*)fileName, "%s", SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME); } else { - sprintf(fileName, "%s", SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME); + sprintf((char*)fileName, "%s", SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME); } if(sf_save_file(fileName, (UINT8*)activationCodeStr, SF_STRLEN(activationCodeStr)) == FAIL) @@ -1068,11 +1069,11 @@ SINT32 sf_sms_lpa_load_download_profile_activation_code(UINT16 cmdVal, SINT8* ac if(cmdVal == SF_SMS_LPA_CMD_DOWNLOAD_PROFILE_1) { - sprintf(fileName, "%s", SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME); + sprintf((char*)fileName, "%s", SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME); } else { - sprintf(fileName, "%s", SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME); + sprintf((char*)fileName, "%s", SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME); } fSize = sf_get_file_size(fileName); @@ -1099,11 +1100,11 @@ void sf_sms_lpa_delete_download_profile_activation_code(UINT16 cmdVal) if(cmdVal == SF_SMS_LPA_CMD_DOWNLOAD_PROFILE_1) { - sprintf(fileName, "%s", SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME); + sprintf((char*)fileName, "%s", SF_LPA_DOWNLOAD_PROFILE_AC_FILENEME); } else { - sprintf(fileName, "%s", SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME); + sprintf((char*)fileName, "%s", SF_LPA_DOWNLOAD_ENABLE_PROFILE_AC_FILENEME); } SLOGD("Delete %s\n", fileName); @@ -1191,8 +1192,8 @@ SINT32 sf_sms_lpa_save_profile_info_item(const SINT8* iccid, const SINT8* apn, c SF_DELETE(file_path); free(file_path); memset(buff, '\0', sizeof(buff)); - sprintf(buff, "cp %s /sdcard/mmcblk0p1/ -f", SF_LPA_PROFILE_INFO_FILENEME); - system(buff); + sprintf((char*)buff, "cp %s /sdcard/mmcblk0p1/ -f", SF_LPA_PROFILE_INFO_FILENEME); + system((char*)buff); SF_SYNC(); SLOGD("Add Success\n"); @@ -1226,7 +1227,7 @@ SINT32 sf_sms_lpa_delete_profile_info_item(const SINT8* iccid) SLOGD("Delete %s to %s\n", iccid, SF_LPA_PROFILE_INFO_FILENEME); - fSize = sf_get_file_size(SF_LPA_PROFILE_INFO_FILENEME); + fSize = sf_get_file_size((UINT8*)SF_LPA_PROFILE_INFO_FILENEME); if(fSize != 0) { @@ -1239,7 +1240,7 @@ SINT32 sf_sms_lpa_delete_profile_info_item(const SINT8* iccid) memset(fileBuff, '\0', fSize + 1); - if(sf_read_file(SF_LPA_PROFILE_INFO_FILENEME, fileBuff, fSize) == FAIL) + if(sf_read_file((UINT8*)SF_LPA_PROFILE_INFO_FILENEME, fileBuff, fSize) == FAIL) { free(fileBuff); @@ -1296,11 +1297,11 @@ SINT32 sf_sms_lpa_delete_profile_info_item(const SINT8* iccid) len = fSize - abs(pStrEnd - pStrStart); - if(sf_save_file(SF_LPA_PROFILE_INFO_FILENEME, tmpFileBuff, len) == FAIL) + if(sf_save_file((UINT8*)SF_LPA_PROFILE_INFO_FILENEME, tmpFileBuff, len) == FAIL) { memset(buff, '\0', sizeof(buff)); - sprintf(buff, "cp %s /appfs/ -f", file_path); - system(buff); + sprintf((char*)buff, "cp %s /appfs/ -f", file_path); + system((char*)buff); SF_SYNC(); SLOGD("refresh error\n"); @@ -1311,8 +1312,8 @@ SINT32 sf_sms_lpa_delete_profile_info_item(const SINT8* iccid) SF_DELETE(file_path); memset(buff, '\0', sizeof(buff)); - sprintf(buff, "cp %s /sdcard/mmcblk0p1/ -f", SF_LPA_PROFILE_INFO_FILENEME); - system(buff); + sprintf((char*)buff, "cp %s /sdcard/mmcblk0p1/ -f", SF_LPA_PROFILE_INFO_FILENEME); + system((char*)buff); SF_SYNC(); free(file_path); @@ -1353,27 +1354,27 @@ SINT32 sf_sms_lpa_get_profile_info_item(const SINT8* iccid, SINT8* apn, SINT8* a if((sf_file_exsit(SF_LPA_PROFILE_INFO_FILENEME) != SUCCESS) && (sf_file_exsit(file_path) == SUCCESS)) { memset(buff, '\0', sizeof(buff)); - sprintf(buff, "cp %s /appfs/ -f", file_path); - system(buff); + sprintf((char*)buff, "cp %s /appfs/ -f", file_path); + system((char*)buff); SF_SYNC(); } else if((sf_file_exsit(SF_LPA_PROFILE_INFO_FILENEME) == SUCCESS) && (sf_file_exsit(file_path) != SUCCESS)) { memset(buff, '\0', sizeof(buff)); - sprintf(buff, "cp %s /sdcard/mmcblk0p1/ -f", SF_LPA_PROFILE_INFO_FILENEME); - system(buff); + sprintf((char*)buff, "cp %s /sdcard/mmcblk0p1/ -f", SF_LPA_PROFILE_INFO_FILENEME); + system((char*)buff); SF_SYNC(); } } memset(buff, '\0', sizeof(buff)); SLOGD("get Profile item:%s\n", iccid); - sprintf(fileName, "%s", SF_LPA_PROFILE_INFO_FILENEME); + sprintf((char*)fileName, "%s", SF_LPA_PROFILE_INFO_FILENEME); fSize = sf_get_file_size(fileName); if(fSize == 0) { - sprintf(fileName, "%s", file_path); + sprintf((char*)fileName, "%s", file_path); fSize = sf_get_file_size(fileName); } free(file_path); @@ -1407,7 +1408,7 @@ SINT32 sf_sms_lpa_get_profile_info_item(const SINT8* iccid, SINT8* apn, SINT8* a return SF_FAILURE; } - if(sf_fgets((SINT8 **)&pStr, (SINT8 *)buff) == 0) + if(sf_fgets((char **)&pStr, (char *)buff) == 0) { SLOGD("file Fromt error\n"); free(fileBuff); diff --git a/code/application/source/sf_app/code/source/4gMng/sf_4g_lpa.c b/code/application/source/sf_app/code/source/4gMng/sf_4g_lpa.c index 4bc013063..9791abda9 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_4g_lpa.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_4g_lpa.c @@ -28,8 +28,11 @@ //#define SAMPLE__USE_MODEM_CONNECTIVITY +#include "sf_fileMng.h" #include "sf_param_enum.h" +#include #include +#include #include #if !SIFAR_PLATFORM_ICATCH #include @@ -48,10 +51,9 @@ #include "sf_service.h" #include "sf_ledmng.h" #include "sf_commu_mcu_reg.h" - - - - +#include "sf_message_queue.h" +#include "sf_system.h" +#include "sf_commMng.h" #ifdef SAMPLE__GENERIC_MODEM #if !SIFAR_PLATFORM_ICATCH @@ -348,7 +350,7 @@ void sf_set_wifi_cmd(UINT8 cmd) WifiCurrentCmd = cmd; } -UINT8 sf_get_wifi_cmd() +UINT8 sf_get_wifi_cmd(void) { return WifiCurrentCmd; } @@ -454,10 +456,10 @@ void SampleLPA_GetIccidStr(unsigned char* IccidStr, unsigned char* ProfileIdByte IccidStr[2*indexByte]='\0'; } -bool SampleLPA_Initialize() +BOOL SampleLPA_Initialize(void) { char ExePath[100]; - bool res; + BOOL res; #if SIFAR_PLATFORM_ICATCH sprintf(ExePath, "%s", SF_LPA_FOLDER); @@ -469,7 +471,7 @@ bool SampleLPA_Initialize() char OutputPath[100]; DIR *rep_in; DIR *rep_out; - bool UseInitWithInOutFolders; + BOOL UseInitWithInOutFolders; if( getcwd(ExePath,100) == NULL ) { @@ -535,13 +537,13 @@ bool SampleLPA_Initialize() return(res); } -void SampleLPA_GetAndSetReader() +void SampleLPA_GetAndSetReader(void) { size_t index = 0; size_t countReader = 0; LPA_SE_MEDIA_READER_NAME_INFO readerInfo[16]; - bool res = lpaGetReaderList( readerInfo, 16, &countReader); + BOOL res = lpaGetReaderList( readerInfo, 16, &countReader); printf("lpaGetReaderList API returned %s\n", (res ? "true" : "false")); if (res) { @@ -581,13 +583,13 @@ void SampleLPA_GetAndSetReader() } -bool SampleLPA_GetEID(UINT8 *eidStr) +BOOL SampleLPA_GetEID(UINT8 *eidStr) { size_t index = 0; LPA_GET_EID getEID; UINT8 str[4] = {0}; - bool res = lpaGetEID(&getEID); + BOOL res = lpaGetEID(&getEID); printf("lpaGetEID API returned %s\n", (res ? "true" : "false")); if(eidStr== NULL) @@ -615,11 +617,11 @@ bool SampleLPA_GetEID(UINT8 *eidStr) -bool SampleLPA_GetEUICCInfo() +BOOL SampleLPA_GetEUICCInfo(void) { size_t index = 0; LPA_GET_EUICC_INFO getEUICCInfo; - bool res = lpaGetEUICCInfo(&getEUICCInfo); + BOOL res = lpaGetEUICCInfo(&getEUICCInfo); printf("lpaGetEUICCInfo API returned %s\n", (res ? "true" : "false")); if(res) { @@ -638,11 +640,11 @@ bool SampleLPA_GetEUICCInfo() } -void SampleLPA_GetSMDPAddress() +void SampleLPA_GetSMDPAddress(void) { size_t index = 0; ADDRESS_DATA AddressData; - bool res = lpaGetSMDPAddress(&AddressData); + BOOL res = lpaGetSMDPAddress(&AddressData); printf("lpaGetSMDPAddress API returned %s\n", (res ? "true" : "false")); if(res) { @@ -663,11 +665,11 @@ void SampleLPA_GetSMDPAddress() } -void SampleLPA_GetSMDSAddress() +void SampleLPA_GetSMDSAddress(void) { size_t index = 0; ADDRESS_DATA AddressData; - bool res = lpaGetSMDSAddress(&AddressData); + BOOL res = lpaGetSMDSAddress(&AddressData); printf("lpaGetSMDSAddress API returned %s\n", (res ? "true" : "false")); if(res) { @@ -686,14 +688,14 @@ void SampleLPA_GetSMDSAddress() } } -void SampleLPA_DisplayUsedAddresse(bool requestedAddress) +void SampleLPA_DisplayUsedAddresse(BOOL requestedAddress) { - bool res1; - bool res2; + BOOL res1; + BOOL res2; char deviceAddress[LPA_SMDP_ADDRESS_SIZE]; //char eUICCAddress[LPA_SMDP_ADDRESS_SIZE]; char usedAddress[LPA_SMDP_ADDRESS_SIZE]; - bool fromConfigParam; + BOOL fromConfigParam; ADDRESS_DATA AddressData; if(requestedAddress == REQUEST_SMDS_ADDRESS) @@ -731,10 +733,10 @@ void SampleLPA_DisplayUsedAddresse(bool requestedAddress) } } -void SampleLPA_SetCurlParameters() +void SampleLPA_SetCurlParameters(void) { - bool res; - bool ParamValue=false; + BOOL res; + BOOL ParamValue=false; printf("Setting CURL_SSL_VERIFYPEER to false (this operation is supposed to fail when SDK is not built with LPA_SDK__USING_EX_API option)...\n"); res = lpaSetConfigParameter("CURL_SSL_VERIFYPEER",LPA_PARAMETER_TYPE_BOOL,&ParamValue); printf(" Operation %s \n", (res ? "is successful:" : "has failed.")); @@ -753,7 +755,7 @@ void SampleLPA_SetParameter_CertPath(char *ParamValue) printf("\t2.Executing update-ca-certificates -f\n\n"); - bool res; + BOOL res; printf("Setting CertPath to %s...\n",ParamValue); res = lpaSetConfigParameter("CertPath",LPA_PARAMETER_TYPE_STRING,ParamValue); @@ -767,9 +769,9 @@ void SampleLPA_SetParameter_CertPath(char *ParamValue) -void SampleLPA_SetParameter_deviceInfoTlv() +void SampleLPA_SetParameter_deviceInfoTlv(void) { - bool res; + BOOL res; char ParamValue[132] = { 0 }; strcpy(ParamValue,"A13F800411223344A12D800302000081030000008203000000830300000084030000008503000000860300000087030000008803020000820835374589362765F6"); printf("Setting deviceInfoTlv to %s...\n",ParamValue); @@ -781,8 +783,8 @@ void SampleLPA_SetParameter_deviceInfoTlv() void SampleLPA_SetRefreshParameter(bool inputParamValue) { - bool res; - bool ParamValue; + BOOL res; + BOOL ParamValue; res = lpaGetConfigParameter("profileRefreshFlag",LPA_PARAMETER_TYPE_BOOL,&ParamValue,1); if(res) printf("profileRefreshFlag is currently set to %s\n", (ParamValue ? "true" : "false")); printf("Setting profileRefreshFlag to %s...\n",(inputParamValue ? "true" : "false")); @@ -833,7 +835,7 @@ void lpaEventExecutionErrorNotificationFunction(const void* ptrAppParameter, con printf("\t Error Extra Info: %s\n",ptrEventExecutionErrorInfo->ptrErrorExtraInfo); } -bool lpaEventRequestConfirmationCodeFunction(const void * ptrAppParameter, LPA_REQUEST_CONFIRMATION_CODE* ptrRequestConfirmationCode) +BOOL lpaEventRequestConfirmationCodeFunction(const void * ptrAppParameter, LPA_REQUEST_CONFIRMATION_CODE* ptrRequestConfirmationCode) { printf("\n\tThis is the lpaEventCallback._lpaEventRequestConfirmationCode function!\n"); printf("\tPlease enter confirmation code : "); @@ -852,7 +854,7 @@ bool lpaEventRequestConfirmationCodeFunction(const void * ptrAppParameter, LPA_R return(true); } -bool lpaEventRequestUserConsentFunction(const void * ptrAppParameter, LPA_REQUEST_USER_CONSENT_FOR_LOADING_PROFILE* ptrRequestUserConsentForLoadingProfile) +BOOL lpaEventRequestUserConsentFunction(const void * ptrAppParameter, LPA_REQUEST_USER_CONSENT_FOR_LOADING_PROFILE* ptrRequestUserConsentForLoadingProfile) { //int trials = 5; char choice; @@ -953,7 +955,7 @@ bool lpaEventRequestUserConsentFunction(const void * ptrAppParameter, LPA_REQUES void lpaEventDisplayIncomingProfileInformationFunction(const void * ptrAppParameter, size_t eventType, LPA_EVENT_INCOMING_PROFILE_INFORMATION* ptrIncomingProfileInformation) { - ssize_t indexIcon = 0; + size_t indexIcon = 0; unsigned char iccidStr[2*LPA_PROFILE_ICCID_BUFFER_MAX_SIZE+1] = {0}; printf("\nInformation from lpaEventCallback._lpaEventDisplayIncomingProfileInformation function:\n"); @@ -1008,13 +1010,13 @@ LPA_API_ERROR SampleLPA_DownloadProfile(const char* ActivationCodeStr) lpaEventCallback._lpaEventProgressText = lpaEventTextNotificationFunction; lpaEventCallback._lpaEventExecutionError = lpaEventExecutionErrorNotificationFunction; lpaEventCallback._lpaEventRequestConfirmationCode = lpaEventRequestConfirmationCodeFunction; - lpaEventCallback._lpaEventRequestUserConsentForLoadingProfile= lpaEventRequestUserConsentFunction; + lpaEventCallback._lpaEventRequestUserConsentForLoadingProfile = (LPA_EVENT_REQUEST_USER_CONSENT_FOR_LOADING_PROFILE)lpaEventRequestUserConsentFunction; lpaEventCallback._lpaEventDisplayIncomingProfileInformation = lpaEventDisplayIncomingProfileInformationFunction; printf("\nStarting Profile Download\n"); printf("ActivationCode = %s\n",ActivationCode); //sp5kSystemCfgSet(SP5K_SYS_VFP_ENABLE, 1); - bool res = lpaDownloadProfile(ActivationCode, &lpaEventCallback, &downloadProfileResult); + BOOL res = lpaDownloadProfile(ActivationCode, &lpaEventCallback, &downloadProfileResult); //sp5kSystemCfgSet(SP5K_SYS_VFP_ENABLE, 0); printf("lpaDownloadProfile API returned %s\n", (res ? "true" : "false")); @@ -1030,7 +1032,7 @@ LPA_API_ERROR SampleLPA_DownloadProfile(const char* ActivationCodeStr) } -bool SampleLPA_DownloadProfile_SMDS() +BOOL SampleLPA_DownloadProfile_SMDS(void) { LPA_DOWNLOAD_PROFILE_RESULT downloadProfileResult; LPA_EventCallback lpaEventCallback; @@ -1040,12 +1042,12 @@ bool SampleLPA_DownloadProfile_SMDS() lpaEventCallback._lpaEventProgressValue = lpaEventValueNotificationFunction; lpaEventCallback._lpaEventProgressText = lpaEventTextNotificationFunction; lpaEventCallback._lpaEventExecutionError = lpaEventExecutionErrorNotificationFunction; - lpaEventCallback._lpaEventRequestConfirmationCode = (LPA_EVENT_REQUEST_CONFIRMATION_CODE)lpaEventRequestConfirmationCodeFunction; + lpaEventCallback._lpaEventRequestConfirmationCode = lpaEventRequestConfirmationCodeFunction; //lpaEventCallback._lpaEventRequestUserConsentForLoadingProfile= NULL; lpaEventCallback._lpaEventDisplayIncomingProfileInformation = lpaEventDisplayIncomingProfileInformationFunction; printf("\nStarting Profile Download using the discovery mechanism (SM-DS)\n"); - bool res = lpaDownloadProfileWithSMDSAddress(&lpaEventCallback, &downloadProfileResult); + BOOL res = lpaDownloadProfileWithSMDSAddress(&lpaEventCallback, &downloadProfileResult); printf("lpaDownloadProfileWithSMDSAddress API returned %s\n", (res ? "true" : "false")); if(!res) @@ -1058,7 +1060,7 @@ bool SampleLPA_DownloadProfile_SMDS() return(res); } -bool SampleLPA_DownloadProfile_defaultSMDP() +BOOL SampleLPA_DownloadProfile_defaultSMDP(void) { LPA_DOWNLOAD_PROFILE_RESULT downloadProfileResult; LPA_EventCallback lpaEventCallback; @@ -1068,12 +1070,12 @@ bool SampleLPA_DownloadProfile_defaultSMDP() lpaEventCallback._lpaEventProgressValue = lpaEventValueNotificationFunction; lpaEventCallback._lpaEventProgressText = lpaEventTextNotificationFunction; lpaEventCallback._lpaEventExecutionError = lpaEventExecutionErrorNotificationFunction; - lpaEventCallback._lpaEventRequestConfirmationCode = (LPA_EVENT_REQUEST_CONFIRMATION_CODE)lpaEventRequestConfirmationCodeFunction; + lpaEventCallback._lpaEventRequestConfirmationCode = lpaEventRequestConfirmationCodeFunction; //lpaEventCallback._lpaEventRequestUserConsentForLoadingProfile= NULL; lpaEventCallback._lpaEventDisplayIncomingProfileInformation = lpaEventDisplayIncomingProfileInformationFunction; printf("\nStarting Profile Download using the default SM-DP+\n"); - bool res = lpaDownloadProfileWithDefaultSMDPAddress(&lpaEventCallback, &downloadProfileResult); + BOOL res = lpaDownloadProfileWithDefaultSMDPAddress(&lpaEventCallback, &downloadProfileResult); printf("lpaDownloadProfileWithDefaultSMDPAddress API returned %s\n", (res ? "true" : "false")); if(!res) @@ -1086,12 +1088,12 @@ bool SampleLPA_DownloadProfile_defaultSMDP() return(res); } -bool SampleLPA_GetProfilesInfo(LPA_GET_PROFILES_INFO* getProfilesInfo) +BOOL SampleLPA_GetProfilesInfo(LPA_GET_PROFILES_INFO* getProfilesInfo) { size_t NbOfProfilesForMemAlloc; size_t ActualNbOfProfiles; - bool res_1; - bool res_2; + BOOL res_1; + BOOL res_2; res_1 = lpaGetProfilesNumber( &ActualNbOfProfiles ); printf("\nlpaGetProfilesNumber API returned %s\n", (res_1 ? "true" : "false")); @@ -1297,42 +1299,42 @@ void SampleLPA_DisplayProfilesInfoSimplified(LPA_GET_PROFILES_INFO getProfilesIn printf("\n"); } -bool SampleLPA_EnableProfile(unsigned char* ProfileIdByteArray, size_t ProfileIdByteArraySize) +BOOL SampleLPA_EnableProfile(unsigned char* ProfileIdByteArray, size_t ProfileIdByteArraySize) { unsigned char IccidStr[2*LPA_PROFILE_ICCID_BUFFER_MAX_SIZE+1] = {0}; SampleLPA_GetIccidStr(IccidStr,ProfileIdByteArray,ProfileIdByteArraySize); printf("\nEnabling Profile %s...\n",IccidStr); - bool res = lpaEnableProfileByIccid(ProfileIdByteArray,ProfileIdByteArraySize); + BOOL res = lpaEnableProfileByIccid(ProfileIdByteArray,ProfileIdByteArraySize); printf("Operation for enabling profile %s.\n", (res ? "is successful" : "has failed")); if(!res) printf("=> Error code: %s\n", lpaGetErrorCodeDescription(lpaGetErrorCode())); return(res); } -bool SampleLPA_DisableProfile(unsigned char* ProfileIdByteArray, size_t ProfileIdByteArraySize) +BOOL SampleLPA_DisableProfile(unsigned char* ProfileIdByteArray, size_t ProfileIdByteArraySize) { unsigned char IccidStr[2*LPA_PROFILE_ICCID_BUFFER_MAX_SIZE+1] = {0}; SampleLPA_GetIccidStr(IccidStr,ProfileIdByteArray,ProfileIdByteArraySize); printf("\nDisabling Profile %s...\n",IccidStr); - bool res = lpaDisableProfileByIccid(ProfileIdByteArray,ProfileIdByteArraySize); + BOOL res = lpaDisableProfileByIccid(ProfileIdByteArray,ProfileIdByteArraySize); printf("Operation for disabling profile %s.\n", (res ? "is successful" : "has failed")); if(!res) printf("=> Error code: %s\n", lpaGetErrorCodeDescription(lpaGetErrorCode())); return(res); } -bool SampleLPA_DeleteProfile(unsigned char* ProfileIdByteArray, size_t ProfileIdByteArraySize) +BOOL SampleLPA_DeleteProfile(unsigned char* ProfileIdByteArray, size_t ProfileIdByteArraySize) { unsigned char IccidStr[2*LPA_PROFILE_ICCID_BUFFER_MAX_SIZE+1] = {0}; SampleLPA_GetIccidStr(IccidStr,ProfileIdByteArray,ProfileIdByteArraySize); printf("\nDeleting Profile %s...\n",IccidStr); - bool res = lpaDeleteProfileByIccid(ProfileIdByteArray,ProfileIdByteArraySize); + BOOL res = lpaDeleteProfileByIccid(ProfileIdByteArray,ProfileIdByteArraySize); printf("Profile deletion %s.\n", (res ? "is successful" : "has failed")); if(!res) printf("=> Error code: %s\n", lpaGetErrorCodeDescription(lpaGetErrorCode())); return(res); @@ -1353,10 +1355,10 @@ void SampleLPA_SetNickname(unsigned char* ProfileIdByteArray, size_t ProfileIdBy #else int c=0; while(c!='\n') c=getchar(); - fgets(Nickname,sizeof(Nickname),stdin); - if(strstr(Nickname,"\n") != NULL) + fgets((char*)Nickname,sizeof(Nickname),stdin); + if(strstr((char*)Nickname,"\n") != NULL) { - *strstr(Nickname,"\n")='\0'; + *strstr((char*)Nickname,"\n")='\0'; } else { @@ -1364,7 +1366,7 @@ void SampleLPA_SetNickname(unsigned char* ProfileIdByteArray, size_t ProfileIdBy while(c!='\n') c=getchar(); } #endif - bool res = lpaSetNicknameByIccid(ProfileIdByteArray,ProfileIdByteArraySize,Nickname,strlen((const char *)Nickname)); + BOOL res = lpaSetNicknameByIccid(ProfileIdByteArray,ProfileIdByteArraySize,Nickname,strlen((const char *)Nickname)); printf("Call to lpaSetNicknameByIccid() %s.\n", (res ? "was successful" : "has failed")); if(!res) printf("=> Error code: %s\n", lpaGetErrorCodeDescription(lpaGetErrorCode())); } @@ -1389,7 +1391,7 @@ LPA_API_ERROR SampleLPA_SendPendingNotifications(void) printf("\nStarting sending pending notifications\n"); // system("date +%H:%M:%S:%N"); - bool res = lpaSendPendingNotification(&lpaEventCallback, &sendingNotificationResult); + BOOL res = lpaSendPendingNotification(&lpaEventCallback, &sendingNotificationResult); // system("date +%H:%M:%S:%N"); printf("lpaSendPendingNotification API returned %s\n", (res ? "true" : "false")); if(res) @@ -1411,12 +1413,12 @@ LPA_API_ERROR SampleLPA_SendPendingNotifications(void) -bool SampleLPA_MemoryReset() +BOOL SampleLPA_MemoryReset(void) { const unsigned char memoryResetOptionParameter[] = {0x05,0xE0}; printf("\nStarting Memory Reset\n"); - bool res = lpaMemoryReset(memoryResetOptionParameter,sizeof(memoryResetOptionParameter)); + BOOL res = lpaMemoryReset(memoryResetOptionParameter,sizeof(memoryResetOptionParameter)); printf("lpaMemoryReset API returned %s\n", (res ? "true" : "false")); if(!res) printf("=> Error code: %s\n", lpaGetErrorCodeDescription(lpaGetErrorCode())); return(res); @@ -1552,7 +1554,7 @@ UINT32 sf_get_profile_active(LPA_GET_PROFILES_INFO getProfilesInfo, LPA_PROFILE_ UINT32 sf_profile_active_change(LPA_GET_PROFILES_INFO getProfilesInfo) { - bool res = 0; + BOOL res = 0; size_t indexProfile = 0; unsigned char IccidStr[2*LPA_PROFILE_ICCID_BUFFER_MAX_SIZE+1] = {0}; LPA_PROFILE_INFO *profileData = (LPA_PROFILE_INFO*) getProfilesInfo.profileInfoList; @@ -1676,7 +1678,7 @@ UINT32 sf_get_profile_active_index(UINT8 *index) LPA_API_ERROR sf_enable_profile(UINT8 indexProfiles) { unsigned char IccidStr[2*LPA_PROFILE_ICCID_BUFFER_MAX_SIZE+1]; - bool res = 0; + BOOL res = 0; LPA_API_ERROR errCode = LPA_NO_ERROR; if(indexProfiles < getProfilesInfo.countProfileInfo) @@ -1711,7 +1713,7 @@ LPA_API_ERROR sf_lpa_enable_profile_from_iccid(const SINT8* iccid) LPA_API_ERROR errCode = SF_LPA_CUSTOM_ERROR_INVALID_ICCID; UINT8 indexProfile = 0; UINT8 retry = 6; - bool res = 0; + BOOL res = 0; printf("enable profile from ICCID\n"); @@ -1779,7 +1781,7 @@ LPA_API_ERROR sf_lpa_delete_profile_from_iccid(const SINT8* iccid) UINT8 iccidStr[2 * LPA_PROFILE_ICCID_BUFFER_MAX_SIZE + 1] = {0}; LPA_API_ERROR errCode = SF_LPA_CUSTOM_ERROR_INVALID_ICCID; UINT8 indexProfile = 0; - bool res = 0; + BOOL res = 0; printf("delete profile from ICCID\n"); @@ -1831,7 +1833,7 @@ LPA_API_ERROR sf_lpa_set_smdp_addr(const char* smdpAddr) { LPA_API_ERROR errCode = LPA_NO_ERROR; - bool res = lpaSetDefaultSMDPAddress(smdpAddr); + BOOL res = lpaSetDefaultSMDPAddress(smdpAddr); printf("lpaSetDefaultSMDPAddress API returned %s\n", (res ? "true" : "false")); if(res) @@ -1955,7 +1957,7 @@ UINT8 sf_is_esim_init_finish(void) void sf_lpa_profile_info_refresh(void) { - bool ret = false; + BOOL ret = false; memset(&ProfileActive, 0, sizeof(LPA_PROFILE_INFO)); memset(&getProfilesInfo, 0, sizeof(LPA_GET_PROFILES_INFO)); @@ -1991,7 +1993,7 @@ void sf_lpa_profile_info_refresh(void) void sf_sample_lpa_thread(void) { - bool res; + BOOL res; const LPA_API_VERSION* lpaApiVersion; char* ActivationCodeStr_local_default="1$smdp-plus.test.gsma.com$default"; @@ -2824,7 +2826,7 @@ struct ThreadArgs UINT8 arg2; }; -void sf_operator_scan_thread(void* args) +void *sf_operator_scan_thread(void* args) { printf("scan network.\n"); struct ThreadArgs* myArgs = (struct ThreadArgs*)args; @@ -2903,7 +2905,7 @@ void sf_operator_scan_thread(void* args) pMsgParse->msgBuf.rctrlNetworkScan.buff[1] = 0xff; pOperatorInfo = (Operator_Info_T *)&(pMsgParse->msgBuf.rctrlNetworkScan.buff[2]); - sf_get_operatorname(OperatorNameL); + sf_get_operatorname((char*)OperatorNameL); for(i = 0; i < totalOperator; i++) { @@ -3100,7 +3102,7 @@ SF_BOOL sf_get_active_profile_next_index(UINT8 *index) return TRUE; } -void sf_network_select_thread(void* args) +void *sf_network_select_thread(void* args) { struct ThreadArgs* myArgs = (struct ThreadArgs*)args; printf("select network, PID:%d\n", myArgs->arg1); @@ -3340,7 +3342,7 @@ void sf_network_select_thread(void* args) sf_com_message_send_to_cardv(&stMessageBuf); } -#if ((!SF_IQ_DEBUG)&&(!SF_4G_TEST)) +#if 1//((!SF_IQ_DEBUG)&&(!SF_4G_TEST)) if(errCode == CMD_SUCCESS) { sf_clear_operatorname(); @@ -3359,6 +3361,7 @@ void sf_network_select_thread(void* args) } #endif + printf("%s(%d) ret:%d\n",__FUNCTION__,__LINE__,ret); NetSelectTskCfg.IsRun = 0; } @@ -3385,7 +3388,7 @@ SINT32 sf_network_select(UINT8 profileId, UINT8 ctlType) } -void sf_network_switch_thread() +void *sf_network_switch_thread(void* args) { SLOGD("switch network.\n"); UINT32 ret = SF_LPA_SUCCESS; @@ -3482,21 +3485,21 @@ void sf_network_switch_thread() } if(lpaErrCode == LPA_ERROR_LOCAL_PROFILE_CAT_BUSY) - { - sf_sms_lpa_command_log(NULL, SF_SMS_LPA_CMD_FAIL, lpaErrCode, SF_SMS_LPA_CMD_ERROR_SOURCE_ESIM); - ret = SF_LPA_ERROR_PROFILE_CAT_BUSY; - } - else if(lpaErrCode == LPA_NO_ERROR) - { - sf_lpa_profile_info_refresh(); - sf_sms_lpa_command_log(NULL, SF_SMS_LPA_CMD_SUCCESS, lpaErrCode, SF_SMS_LPA_CMD_ERROR_SOURCE_OTHER); - ret = SF_LPA_SUCCESS; - } - else - { - sf_sms_lpa_command_log(NULL, SF_SMS_LPA_CMD_FAIL, lpaErrCode, SF_SMS_LPA_CMD_ERROR_SOURCE_ESIM); - ret = SF_LPA_FAIL; - } + { + sf_sms_lpa_command_log(NULL, SF_SMS_LPA_CMD_FAIL, lpaErrCode, SF_SMS_LPA_CMD_ERROR_SOURCE_ESIM); + ret = SF_LPA_ERROR_PROFILE_CAT_BUSY; + } + else if(lpaErrCode == LPA_NO_ERROR) + { + sf_lpa_profile_info_refresh(); + sf_sms_lpa_command_log(NULL, SF_SMS_LPA_CMD_SUCCESS, lpaErrCode, SF_SMS_LPA_CMD_ERROR_SOURCE_OTHER); + ret = SF_LPA_SUCCESS; + } + else + { + sf_sms_lpa_command_log(NULL, SF_SMS_LPA_CMD_FAIL, lpaErrCode, SF_SMS_LPA_CMD_ERROR_SOURCE_ESIM); + ret = SF_LPA_FAIL; + } //clear lpa switch flag. sf_set_lpa_switch_flag(0); @@ -3545,6 +3548,7 @@ void sf_network_switch_thread() sf_sys_status_led_set(SF_SIM_ERROR_SWITCH_PROFILE); } + printf("%s(%d) ret:%d\n",__FUNCTION__,__LINE__,ret); } @@ -3566,13 +3570,13 @@ SINT32 sf_lpa_get_esim_iccid(SF_CHAR iccid[][22]) for (indexProfile = 0; indexProfile < getProfilesInfo.countProfileInfo; indexProfile++) { - if(strstr(ProfileData[indexProfile].profileName, "ATT")) + if(strstr((char*)ProfileData[indexProfile].profileName, "ATT")) { SampleLPA_GetIccidStr(iccidStr, ProfileData[indexProfile].iccid, ProfileData[indexProfile].iccidSize); SF_STRCPY(iccid[1], iccidStr); SLOGI("ATT-Iccid:%s\n", iccid[1]); } - else if(strstr(ProfileData[indexProfile].profileName, "Verizon")) + else if(strstr((char*)ProfileData[indexProfile].profileName, "Verizon")) { SampleLPA_GetIccidStr(iccidStr, ProfileData[indexProfile].iccid, ProfileData[indexProfile].iccidSize); SF_STRCPY(iccid[0], iccidStr);