]> git.sur5r.net Git - openldap/blob - servers/slurpd/globals.c
Initial revision
[openldap] / servers / slurpd / globals.c
1 /*
2  * Copyright (c) 1996 Regents of the University of Michigan.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that this notice is preserved and that due credit is given
7  * to the University of Michigan at Ann Arbor. The name of the University
8  * may not be used to endorse or promote products derived from this
9  * software without specific prior written permission. This software
10  * is provided ``as is'' without express or implied warranty.
11  */
12
13 /*
14  * globals.c - initialization code for global data
15  */
16
17 #include <stdio.h>
18
19 #include "slurp.h"
20 #include "globals.h"
21
22 Globals          *sglob;
23
24 int ldap_syslog = 0;
25 int ldap_syslog_level = LOG_DEBUG;
26 int ldap_debug = 0;
27
28
29 /*
30  * Initialize the globals
31  */
32 Globals *init_globals()
33 {
34     Globals *g;
35
36     g = ( Globals * ) malloc( sizeof( Globals ));
37     if ( g == NULL ) {
38         return NULL;
39     }
40
41     g->slapd_configfile = SLAPD_DEFAULT_CONFIGFILE;
42     g->no_work_interval = DEFAULT_NO_WORK_INTERVAL;
43     g->slurpd_shutdown = 0;
44     g->num_replicas = 0;
45     g->replicas = NULL;
46     g->slurpd_rdir = DEFAULT_SLURPD_REPLICA_DIR;
47     strcpy( g->slurpd_status_file, DEFAULT_SLURPD_STATUS_FILE );
48     g->slapd_replogfile[ 0 ] = '\0';
49     g->slurpd_replogfile[ 0 ] = '\0';
50     g->slurpd_status_file[ 0 ] = '\0';
51     g->one_shot_mode = 0;
52     g->myname = NULL;
53     g->srpos = 0L;
54     if ( St_init( &(g->st)) < 0 ) {
55         fprintf( stderr, "Cannot initialize status data\n" );
56         exit( 1 );
57     }
58     pthread_mutex_init( &(g->rej_mutex), pthread_mutexattr_default );
59     if ( Rq_init( &(g->rq)) < 0 ) {
60         fprintf( stderr, "Cannot initialize queue\n" );
61         exit( 1 );
62     }
63 #ifdef KERBEROS
64     g->default_srvtab = SRVTAB;
65 #endif /* KERBEROS */
66 #if defined( THREAD_SUNOS4_LWP )
67     g->tsl_list = NULL;
68     mon_create( &g->tsl_mon ); 
69 #endif /* THREAD_SUNOS4_LWP */
70
71     return g;
72 }