Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / budb / globals.h
CommitLineData
805e021f
CE
1/*
2 * Copyright 2000, International Business Machines Corporation and others.
3 * All Rights Reserved.
4 *
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
8 */
9
10/*
11 * global configuration information for the database server
12 * ------------------
13 */
14
15#define DEFAULT_DBPREFIX "bdb" /* db name prefix */
16
17/* debug and test flags */
18
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 */
23
24extern int debugging; /* for controlling debug output */
25
26struct buServerConfS {
27 /* global configuration */
28 char *databaseDirectory; /* where database is placed */
29 char *databaseName; /* database file name */
30 char *databaseExtension; /* extension (depends on ubik) */
31
32 /* ubik and comm. related */
33 afs_uint32 myHost;
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 */
37
38 /* debug and test */
39 afs_uint32 debugFlags;
40};
41
42typedef struct buServerConfS buServerConfT;
43typedef buServerConfT *buServerConfP;
44
45extern buServerConfP globalConfPtr;
46
47/* for synchronizing the threads dumping the database */
48
49#define DS_WAITING 1 /* reader/writer sleeping */
50#define DS_DONE 2 /* finished */
51#define DS_DONE_ERROR 4 /* finished with errors */
52
53#define DUMP_TTL_INC 300 /* secs. before dump times out */
54
55#include <time.h>
56
57struct dumpSyncS {
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;
66 pthread_t dumperPid;
67#else
68 PROCESS dumperPid; /* pid of dumper lwp */
69#endif
70 char ds_writerStatus;
71 char ds_readerStatus;
72
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 */
76};
77
78typedef struct dumpSyncS dumpSyncT;
79typedef dumpSyncT *dumpSyncP;
80
81extern dumpSyncP dumpSyncPtr; /* defined in dbs_dump.c */