]> code.citadel.org Git - citadel.git/blobdiff - citadel/sysdep_decls.h
- declare *printf format specifiers if gcc detected
[citadel.git] / citadel / sysdep_decls.h
index a38ce98c375b8c02c700b8fb6b1f6eb332ee15d3..2078182c07a8d3fd624c1d76d9e499a2d3baf8bb 100644 (file)
@@ -1,5 +1,17 @@
 /* $Id$ */
+
+#include <pthread.h>
+#include "sysdep.h"
+#include "server.h"
+
+#ifdef __GNUC__
+void lprintf (int loglevel, const char *format, ...) __attribute__((__format__(__printf__,2,3)));
+void cprintf (const char *format, ...) __attribute__((__format__(__printf__,1,2)));
+#else
 void lprintf (int loglevel, const char *format, ...);
+void cprintf (const char *format, ...);
+#endif
+
 void init_sysdep (void);
 void begin_critical_section (int which_one);
 void end_critical_section (int which_one);
@@ -9,7 +21,6 @@ struct CitContext *MyContext (void);
 struct CitContext *CreateNewContext (void);
 void InitMyContext (struct CitContext *con);
 void client_write (char *buf, int nbytes);
-void cprintf (const char *format, ...);
 int client_read_to (char *buf, int bytes, int timeout);
 int client_read (char *buf, int bytes);
 int client_gets (char *buf);
@@ -20,8 +31,19 @@ void start_daemon (int do_close_stdio);
 void cmd_nset (char *cmdbuf);
 int convert_login (char *NameToConvert);
 void *worker_thread (void *arg);
-inline void become_session(struct CitContext *which_con);
+void become_session(struct CitContext *which_con);
 void CtdlRedirectOutput(FILE *fp, int sock);
+void InitializeMasterCC(void);
+void init_master_fdset(void);
+void create_worker(void);
+
+extern DLEXP int num_sessions;
+extern DLEXP volatile int time_to_die;
+extern DLEXP int verbosity;
+extern DLEXP int rescan[];
+extern DLEXP pthread_t initial_thread;
 
-extern int num_sessions;
-extern volatile int time_to_die;
+extern DLEXP struct worker_node {
+        pthread_t tid;
+        struct worker_node *next;
+} *worker_list;