]> code.citadel.org Git - citadel.git/blobdiff - citadel/citserver.h
* The scheduler can now "wake up" a session to deliver async messages.
[citadel.git] / citadel / citserver.h
index 8c58229511a54a25073827d5cb84043efae2cc29..2288541bea976c1dfbeba57ec4153da259eda266 100644 (file)
@@ -1,4 +1,17 @@
 /* $Id$ */
+
+#include "serv_extensions.h"
+
+/* Simple linked list structures ... used in a bunch of different places. */
+struct RoomProcList {
+        struct RoomProcList *next;
+        char name[ROOMNAMELEN];
+};
+struct UserProcList {
+       struct UserProcList *next;
+       char user[64];
+};
+
 void master_startup (void);
 void master_cleanup (void);
 void RemoveContext (struct CitContext *);
@@ -6,7 +19,6 @@ void set_wtmpsupp (char *newtext);
 void set_wtmpsupp_to_current_room(void);
 void cmd_info (void);
 void cmd_time (void);
-int is_public_client (char *where);
 void cmd_iden (char *argbuf);
 void cmd_mesg (char *mname);
 void cmd_emsg (char *mname);
@@ -21,9 +33,8 @@ void deallocate_user_data(struct CitContext *con);
 void *CtdlGetUserData(unsigned long requested_sym);
 void CtdlAllocUserData(unsigned long requested_sym, size_t num_bytes);
 void CtdlReallocUserData(unsigned long requested_sym, size_t num_bytes);
-int CtdlGetDynamicSymbol(void);
-void enter_housekeeping_cmd(char *);
 void do_command_loop(void);
+void do_async_loop(void);
 void begin_session(struct CitContext *con);
 void citproto_begin_session(void);
 void GenerateRoomDisplay(char *real_room,
@@ -31,3 +42,19 @@ void GenerateRoomDisplay(char *real_room,
                         struct CitContext *viewer);
 extern int do_defrag;
 char CtdlCheckExpress(void);
+
+int CtdlAccessCheck(int);
+
+/* 'required access level' values which may be passed to CtdlAccessCheck()
+ */
+enum {
+       ac_none,
+       ac_logged_in,
+       ac_room_aide,
+       ac_aide,
+       ac_internal
+};
+
+
+
+extern time_t server_startup_time;