#include <pthread.h>
+#include <stdarg.h>
#include "sysdep.h"
+
+#ifdef HAVE_DB_H
+#include <db.h>
+#elif defined(HAVE_DB4_DB_H)
+#include <db4/db.h>
+#else
+#error Neither <db.h> nor <db4/db.h> was found by configure. Install db4-devel.
+#endif
+
+
+#if DB_VERSION_MAJOR < 4 || DB_VERSION_MINOR < 1
+#error Citadel requires Berkeley DB v4.1 or newer. Please upgrade.
+#endif
+
#include "server.h"
+#include "database.h"
+
+#if SIZEOF_SIZE_T == SIZEOF_INT
+#define SIZE_T_FMT "%d"
+#else
+#define SIZE_T_FMT "%ld"
+#endif
/* Logging levels - correspond to syslog(3) */
void cprintf (const char *format, ...);
#endif
+void vlprintf (enum LogLevel loglevel, const char *format, va_list arg_ptr);
+
extern pthread_key_t MyConKey; /* TSD key for MyContext() */
extern int enable_syslog;
void init_sysdep (void);
-void begin_critical_section (int which_one);
-void end_critical_section (int which_one);
int ig_tcp_server (char *ip_addr, int port_number, int queue_len,char **errormessage);
int ig_uds_server(char *sockpath, int queue_len, char **errormessage);
struct CitContext *MyContext (void);
void cmd_nset (char *cmdbuf);
int convert_login (char *NameToConvert);
void *worker_thread (void *arg);
+void *context_cleanup_thread (void *arg);
void become_session(struct CitContext *which_con);
void InitializeMasterCC(void);
void init_master_fdset(void);
void create_worker(void);
+
extern int num_sessions;
-extern volatile int time_to_die;
+extern volatile int exit_signal;
extern volatile int shutdown_and_halt;
extern volatile int running_as_daemon;
extern volatile int restart_server;
extern int verbosity;
extern int rescan[];
-extern struct worker_node {
- pthread_t tid;
- struct worker_node *next;
-} *worker_list;
+
+
extern int SyslogFacility(char *name);
extern int syslog_facility;
#endif
void create_maintenance_threads(void);
-extern pthread_t indexer_thread_tid;
-extern pthread_t checkpoint_thread_tid;
#endif /* SYSDEP_DECLS_H */