--- lbbs/include/bbs.h 2004/10/21 17:28:46 1.1 +++ lbbs/include/bbs.h 2004/10/22 15:20:32 1.2 @@ -15,7 +15,11 @@ * * ***************************************************************************/ +#include + //BBS +#define BBS_max_section 1024 + extern char BBS_id[20]; extern char BBS_name[50]; extern char BBS_server[256]; @@ -24,3 +28,51 @@ extern unsigned int BBS_port; extern long BBS_max_client; extern long BBS_max_user; extern char BBS_start_dt[50]; + +//User privilege +#define S_NONE 0x0 +#define S_LIST 0x1 +#define S_GETEXP 0x2 +#define S_POST 0x4 +#define S_MSG 0x8 +#define S_MAIL 0x10 +#define S_MAN_S 0x20 +#define S_MAN_M 0x60 //(0x40 | 0x20) +#define S_ADMIN 0xe0 //(0x80 | 0x40 | 0x20) +#define S_ALL 0xff +#define S_DEFAULT 0x3 //0x1 | 0x2 + +#define P_GUEST 0x0 //游客 +#define P_USER 0x1 //普通用户 +#define P_AUTH_USER 0x2 //认证用户 +#define P_MAN_S 0x4 //副版主 +#define P_MAN_M 0x8 //正版主 +#define P_MAN_C 0x10 //栏目主管 +#define P_ADMIN_S 0x20 //次系统管理员 +#define P_ADMIN_M 0x40 //主系统管理员 + +struct user_priv +{ + long int uid; + long int auid; + int level; + int g_priv; + struct + { + int sid; + int s_priv; + }s_priv_list[BBS_max_section]; + int s_count; +}; + +typedef struct user_priv BBS_user_priv; + +//Session +extern BBS_user_priv BBS_priv; + +extern int BBS_passwd_complex; + +extern time_t BBS_login_tm; +extern time_t BBS_last_access_tm; +extern time_t BBS_last_sub_tm; +