68 lines
1.8 KiB
C
68 lines
1.8 KiB
C
/*
|
|
* Copyright (c) @CompanyNameMagicTag 2021-2023. All rights reserved.
|
|
* Description: zdiag msg
|
|
* This file should be changed only infrequently and with great care.
|
|
*/
|
|
|
|
#include "diag_msg.h"
|
|
#include "diag_pkt_router.h"
|
|
#include "dfx_adapt_layer.h"
|
|
#include "errcode.h"
|
|
#include "log_file.h"
|
|
#include "debug_print.h"
|
|
|
|
static bool g_offline_log_enable = false;
|
|
|
|
void uapi_zdiag_set_offline_log_enable(bool enable)
|
|
{
|
|
#if CONFIG_DFX_SUPPORT_OFFLINE_LOG_FILE == DFX_YES
|
|
if (g_offline_log_enable == enable) {
|
|
return;
|
|
}
|
|
|
|
if (enable) {
|
|
store_file_cfg_t cfg = {0};
|
|
errcode_t ret;
|
|
|
|
cfg.mult_files = DFX_OFFLINE_LOG_MUTI_FILE_NUM;
|
|
cfg.cache_size = DFX_OFFLINE_LOG_CACHE_SIZE;
|
|
cfg.enable_cache = DFX_OFFLINE_LOG_CACHE_ENABLE;
|
|
cfg.file_size = DFX_OFFLINE_LOG_FILE_SIZE;
|
|
cfg.path = DFX_OFFLINE_LOG_PATH;
|
|
cfg.name = DFX_OFFLINE_LOG_NAME;
|
|
|
|
ret = uapi_logfile_open(STORE_DIAG, &cfg);
|
|
if (ret != ERRCODE_SUCC && ret != ERRCODE_DFX_LOGFILE_ALREADY_OPEN) {
|
|
dfx_log_err("open logfile %s failed. ret = 0x%x\r\n", cfg.name, ret);
|
|
return;
|
|
}
|
|
g_offline_log_enable = enable;
|
|
} else {
|
|
g_offline_log_enable = enable;
|
|
(void)uapi_logfile_close(STORE_DIAG);
|
|
}
|
|
#else
|
|
unused(enable);
|
|
g_offline_log_enable = false;
|
|
#endif
|
|
}
|
|
|
|
bool uapi_zdiag_offline_log_is_enable(void)
|
|
{
|
|
#if CONFIG_DFX_SUPPORT_OFFLINE_LOG_FILE == DFX_YES
|
|
return g_offline_log_enable;
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
errcode_t diag_msg_proc(uint16_t msg_id, uint8_t *msg, uint32_t msg_len)
|
|
{
|
|
switch (msg_id) {
|
|
case DFX_MSG_ID_DIAG_PKT:
|
|
diag_pkt_msg_proc(msg_id, msg, (uint32_t)msg_len);
|
|
return ERRCODE_SUCC;
|
|
default:
|
|
return ERRCODE_NOT_SUPPORT;
|
|
}
|
|
} |