/* * 模块名称:prot_set_store * 模块功能:保护定值持久化胶水(B7)——把 prot_set 的纯逻辑 blob * (prot_set_store_serialize/parse)落到 cfg 存储后端的 * "/prot_set.bin"(MCU = NAND/FatFs 原子写,模拟器 = 宿主文件系统)。 * 装载在 defaultTask 存储 bring-up(STORAGE_READY 前); * 落盘在 defaultTask(配置引擎属主,iec104Task 经 * SYS_EVT_PROT_SET_SAVE 投递请求,本模块只被属主调用)。 * 适用平台:双端接口(MCU 与模拟器共用 cfg_file_store 抽象) * 创建日期:2026-10-12(B7) */ #ifndef PROT_SET_STORE_H #define PROT_SET_STORE_H /* * 函数功能:开机装载定值 blob(整表原子,all-or-nothing) * 返回值:0 - 已装载;1 - 文件缺失(首启正常,保持出厂默认); * -1 - blob 损坏/越界被拒(保持出厂默认,调用方留痕) * 限定条件:仅 defaultTask、卷已挂载(storage_bring_up 内调用) */ int prot_set_store_load(void); /* * 函数功能:落盘当前定值(内部先消费脏标志;无改动 = 空操作返回 0) * 返回值:0 - 无待写或写成功;-1 - 写失败(脏标志已回置,等下轮重试) * 限定条件:仅 defaultTask 调用(配置引擎属主;原子写 = 临时文件 + rename, * 与 /config.ini 共用同目录 config.TMP——两者都在本任务串行执行,无并发) */ int prot_set_store_save(void); #endif /* PROT_SET_STORE_H */