/[LeafOK_CVS]/lbbs/include/bbs.h
ViewVC logotype

Diff of /lbbs/include/bbs.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.10 by sysadm, Mon Apr 28 04:23:38 2025 UTC Revision 1.38 by sysadm, Tue Nov 18 15:15:18 2025 UTC
# Line 1  Line 1 
1  /***************************************************************************  /* SPDX-License-Identifier: GPL-3.0-or-later */
2                                                          bbs.h  -  description  /*
3                                                           -------------------   * bbs
4          begin                : Mon Oct 18 2004   *   - BBS related common definitions
5          copyright            : (C) 2004 by Leaflet   *
6          email                : leaflet@leafok.com   * Copyright (C) 2004-2025  Leaflet <leaflet@leafok.com>
7   ***************************************************************************/   */
   
 /***************************************************************************  
  *                                                                         *  
  *   This program is free software; you can redistribute it and/or modify  *  
  *   it under the terms of the GNU General Public License as published by  *  
  *   the Free Software Foundation; either version 2 of the License, or     *  
  *   (at your option) any later version.                                   *  
  *                                                                         *  
  ***************************************************************************/  
8    
9  #ifndef _BBS_H_  #ifndef _BBS_H_
10  #define _BBS_H_  #define _BBS_H_
11    
12  #include <time.h>  #include <time.h>
13    #include <netinet/in.h>
14    
15  // BBS  enum bbs_const_t
16  #define BBS_max_section 1024  {
17  #define BBS_max_username_length 20  #ifdef __CYGWIN__
18        BBS_max_section = 50,
19    #else
20        BBS_max_section = 200,
21    #endif
22        BBS_section_name_max_len = 20,
23        BBS_section_title_max_len = 40,
24        BBS_username_max_len = 12,
25        BBS_password_max_len = 12,
26        BBS_nickname_max_len = 40,
27        BBS_user_tz_max_len = 50,
28    
29        BBS_msg_max_len = 1024,
30    
31        BBS_id_max_len = 20,
32        BBS_name_max_len = 50,
33        BBS_server_max_len = 255,
34        BBS_address_max_len = 50,
35        BBS_start_dt_max_len = 50,
36    
37  extern char BBS_id[20];      BBS_max_user_count = 100000,
38  extern char BBS_name[50];      BBS_max_user_online_count = 10000,
 extern char BBS_server[256];  
 extern char BBS_address[50];  
 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    // 8Ŀ��ï¿?  
 #define P_ADMIN_S 0x20  // ��ϵͳ����Ա  
 #define P_ADMIN_M 0x40  // ��ϵͳ����Ա  
39    
40  struct user_priv      BBS_max_user_idle_time = 600, // 10 minutes
41  {  
42          long int uid;      BBS_current_action_max_len = 20,
         int level;  
         int g_priv;  
         struct  
         {  
                 int sid;  
                 int s_priv;  
         } s_priv_list[BBS_max_section];  
         int s_count;  
43  };  };
44    
45  typedef struct user_priv BBS_user_priv;  // BBS
46    extern const int BBS_section_list_load_interval;
47    
48    extern char BBS_id[BBS_id_max_len + 1];
49    extern char BBS_name[BBS_name_max_len + 1];
50    extern char BBS_server[BBS_server_max_len + 1];
51    extern char BBS_address[BBS_address_max_len + 1];
52    extern in_port_t BBS_port[2];
53    extern int BBS_max_client;
54    extern int BBS_max_client_per_ip;
55    extern char BBS_start_dt[BBS_start_dt_max_len + 1];
56    extern int BBS_sys_id;
57    
58    // User
59    extern const int BBS_user_list_load_interval;
60    extern const int BBS_user_online_list_load_interval;
61    
62  // Session  // Session
63  #define MAX_DELAY_TIME 600  extern const int BBS_user_off_line;
64    
65  extern char BBS_username[BBS_max_username_length];  extern char BBS_username[BBS_username_max_len + 1];
66  extern BBS_user_priv BBS_priv;  extern char BBS_nickname[BBS_nickname_max_len + 1];
67  extern int BBS_passwd_complex;  extern char BBS_user_tz[BBS_user_tz_max_len + 1];
68  extern int BBS_user_money;  extern int BBS_user_exp;
69    
70  extern time_t BBS_login_tm;  extern time_t BBS_login_tm;
71  extern time_t BBS_last_access_tm;  extern time_t BBS_last_access_tm;
 extern time_t BBS_last_sub_tm;  
72    
73  extern char BBS_current_section_name[20];  extern char BBS_current_action[BBS_current_action_max_len + 1];
74    extern time_t BBS_current_action_tm;
75    extern const int BBS_current_action_refresh_interval;
76    
77    extern const char *get_astro_name(time_t birthday);
78    extern int get_user_level(int point);
79    extern const char *get_user_level_name(int level);
80    
81    extern char *setuserfile(char *buf, size_t len, const char *filename);
82    
83  #endif //_BBS_H_  #endif //_BBS_H_


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1