#ifndef UG_COMMON_H_ #define UG_COMMON_H_ #include #define USER_INDEX_MAX (100 + 2) #define GROUP_INDEX_MAX (20 + 2) #define UNAMESIZE (63) #define UDESIZE (63) #define UPWDSIZE (63) #define UTIME (20) #define GNAMESIZE (63) #define GDESIZE (63) #define LOCKNUM (10) typedef struct user_group { unsigned short ID; //用户组id char gname[GNAMESIZE+1]; //用户组名 char gdescription[GDESIZE+1]; //用户组描述 }USERGROUP; typedef struct user_account { unsigned short ID; //用户id unsigned short GID; //用户组ID unsigned short multi_valid; //多人登陆、永久有效 char uname[UNAMESIZE+1]; //用户名 char passwd[UPWDSIZE+1]; //密码 char udescription[UDESIZE+1]; //用户描述 time_t valid_begin_time; //有效期开始时间 time_t valid_end_time; //有效期结束时间 }USERACCOUNT; typedef struct user_authlist { time_t fail_time[LOCKNUM+1]; //循环队列存储认证失败时间点 int front; //循环队列头 int rear; //循环队列尾 int max_size; //循环队列的最大存储空间,锁定次数+1(config_fail_num + 1) unsigned int online_num; //用户上线数量 time_t lock_time; //用户锁定时间 unsigned short group_id; //用户组id } USERAUTHLIST; typedef struct user_cache { USERACCOUNT user; USERAUTHLIST authlist; }USERCACHE; #endif