This is an omnibus commit which moves the Citadel Server from crusty old GNU Autotool...
[citadel.git] / citadel / server / citserver.h
1 // Copyright (c) 1987-2019 by the citadel.org team
2 //
3 // This program is open source software; you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License version 3.
5 //
6 // This program is distributed in the hope that it will be useful,
7 // but WITHOUT ANY WARRANTY; without even the implied warranty of
8 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 // GNU General Public License for more details.
10
11 /* I fucking hate const and want it to die. */
12 #pragma GCC diagnostic ignored "-Wcast-qual"
13
14 #include "serv_extensions.h"
15 #include "context.h"
16 #include "ctdl_module.h"
17
18 /* Simple linked list structures ... used in a bunch of different places. */
19 typedef struct RoomProcList RoomProcList;
20 struct RoomProcList {
21         struct RoomProcList *next;
22         char name[ROOMNAMELEN];
23         char lcname[ROOMNAMELEN];
24         long namelen;
25         long lastsent;
26         long key;
27         long QRNum;
28 };
29 struct UserProcList {
30         struct UserProcList *next;
31         char user[USERNAME_SIZE];
32 };
33
34 #define CTDLUSERIP      (IsEmptyStr(CC->cs_addr) ?  CC->cs_clientinfo: CC->cs_addr)
35
36 void master_startup (void);
37 int master_cleanup (int exitcode);
38 void set_wtmpsupp (char *newtext);
39 void set_wtmpsupp_to_current_room(void);
40 void do_command_loop(void);
41 void do_async_loop(void);
42 void begin_session(struct CitContext *con);
43 void citproto_begin_session(void);
44 void citproto_begin_admin_session(void);
45 void help_subst (char *strbuf, char *source, char *dest);
46 char CtdlCheckExpress(void);
47
48 extern int panic_fd;
49 extern time_t server_startup_time;
50 extern int openid_level_supported;