1 /*
2    BAREOS® - Backup Archiving REcovery Open Sourced
3 
4    Copyright (C) 2000-2013 Free Software Foundation Europe e.V.
5    Copyright (C) 2010-2017 Planets Communications B.V.
6    Copyright (C) 2013-2020 Bareos GmbH & Co. KG
7 
8    This program is Free Software; you can redistribute it and/or
9    modify it under the terms of version three of the GNU Affero General Public
10    License as published by the Free Software Foundation and included
11    in the file LICENSE.
12 
13    This program is distributed in the hope that it will be useful, but
14    WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16    Affero General Public License for more details.
17 
18    You should have received a copy of the GNU Affero General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21    02110-1301, USA.
22 */
23 
24 #ifndef BAREOS_LIB_VERSION_H_
25 #define BAREOS_LIB_VERSION_H_
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 struct BareosVersionStrings {
32   const char* Full;
33   const char* Date;
34   const char* ShortDate;
35   const char* ProgDateTime;
36   const char* FullWithDate;
37   const char* Year;
38   const char* BinaryInfo;
39   const char* ServicesMessage;
40   const char* JoblogMessage;
41   void (*FormatCopyrightWithFsfAndPlanets)(char* out, size_t len, int FsfYear);
42   void (*PrintCopyrightWithFsfAndPlanets)(FILE* fh, int FsfYear);
43   void (*FormatCopyright)(char* out, size_t len, int StartYear);
44   void (*PrintCopyright)(FILE* fh, int StartYear);
45 };
46 
47 extern const struct BareosVersionStrings kBareosVersionStrings;
48 
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 /* If this is set stdout will not be closed on startup */
54 /* #define DEVELOPER 1 */
55 
56 /*
57  * SMCHECK does orphaned buffer checking (memory leaks)
58  *  it can always be turned on, but has some minor performance
59  *  penalties.
60  */
61 #ifdef DEVELOPER
62 #define SMCHECK
63 #endif
64 
65 /*
66  * for fastest speed but you must have a UPS to avoid unwanted shutdowns
67  */
68 //#define SQLITE3_INIT_QUERY "PRAGMA synchronous = OFF"
69 
70 /*
71  * for more safety, but is 30 times slower than above
72  */
73 #define SQLITE3_INIT_QUERY "PRAGMA synchronous = NORMAL"
74 
75 /* Debug flags not normally turned on */
76 
77 /* #define TRACE_JCR_CHAIN 1 */
78 /* #define TRACE_RES 1 */
79 /* #define DEBUG_BLOCK_CHECKSUM 1 */
80 
81 /*
82  * Set SMALLOC_SANITY_CHECK to zero to turn off, otherwise
83  *  it is the maximum memory malloced before Bareos will
84  *  abort.  Except for debug situations, this should be zero
85  */
86 #define SMALLOC_SANITY_CHECK 0 /* 500000000  0.5 GB max */
87 
88 
89 /* Check if header of tape block is zero before writing */
90 /* #define DEBUG_BLOCK_ZEROING 1 */
91 
92 /* The following are turned on for performance testing */
93 /*
94  * If you turn on the NO_ATTRIBUTES_TEST and rebuild, the SD
95  *  will receive the attributes from the FD, will write them
96  *  to disk, then when the data is written to tape, it will
97  *  read back the attributes, but they will not be sent to
98  *  the Director. So this will eliminate: 1. the comm time
99  *  to send the attributes to the Director. 2. the time it
100  *  takes the Director to put them in the catalog database.
101  */
102 /* #define NO_ATTRIBUTES_TEST 1 */
103 
104 /*
105  * If you turn on NO_TAPE_WRITE_TEST and rebuild, the SD
106  *  will do all normal actions, but will not write to the
107  *  Volume.  Note, this means a lot of functions such as
108  *  labeling will not work, so you must use it only when
109  *  Bareos is going to append to a Volume. This will eliminate
110  *  the time it takes to write to the Volume (not the time
111  *  it takes to do any positioning).
112  */
113 /* #define NO_TAPE_WRITE_TEST 1 */
114 
115 /*
116  * If you turn on FD_NO_SEND_TEST and rebuild, the FD will
117  *  not send any attributes or data to the SD. This will
118  *  eliminate the comm time sending to the SD.
119  */
120 /* #define FD_NO_SEND_TEST 1 */
121 #endif /* BAREOS_LIB_VERSION_H_ */
122