static ae_error_t init_log_file(void) { char filename[MAX_PATH]; ae_error_t err = aesm_get_pathname(FT_PERSISTENT_STORAGE, AESM_DBG_LOG_FID, filename, MAX_PATH); if(err != AE_SUCCESS) return err; return AE_SUCCESS; }
static pse_op_error_t copy_prebuild_vmc_db() { char prebuild_vmc_db_path[MAX_PATH] = {0}; char vmc_db_path[MAX_PATH] = {0}; if(aesm_get_pathname(FT_PERSISTENT_STORAGE, VMC_DATABASE_PREBUILD_FID, prebuild_vmc_db_path, MAX_PATH) != AE_SUCCESS) { return OP_ERROR_COPY_PREBUILD_DB; } if(aesm_get_pathname(FT_PERSISTENT_STORAGE, VMC_DATABASE_FID, vmc_db_path, MAX_PATH) != AE_SUCCESS) { return OP_ERROR_COPY_PREBUILD_DB; } if(se_copy_file(vmc_db_path, prebuild_vmc_db_path)!=0){ return OP_ERROR_COPY_PREBUILD_DB; } return OP_SUCCESS; }
pse_op_error_t sqlite_rollback_db_file() { char backup_vmc_db_path[MAX_PATH] = {0}; char vmc_db_path[MAX_PATH] = {0}; if(aesm_get_pathname(FT_PERSISTENT_STORAGE, VMC_DATABASE_BK_FID, backup_vmc_db_path, MAX_PATH) != AE_SUCCESS) { return OP_ERROR_BACKUP_CURRENT_DB; } if(aesm_get_pathname(FT_PERSISTENT_STORAGE, VMC_DATABASE_FID, vmc_db_path, MAX_PATH) != AE_SUCCESS) { return OP_ERROR_BACKUP_CURRENT_DB; } if(se_copy_file(vmc_db_path, backup_vmc_db_path)!=0){ return OP_ERROR_BACKUP_CURRENT_DB; } return OP_SUCCESS; }
ae_error_t aesm_read_data(aesm_data_type_t type, aesm_data_id_t data_id, uint8_t *buf, uint32_t *p_size, uint32_t xgid) { char pathname[MAX_PATH]; ae_error_t ret = AE_SUCCESS; const persistent_storage_info_t *info = get_persistent_storage_info(data_id); if(info == NULL) return OAL_PARAMETER_ERROR; if(info->access == AESM_FILE_ACCESS_PATH_ONLY) return OAL_PARAMETER_ERROR; ret = aesm_get_pathname(type, data_id, pathname, MAX_PATH, xgid);//currently all in file if(ret != AE_SUCCESS) return ret; if((ret=aesm_read_file(buf, *p_size, pathname, true))!=AE_SUCCESS) return ret; return AE_SUCCESS; }
ae_error_t upsePersistentStorage::Delete(aesm_data_id_t data_id) { ae_error_t status = AESM_PSE_PR_PERSISTENT_STORAGE_DELETE_ERROR; do { char filepath[MAX_PATH]; ae_error_t delerror = aesm_get_pathname(FT_PERSISTENT_STORAGE, data_id, filepath, MAX_PATH); if (AE_SUCCESS != delerror) { break; } if (0 != se_delete_tfile(filepath)) { break; } status = AE_SUCCESS; } while (0); return status; }
ae_error_t aesm_query_data_size(aesm_data_type_t type, aesm_data_id_t data_id, uint32_t *p_size, uint32_t xgid) { char pathname[MAX_PATH]; ae_error_t ret = AE_SUCCESS; const persistent_storage_info_t *info = get_persistent_storage_info(data_id); if(info == NULL) return OAL_PARAMETER_ERROR; if(info->access == AESM_FILE_ACCESS_PATH_ONLY) return OAL_PARAMETER_ERROR; ret = aesm_get_pathname(type, data_id, pathname, MAX_PATH, xgid);//currently all in file if(ret != AE_SUCCESS) return ret; struct stat stat_info; if(stat(pathname, &stat_info)!=0){//Maybe file has not been created *p_size = 0; return AE_SUCCESS; } *p_size = (uint32_t)stat_info.st_size; return AE_SUCCESS; }
//alias function for aesm_get_pathname ae_error_t aesm_get_cpathname(aesm_data_type_t type, aesm_data_id_t id, char *buf, uint32_t buf_size, uint32_t xgid) { return aesm_get_pathname(type, id, buf, buf_size, xgid); }