主备配置
作者:
遇银 | 来源:发表于
2021-06-17 10:09 被阅读0次
#define CFG_NUM_MAX 100 //配置最大数目
typedef struct
{
}module_run_cfg_s; //配置存储结构体
static u32 gs_module_run_used[CFG_NUM_MAX]; //主备标识
static module_run_cfg_s gs_module_run_info[2][CFG_NUM_MAX];
/* 获取运行时配置 */
module_run_cfg_s *module_get_run_time_cfg(u32 cfg_id)
{
u32 used_id;
module_run_cfg_s *run_time_cfg = NULL;
//cfg_id校验
if(cfg_id > CFG_NUM_MAX)
{
return NULL;
}
used_id = gs_module_run_used[cfg_id];
run_time_cfg = gs_module_run_info[used_id][cfg_id];
return run_time_cfg;
}
/* 更新运行时配置,参数结构体用户自定义 */
s32 module_update_run_time_cfg(module_run_cfg_s *cfg_data)
{
s32 ret = 0;
u32 backup_id;
module_run_cfg_s *backup_cfg = NULL;
u32 cfg_id = cfg_data->id;
backup_id = !gs_module_run_used[cfg_id];
backup_cfg = gs_module_run_info[backup_id][cfg_id];
/* 更新操作 */
/* 备切换成主 */
gs_module_run_used[cfg_id] = backup_id;
return ret;
}
本文标题:主备配置
本文链接:https://www.haomeiwen.com/subject/vqoqyltx.html
网友评论