speedup Networker scheduling
[citadel.git] / citadel / citserver.h
1 /*
2  * Copyright (c) 1987-2012 by the citadel.org team
3  *
4  *  This program is open source software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License version 3.
6  *
7  *  This program is distributed in the hope that it will be useful,
8  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  *  GNU General Public License for more details.
11  */
12
13 #include "serv_extensions.h"
14 #include "context.h"
15
16 /* Simple linked list structures ... used in a bunch of different places. */
17 typedef struct RoomProcList RoomProcList;
18 struct RoomProcList {
19         struct RoomProcList *next;
20         char name[ROOMNAMELEN];
21         char lcname[ROOMNAMELEN];
22         long namelen;
23         long key;
24         long QRNum;
25 };
26 struct UserProcList {
27         struct UserProcList *next;
28         char user[64];
29 };
30
31 #define CTDLUSERIP      (IsEmptyStr(CC->cs_addr) ?  CC->cs_clientinfo: CC->cs_addr)
32
33 void cit_backtrace(void);
34 void cit_oneline_backtrace(void);
35 void cit_panic_backtrace(int SigNum);
36 void master_startup (void);
37 void 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 GenerateRoomDisplay(char *real_room,
46                         CitContext *viewed,
47                         CitContext *viewer);
48 extern int panic_fd;
49 char CtdlCheckExpress(void);
50 extern time_t server_startup_time;
51 extern int openid_level_supported;