Commit | Line | Data |
---|---|---|
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 | ||
24 | extern int debugging; /* for controlling debug output */ | |
25 | ||
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) */ | |
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 | ||
42 | typedef struct buServerConfS buServerConfT; | |
43 | typedef buServerConfT *buServerConfP; | |
44 | ||
45 | extern 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 | ||
57 | struct 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 | ||
78 | typedef struct dumpSyncS dumpSyncT; | |
79 | typedef dumpSyncT *dumpSyncP; | |
80 | ||
81 | extern dumpSyncP dumpSyncPtr; /* defined in dbs_dump.c */ |