⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cli_user.inc

📁 命令行在嵌入式系统的实现
💻 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 + -