#ifndef _PROTO_SLURP
#define _PROTO_SLURP
#include <ldap_cdefs.h>
struct globals;
RETSIGTYPE do_admin LDAP_P((int sig));
int doargs LDAP_P((int argc, char **argv, struct globals *g));
#ifdef CSRIMALLOC
#define ch_malloc malloc
#define ch_realloc realloc
#define ch_calloc calloc
#define ch_strdup strdup
#define ch_free free
#else
void *ch_malloc LDAP_P((ber_len_t size));
void *ch_realloc LDAP_P((void *block, ber_len_t size));
void *ch_calloc LDAP_P((ber_len_t nelem, ber_len_t size));
char *ch_strdup LDAP_P((const char *str));
void ch_free LDAP_P((void *p));
#endif
int slurpd_read_config LDAP_P((char *fname));
extern char *slurpd_pid_file;
extern char *slurpd_args_file;
void ch_free LDAP_P(( void *p ));
void *fm LDAP_P((void *arg));
RETSIGTYPE do_nothing LDAP_P((int i));
RETSIGTYPE slurp_set_shutdown LDAP_P((int));
extern struct globals *sglob;
extern int ldap_syslog;
extern int ldap_syslog_level;
extern int ldap_debug;
extern struct globals *init_globals LDAP_P((void));
int do_ldap LDAP_P((Ri *ri, Re *re, char **errmsg));
FILE *lock_fopen LDAP_P((const char *fname, const char *type, FILE **lfp));
int lock_fclose LDAP_P((FILE *fp, FILE *lfp));
int acquire_lock LDAP_P((const char *file, FILE **rfp, FILE **lfp));
int relinquish_lock LDAP_P((const char *file, FILE *rfp, FILE *lfp));
void write_reject LDAP_P((Ri *ri, Re *re, int lderr, char *errmsg));
int start_replica_thread LDAP_P((Ri *ri));
int copy_replog LDAP_P((char *src, char *dst));
int file_nonempty LDAP_P((char *filename));
int sanity LDAP_P((void));
int St_init LDAP_P((St **st));
int tsleep LDAP_P((time_t interval));
#if defined( HAVE_LWP )
void start_lwp_scheduler LDAP_P(( void ));
#endif
#endif