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

Annotation of /lbbs/include/user_list.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (hide annotations)
Wed Oct 22 04:48:53 2025 UTC (4 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.4: +21 -2 lines
Content type: text/x-chdr
Add user_online_list

1 sysadm 1.1 /***************************************************************************
2     user_list.h - description
3     -------------------
4     Copyright : (C) 2004-2025 by Leaflet
5     Email : leaflet@leafok.com
6     ***************************************************************************/
7    
8     /***************************************************************************
9     * *
10     * This program is free software; you can redistribute it and/or modify *
11     * it under the terms of the GNU General Public License as published by *
12     * the Free Software Foundation; either version 3 of the License, or *
13     * (at your option) any later version. *
14     * *
15     ***************************************************************************/
16    
17     #ifndef _USER_LIST_H_
18     #define _USER_LIST_H_
19    
20     #include "bbs.h"
21     #include <mysql/mysql.h>
22    
23 sysadm 1.2 #define BBS_user_limit_per_page 20
24 sysadm 1.5 #define BBS_session_id_length 32
25 sysadm 1.2
26 sysadm 1.1 struct user_info_t
27     {
28     int32_t uid;
29     char username[BBS_username_max_len + 1];
30     char nickname[BBS_nickname_max_len + 1];
31     char gender;
32     int8_t gender_pub;
33     int32_t life;
34     int32_t exp;
35     time_t signup_dt;
36     time_t last_login_dt;
37     time_t birthday;
38     };
39     typedef struct user_info_t USER_INFO;
40    
41     struct user_list_t
42     {
43     USER_INFO users[BBS_max_user_count];
44     int32_t user_count;
45     };
46     typedef struct user_list_t USER_LIST;
47    
48 sysadm 1.5 struct user_online_info_t
49     {
50     char session_id[BBS_session_id_length + 1];
51     USER_INFO user_info;
52     char ip[IP_ADDR_LEN];
53     char current_action[BBS_current_action_max_len + 1];
54     const char *current_action_title;
55     time_t login_tm;
56     time_t last_tm;
57     };
58     typedef struct user_online_info_t USER_ONLINE_INFO;
59    
60     struct user_online_list_t
61     {
62     USER_ONLINE_INFO users[BBS_max_user_online_count];
63     int32_t user_count;
64     };
65     typedef struct user_online_list_t USER_ONLINE_LIST;
66 sysadm 1.1
67     extern int user_list_pool_init(void);
68     extern void user_list_pool_cleanup(void);
69     extern int set_user_list_pool_shm_readonly(void);
70     extern int detach_user_list_pool_shm(void);
71    
72 sysadm 1.5 extern int user_list_pool_reload(int online_user);
73 sysadm 1.1
74 sysadm 1.2 extern int query_user_list(int page_id, USER_INFO *p_users, int *p_user_count, int *p_page_count);
75 sysadm 1.5 extern int query_user_online_list(int page_id, USER_ONLINE_INFO *p_online_users, int *p_user_count, int *p_page_count);
76 sysadm 1.2
77 sysadm 1.3 extern int query_user_info(int32_t uid, USER_INFO *p_user);
78    
79 sysadm 1.1 #endif //_USER_LIST_H_

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