/* * Copyright (c) Hisilicon Technologies Co., Ltd.. 2020-2020. All rights reserved. * Description: baseparam database operation function * Author: Hisilicon * Create: 2020-4-6 */ #ifndef DRV_PDM_DB_H__ #define DRV_PDM_DB_H__ #include "td_type.h" #ifdef __cplusplus extern "C" { #endif #define EXT_DB_CHECK_LEN 4 #define EXT_DB_MAX_SIZE (12*1024) #define EXT_DB_MAX_NAME_LEN 32 typedef struct { td_u32 data_len; td_u8 *data; } ext_db; typedef struct { ext_db *db; td_char name[EXT_DB_MAX_NAME_LEN]; td_u32 data_size; td_u8 *data; } ext_db_table; typedef struct { td_char name[EXT_DB_MAX_NAME_LEN]; td_u32 value_size; td_void *value; } ext_db_key; td_s32 ext_db_create(ext_db *db); td_s32 ext_db_destroy(ext_db *db); td_s32 ext_db_get_db_from_mem(td_u8 *db_mem, ext_db *db); td_s32 ext_db_insert_table(ext_db *db, ext_db_table *table); td_s32 ext_db_delete_table(ext_db *db, td_char table_name[]); td_s32 ext_db_get_table_by_name(ext_db *db, td_char table_name[], ext_db_table *table); td_s32 ext_db_insert_key(ext_db_table *table, ext_db_key *key); td_s32 ext_db_delete_key(ext_db_table *table, td_char key_name[]); td_s32 ext_db_get_key_by_name(ext_db_table *table, td_char *key_name, td_u32 key_len, ext_db_key *key); #ifdef __cplusplus } #endif #endif