📄 cli_user.inc
字号:
/************************************************************************
Copyright 200X - 200X+1.
filename : CLI_User.inc
description : 本文件声明了用户与日志管理所需要的数据结构、宏与函数
author : Woodhead
modification : Woodhead create 2004-12-07
************************************************************************/
#ifndef _CLI_USER_H_
#define _CLI_USER_H_
#include "Mt_User.h"
#define CLI_USR_PSSWRD_TIME 99 /*暂定密码的有效期为100天*/
enum UserInvaded
{
EN_USER_NOT_INVADED,
EN_USER_INVADED
};
/* -------------------------------- 宏操作定义 ------------------------------ */
#define LOG_MAKE_TIME(a,b,c) (((a) << 16) | ((b) << 8) | (c))
#define USER_MAKE_DAY(a,b,c) ((a) * 365 + (b) * 30 + c)
typedef struct TermUserItem
{
_U8 ucValid; /*表项是否有效 */
_U8 ucUserType; /*用户类型 枚举EN_USER_TYPE */
_U8 ucUserStatus; /*用户登录状态 */
_U8 ucLanguage; /*该用户的惯用语种 */
_S8 szUserName[USERNAME_LEN];/*用户名 */
_S8 szPassword[PASSWORD_LEN];/*用户口令, 该结构中保存的密码已经是加密之后的密码,*/
/*因此实际使用应当把它当作字符数组而不是字符串 */
_U32 ulPwdRenewTime; /*密码更新时间 */
_U32 ulTermId; /*该用户对应的终端号 */
_U32 ulLevel; /*用户权限级别 */
_U8 ucInvadedFlag; /*用户是否被侵占的标志(用于禁止同一个用户被两个用户同时抢占)*/
_U8 ucReserved[3]; /*对齐使用 */
}STermUserItem, *PTermUserItem;
typedef struct tagHostSave
{
_U8 ucValid;
_S8 szHostName[35];
}HostName_S;
extern STermUserItem m_sUserTable[MAX_USER_NUM];
extern _U16 m_usUserTable;
/* CLI_User.c 的函数声明 */
_U32 CLI_UserTableInit(_VOID);
_U32 CLI_UserInfoCfg(PTermUserItem pUserItem, const _S8 *szName,
const _S8 *szPassowrd, _U8 ucLevel, _U8 ucUserType, _U8 ucLan);
_U32 CLI_CreatUserLink(_VOID);
_U32 CLI_AddTermUser(const _S8 *szUserName, const _S8 *szPassword, _U8 ucLevel, _U8 ucUserType, _U8 ucLan);
_U32 CLI_DelTermUser(const _S8 *szUserName);
_U32 CLI_LoadTermUser(_VOID);
PTermUserItem CLI_GetUserByName(const _S8 *szUserName);
_U32 CLI_GetPasswordByName(_S8 *szUserName, _S8 *szPassword);
_U32 CLI_GetUserLevel(const _S8 *szUserName, _U32 *ulLevel);
_U32 CLI_SetUserPassword(const _S8 *szUserName, const _S8 *szPassword);
_U32 CLI_SetUserLevel(const _S8 *szUserName, _U32 ulLevel);
_U32 CLI_SetUserLanguage(const _S8 *szUserName, _U8 ucLan);
_U32 CLI_DisplayOneUserInfo(PTermUserItem pTermUserItem);
_U32 CLI_DisplayAllUserInfo(_VOID);
_U32 CLI_DisplayOnlineUser(_VOID);
_U32 CLI_DisplayOneTermUser(_S8 *szUserName);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -