Beispiel #1
0
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;
}
Beispiel #4
0
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;
}
Beispiel #5
0
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;
}
Beispiel #6
0
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;
}
Beispiel #7
0
//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);
}