?? cli_log.inc
字號:
/************************************************************************
Copyright 200X - 200X+1.
filename : Cli_Log.inc
description : 日志記錄的私有頭文件.
author : Woodhead
modification : Woodhead create 2004-12-07
************************************************************************/
#ifndef _CLI_LOG_INC__
#define _CLI_LOG_INC__
#define LOG_MAX_NUM g_us_CFG_LOG_MAX_NUM
#define LOG_SAVE_MAGIC 0x6B6BB6B6
/* 日志表的記錄結構 */
typedef struct tag_ST_LOG_ITEM
{
_U16 usLogCrc; /* 日志項校驗*/
_S16 sReserve; /* 保留字 */
_S8 szUserName[USERNAME_LEN]; /* 用戶帳號 */
_U32 ulLevel; /* 用戶權限級別, CLI_OPERAT_LEVEL_T */
_U32 ulLogMode; /* 用戶登錄方式, EN_USER_LOG_MODE */
_U32 ulClientIp; /* IP address */
_U32 ulLogDate; /* 日志記錄日期 */
_U32 ulLogTime; /* 日志記錄時間 */
_S8 szCommand[MT_LOG_CMD_LEN]; /* 用戶執行命令 */
#if LOG_SAVE_FLASH
_U32 ulUseFlag;
#endif
}ST_LOG_ITEM, *P_ST_LOG_ITEM;
/* 日志表的控制頭 */
typedef struct tag_ST_LOG_TBL_CTRL
{
_U16 usCtrlCrc; /* 控制頭的校驗和, 從下一個字節開始計算 */
_U16 usRsv1; /* 保留 */
_U32 ulMagic; /* 魔術字 */
_U16 usLogMaxNum; /* 日志表的最大數目, 等于LOG_MAX_NUM.
參與CRC校驗, 否則, LOG_MAX_NUM改變后, 可能出現CRC校驗OK的情況 */
_U16 usLogCount; /* 日志表的有效計數, <= LOG_MAX_NUM */
_U16 usLogHead; /* 日志表的頭索引(時間最前), < LOG_MAX_NUM */
_U16 usLogTail; /* 日志表的尾索引(時間最后), < LOG_MAX_NUM */
}ST_LOG_TBL_CTRL;
/*
根據用戶權限記錄的日志索引映射表的控制結構.
所有映射表的表數目為CT_AL_NULL.
每張表的表項的最大數目為LOG_MAX_NUM, 表項的內容為日志表的索引(大小為_U16).
*/
typedef struct tag_ST_LOG_INDEX_MAP_CTRL
{
_U16 usMapCount; /* 映射表的有效計數, <= LOG_MAX_NUM */
_U16 usMapHead; /* 映射表的頭索引(時間最前), < LOG_MAX_NUM */
_U16 usMapTail; /* 映射表的尾索引(時間最后), < LOG_MAX_NUM */
_U16 usRsv; /* 保留 */
}ST_LOG_INDEX_MAP_CTRL;
extern ST_LOG_TBL_CTRL *m_pstLogTblCtrl;
extern ST_LOG_INDEX_MAP_CTRL m_astLogIndexMapCtrl[CT_AL_NULL];
extern _U16 *m_ausLogMapIndexTable[CT_AL_NULL];
_U32 CLI_LogInit(_VOID);
_U32 CLI_LogTableInit( _VOID );
_U32 CLI_LogItemCheck(P_ST_LOG_ITEM pLogItem);
_U32 CLI_LogTableCtlrCheck( _VOID );
_U32 CLI_LogTableCheck( _VOID );
_U32 CLI_LogMapReset( _VOID );
_U32 CLI_LogMapCheck( _VOID );
P_ST_LOG_ITEM CLI_GetOneLog(_U16 ulIndex);
_U32 CLI_DisplayOneLog(P_ST_LOG_ITEM pLogItem);
_U32 CLI_DisplayAllLog(_VOID);
_VOID CLI_CmdRecord ( PTerm_Data_S pTermStruct );
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -