2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 * global configuration information for the database server
15 #define DEFAULT_DBPREFIX "bdb" /* db name prefix */
17 /* debug and test flags */
19 #define DF_NOAUTH 0x1 /* no authentication */
20 #define DF_RECHECKNOAUTH 0x2 /* recheck no authentication ? */
21 #define DF_SMALLHT 0x4 /* use small hash tables */
22 #define DF_TRUNCATEDB 0x8 /* truncate database on startup */
24 extern int debugging
; /* for controlling debug output */
26 struct buServerConfS
{
27 /* global configuration */
28 char *databaseDirectory
; /* where database is placed */
29 char *databaseName
; /* database file name */
30 char *databaseExtension
; /* extension (depends on ubik) */
32 /* ubik and comm. related */
34 afs_uint32 serverList
[MAXSERVERS
]; /* list of ubik servers */
35 char *cellConfigdir
; /* afs cell config. directory */
36 struct ubik_dbase
*database
; /* handle for the database */
39 afs_uint32 debugFlags
;
42 typedef struct buServerConfS buServerConfT
;
43 typedef buServerConfT
*buServerConfP
;
45 extern buServerConfP globalConfPtr
;
47 /* for synchronizing the threads dumping the database */
49 #define DS_WAITING 1 /* reader/writer sleeping */
50 #define DS_DONE 2 /* finished */
51 #define DS_DONE_ERROR 4 /* finished with errors */
53 #define DUMP_TTL_INC 300 /* secs. before dump times out */
58 struct Lock ds_lock
; /* for this struct. */
59 afs_int32 statusFlags
; /* 0, or 1 for dump in progress */
60 int pipeFid
[2]; /* pipe between threads */
61 #ifdef AFS_PTHREAD_ENV
62 pthread_mutex_t ds_writerStatus_mutex
;
63 pthread_mutex_t ds_readerStatus_mutex
;
64 pthread_cond_t ds_writerStatus_cond
;
65 pthread_cond_t ds_readerStatus_cond
;
68 PROCESS dumperPid
; /* pid of dumper lwp */
73 struct ubik_trans
*ut
; /* dump db transaction */
74 afs_int32 ds_bytes
; /* no. of bytes buffered */
75 time_t timeToLive
; /* time. After this, kill the dump */
78 typedef struct dumpSyncS dumpSyncT
;
79 typedef dumpSyncT
*dumpSyncP
;
81 extern dumpSyncP dumpSyncPtr
; /* defined in dbs_dump.c */