secgateway/Common/sg/user/user_manager/user.h

70 lines
1.6 KiB
C

#ifndef USER_H_
#define USER_H_
#include <time.h>
#include <stdbool.h>
#include "user_group.h"
#define UNAMESIZE (127 + 1)
#define UDESIZE (127 + 1)
#define UPWDSIZE (63 + 1)
#define UTIME 20
#define USER_ATTRIBUTE_NUM 7
#define ADD_FAIL_NOGROUP 1
#define ADD_FAIL_NAMELEN 2
#define ADD_FAIL_NAMESPE 3
#define ADD_FAIL_NAMEDUP 4
#define ADD_FAIL_USERFULL 5
#define ADD_SUCCESS 0
typedef struct user
{
unsigned short ID; //用户id
unsigned short GID; //用户组ID
unsigned short multi_valid; //多人登陆、永久有效
char uname[UNAMESIZE]; //用户名
char passwd[UPWDSIZE]; //密码
char udescription[UDESIZE]; //用户描述
time_t valid_begin_time; //有效期开始时间
time_t valid_end_time; //有效期结束时间
}USERACCOUNT;
typedef struct userlist
{
unsigned short ID;
unsigned short GID;
unsigned short multi;
unsigned short valid;
char uname[UNAMESIZE];
char gname[GNAMESIZE];
char passwd[UPWDSIZE];
char udescription[UDESIZE];
char valid_begin_time[UTIME];
char valid_end_time[UTIME];
}USERLIST;
typedef struct result_user_add
{
int result;
int userID;
}USERADD;
/*初始化参数*/
int init_user();
/*添加元素-新增用户*/
void usermanager_add_user(char* UNAME, char* UGNAME, USERADD* UADDRES);
/* 按用户ID查询用户 */
void get_user_by_id(unsigned short ID, USERLIST* ULIST);
/* 修改用户-web */
bool mod_user_web(USERLIST* ULIST);
/* 根据用户名查询用户ID */
unsigned short get_userid_by_name(char* UNAME);
/* 修改用户-命令行 */
bool mod_user_line(char* UNAME, const int INTYPE, char* IN);
#endif