Modified the behavior of ForEachUser() to do the two phase load/perform cycle
[citadel.git] / citadel / citserver.h
index 7e51353c2c3f6c8ad70abe33cc94fa105ca2a696..adfe476c1866afcd8658947fe7c93923c70eda7c 100644 (file)
@@ -1,23 +1,53 @@
+/*
+ * Copyright (c) 1987-2019 by the citadel.org team
+ *
+ * This program is open source software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/* I fucking hate const and want it to die. */
+#pragma GCC diagnostic ignored "-Wcast-qual"
+
+#include "serv_extensions.h"
+#include "context.h"
+#include "ctdl_module.h"
+
+/* Simple linked list structures ... used in a bunch of different places. */
+typedef struct RoomProcList RoomProcList;
+struct RoomProcList {
+        struct RoomProcList *next;
+        char name[ROOMNAMELEN];
+        char lcname[ROOMNAMELEN];
+       long namelen;
+       long lastsent;
+       long key;
+       long QRNum;
+};
+struct UserProcList {
+       struct UserProcList *next;
+       char user[USERNAME_SIZE];
+};
+
+#define CTDLUSERIP      (IsEmptyStr(CC->cs_addr) ?  CC->cs_clientinfo: CC->cs_addr)
+
 void master_startup (void);
-void master_cleanup (void);
-void cleanup_stuff (void *arg);
+int master_cleanup (int exitcode);
 void set_wtmpsupp (char *newtext);
-void cmd_info (void);
-void cmd_rchg (char *newroomname);
-void cmd_hchg (char *newhostname);
-void cmd_uchg (char *newusername);
-void cmd_time (void);
-int is_public_client (char *where);
-void cmd_iden (char *argbuf);
-void cmd_stel (char *cmdbuf);
-void cmd_mesg (char *mname);
-void cmd_emsg (char *mname);
-void cmd_rwho (void);
-void cmd_term (char *cmdbuf);
-void cmd_more (void);
-void cmd_echo (char *etext);
-void cmd_ipgm (char *argbuf);
-void cmd_down (void);
-void cmd_scdn (char *argbuf);
-void cmd_extn (char *argbuf);
-void *context_loop (struct CitContext *con);
+void set_wtmpsupp_to_current_room(void);
+void do_command_loop(void);
+void do_async_loop(void);
+void begin_session(struct CitContext *con);
+void citproto_begin_session(void);
+void citproto_begin_admin_session(void);
+
+void help_subst (char *strbuf, char *source, char *dest);
+
+extern int panic_fd;
+char CtdlCheckExpress(void);
+extern time_t server_startup_time;
+extern int openid_level_supported;