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

Diff of /lbbs/include/user_list.h

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

Revision 1.3 by sysadm, Tue Oct 21 12:35:03 2025 UTC Revision 1.7 by sysadm, Wed Oct 22 10:38:23 2025 UTC
# Line 21  Line 21 
21  #include <mysql/mysql.h>  #include <mysql/mysql.h>
22    
23  #define BBS_user_limit_per_page 20  #define BBS_user_limit_per_page 20
24    #define BBS_session_id_length 32
25    
26  struct user_info_t  struct user_info_t
27  {  {
28            int32_t id;
29          int32_t uid;          int32_t uid;
30          char username[BBS_username_max_len + 1];          char username[BBS_username_max_len + 1];
31          char nickname[BBS_nickname_max_len + 1];          char nickname[BBS_nickname_max_len + 1];
# Line 37  struct user_info_t Line 39  struct user_info_t
39  };  };
40  typedef struct user_info_t USER_INFO;  typedef struct user_info_t USER_INFO;
41    
42    struct user_info_index_uid_t
43    {
44            int32_t uid;
45            int32_t id;
46    };
47    typedef struct user_info_index_uid_t USER_INFO_INDEX_UID;
48    
49  struct user_list_t  struct user_list_t
50  {  {
51          USER_INFO users[BBS_max_user_count];          USER_INFO users[BBS_max_user_count];
52            USER_INFO_INDEX_UID index_uid[BBS_max_user_count];
53          int32_t user_count;          int32_t user_count;
54  };  };
55  typedef struct user_list_t USER_LIST;  typedef struct user_list_t USER_LIST;
56    
57  extern int user_list_load(MYSQL *db, USER_LIST *p_list);  struct user_online_info_t
58    {
59            int32_t id;
60            char session_id[BBS_session_id_length + 1];
61            USER_INFO user_info;
62            char ip[IP_ADDR_LEN];
63            char current_action[BBS_current_action_max_len + 1];
64            const char *current_action_title;
65            time_t login_tm;
66            time_t last_tm;
67    };
68    typedef struct user_online_info_t USER_ONLINE_INFO;
69    
70    struct user_online_list_t
71    {
72            USER_ONLINE_INFO users[BBS_max_user_online_count];
73            USER_INFO_INDEX_UID index_uid[BBS_max_user_count];
74            int32_t user_count;
75    };
76    typedef struct user_online_list_t USER_ONLINE_LIST;
77    
78  extern int user_list_pool_init(void);  extern int user_list_pool_init(void);
79  extern void user_list_pool_cleanup(void);  extern void user_list_pool_cleanup(void);
80  extern int set_user_list_pool_shm_readonly(void);  extern int set_user_list_pool_shm_readonly(void);
81  extern int detach_user_list_pool_shm(void);  extern int detach_user_list_pool_shm(void);
82    
83  extern int user_list_pool_reload(void);  extern int user_list_pool_reload(int online_user);
   
 extern int user_list_try_rd_lock(int wait_sec);  
 extern int user_list_try_rw_lock(int wait_sec);  
 extern int user_list_rd_unlock(void);  
 extern int user_list_rw_unlock(void);  
 extern int user_list_rd_lock(void);  
 extern int user_list_rw_lock(void);  
84    
85  extern int query_user_list(int page_id, USER_INFO *p_users, int *p_user_count, int *p_page_count);  extern int query_user_list(int page_id, USER_INFO *p_users, int *p_user_count, int *p_page_count);
86    extern int query_user_online_list(int page_id, USER_ONLINE_INFO *p_online_users, int *p_user_count, int *p_page_count);
87    
88  extern int query_user_info(int32_t uid, USER_INFO *p_user);  extern int query_user_info(int32_t id, USER_INFO *p_user);
89    extern int query_user_info_by_uid(int32_t uid, USER_INFO *p_user);
90    extern int query_user_online_info(int32_t id, USER_ONLINE_INFO *p_user);
91    
92  #endif //_USER_LIST_H_  #endif //_USER_LIST_H_


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

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