Standardize License information
[openafs.git] / src / budb / globals.h
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 {
28     /* global configuration */
29     char *databaseDirectory;            /* where database is placed */
30     char *databaseName;                 /* database file name */
31     char *databaseExtension;            /* extension (depends on ubik) */
32
33     /* error logging */
34     FILE *log;                          /* log file for status/errors */
35     
36     /* ubik and comm. related */
37     afs_int32 myHost;
38     afs_int32 serverList[MAXSERVERS];   /* list of ubik servers */
39     char *cellConfigdir;                /* afs cell config. directory */
40     struct ubik_dbase   *database;      /* handle for the database */
41
42     /* debug and test */
43     afs_uint32  debugFlags;
44 };
45
46 typedef struct buServerConfS    buServerConfT;
47 typedef buServerConfT           *buServerConfP;
48
49 extern  buServerConfP   globalConfPtr;
50
51 /* for synchronizing the threads dumping the database */
52
53 #define DS_WAITING      1               /* reader/writer sleeping */
54 #define DS_DONE         2               /* finished */
55 #define DS_DONE_ERROR   4               /* finished with errors */
56
57 #define DUMP_TTL_INC    300             /* secs. before dump times out */
58
59 #include <time.h>
60
61 struct dumpSyncS
62 {
63     struct Lock ds_lock;                /* for this struct. */
64     afs_int32   statusFlags;            /* 0, or 1 for dump in progress */
65     int         pipeFid[2];             /* pipe between threads */
66     char        ds_writerStatus;
67     char        ds_readerStatus;
68
69     PROCESS     dumperPid;              /* pid of dumper lwp */
70     struct ubik_trans *ut;              /* dump db transaction */
71     afs_int32   ds_bytes;               /* no. of bytes buffered */
72     time_t      timeToLive;             /* time. After this, kill the dump */
73 };
74
75 typedef struct dumpSyncS        dumpSyncT;
76 typedef dumpSyncT               *dumpSyncP;
77
78 extern dumpSyncP        dumpSyncPtr;    /* defined in dbs_dump.c */
79     
80
81
82
83
84