WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
log_file.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: offline log file saved to the storage
4 */
5
6#ifndef LOG_FILE_H
7#define LOG_FILE_H
8
9#include <stdint.h>
10#include "errcode.h"
11#include "dfx_feature_config.h"
12
13/*
14 * 文件类型名
15 */
16#if defined(CONFIG_DFX_STORE_DIAG_ONLY) && (CONFIG_DFX_STORE_DIAG_ONLY == DFX_YES)
17typedef enum {
21#else
28#endif
29
30/*
31 * 文件头存储信息
32 */
33typedef struct {
34 uint32_t start_flag; /* 固定为0xaabbccdd */
35 uint32_t version; /* 版本号 */
36 uint32_t update_time; /* 多文件存储时进行判别文件顺序,可以是时间戳等 */
37 uint32_t cur_pos; /* 将要写入的文件位置 */
38 uint32_t file_size; /* service设置的文件最大字节数 */
39 uint32_t first_record_pos; /* 本文件第一个有效的record */
40 uint32_t records; /* 当前文件的记录条数 */
41 uint8_t service_type; /* 业务类型, 对应store_service */
42 uint8_t offset; /* head size; 即文件中记录区的起始位置 */
43 uint16_t crc; /* 文件头的CRC校验 */
45
46/*
47 * 日志存储格式信息
48 */
49typedef struct {
50 const char *name; /* 文件名字,多文件存储时,会在name后面增加后缀_0 、_1 ... */
51 const char *path; /* 文件所在目录,以‘/’结尾 */
52 uint32_t file_size; /* 每个文件的最大容量 unit:字节 */
53 uint16_t cache_size; /* 初始创建文件时申请缓存大小; 关闭、删除文件时释放 */
54 uint8_t enable_cache; /* 是否支持缓存 */
55 uint8_t mult_files; /* 支持的存储文件个数, 为1时表示单文件存储 */
57
58/*
59 * 离线存储功能初始化
60 */
62
63/*
64 * 打开日志存放的文件
65 * service_type 文件类型
66 * cfg 存储格式信息
67 */
69
70/*
71 * 写日志到已打开的文件中
72 * service_type 文件类型
73 * sub_type 存储硬件类型
74 * data 日志数据的指针
75 * data_len 日志数据的长度
76 */
77errcode_t uapi_logfile_write(store_service_t service_type, uint8_t sub_type, uint8_t *data, uint32_t data_len);
78
79/*
80 * 关闭日志存放的文件,并摧毁线程,关闭定时器,释放使用者分配的缓存
81 * service_type 文件类型
82 */
84
85/*
86 * 同步离线日志文件数据
87 */
89
90/*
91 * 暂时停止日志文件的写入(资源不释放,暂时不再接受日志的写入,和对flash的操作)
92 * service_type 文件类型
93 */
95
96/*
97 * 恢复日志文件的写入
98 * service_type 文件类型
99 */
101
102/*
103 * 日志文件重置(删除或擦除日志文件)
104 * service_type 文件类型
105 * cfg 存储格式信息
106 */
108
109#endif /* LOG_FILE_H */
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
store_service_t
Definition log_file.h:22
@ STORE_MAX
Definition log_file.h:26
@ STORE_DIAG
Definition log_file.h:23
@ STORE_DOTTING
Definition log_file.h:25
@ STORE_DUMP
Definition log_file.h:24
errcode_t uapi_logfile_fsync(store_service_t service_type)
Definition log_file.c:470
errcode_t uapi_logfile_resume(store_service_t service_type)
Definition log_file.c:503
errcode_t uapi_logfile_close(store_service_t service_type)
Definition log_file.c:455
errcode_t uapi_logfile_reset(store_service_t service_type, store_file_cfg_t *cfg)
Definition log_file.c:516
errcode_t uapi_logfile_init(void)
Definition log_file.c:345
errcode_t uapi_logfile_write(store_service_t service_type, uint8_t sub_type, uint8_t *data, uint32_t data_len)
Definition log_file.c:329
errcode_t uapi_logfile_open(store_service_t service_type, const store_file_cfg_t *cfg)
Definition log_file.c:407
errcode_t uapi_logfile_suspend(store_service_t service_type)
Definition log_file.c:490
Definition log_file.h:49
uint8_t mult_files
Definition log_file.h:55
const char * name
Definition log_file.h:50
uint8_t enable_cache
Definition log_file.h:54
uint16_t cache_size
Definition log_file.h:53
const char * path
Definition log_file.h:51
uint32_t file_size
Definition log_file.h:52
Definition log_file.h:33
uint16_t crc
Definition log_file.h:43
uint32_t start_flag
Definition log_file.h:34
uint8_t service_type
Definition log_file.h:41
uint32_t first_record_pos
Definition log_file.h:39
uint32_t update_time
Definition log_file.h:36
uint32_t file_size
Definition log_file.h:38
uint32_t version
Definition log_file.h:35
uint8_t offset
Definition log_file.h:42
uint32_t records
Definition log_file.h:40
uint32_t cur_pos
Definition log_file.h:37
Definition hal_uart_v151_regs_def.h:38