X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fbacula.h;h=b4bca5176d8fa180cea38205acfce878a32de65c;hb=10cfd798ced2d27f61ead2de6fe9b1bcc8e3468d;hp=6e2bf2769bb6b6481a2d669c63c00b2c2f014f84;hpb=043d4236db58b727d21b634bdc774ab2caa7bea2;p=bacula%2Fbacula diff --git a/bacula/src/bacula.h b/bacula/src/bacula.h index 6e2bf2769b..b4bca5176d 100644 --- a/bacula/src/bacula.h +++ b/bacula/src/bacula.h @@ -1,44 +1,52 @@ /* - * bacula.h -- main header file to include in all Bacula source - * - * Version $Id$ - */ + Bacula(R) - The Network Backup Solution -/* - Copyright (C) 2000-2004 Kern Sibbald and John Walker + Copyright (C) 2000-2017 Kern Sibbald - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. + The original author of Bacula is Kern Sibbald, with contributions + from many others, a complete list can be found in the file AUTHORS. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + You may use this file and others of this release according to the + license defined in the LICENSE file, which includes the Affero General + Public License, v3.0 ("AGPLv3") and some additional permissions and + terms pursuant to its AGPLv3 Section 7. - You should have received a copy of the GNU General Public - License along with this program; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. + This notice must be preserved when any source code is + conveyed and/or propagated. + Bacula(R) is a registered trademark of Kern Sibbald. +*/ +/* + * bacula.h -- main header file to include in all Bacula source + * */ #ifndef _BACULA_H #define _BACULA_H 1 +/* Disable FORTIFY_SOURCE, because bacula uses is own memory + * manager + */ +#ifdef _FORTIFY_SOURCE +#undef _FORTIFY_SOURCE +#endif + #ifdef __cplusplus /* Workaround for SGI IRIX 6.5 */ #define _LANGUAGE_C_PLUS_PLUS 1 #endif -#ifdef HAVE_WIN32 +#if defined(HAVE_WIN32) +#if defined(HAVE_MINGW) +#include "winhdrs.h" +#else +#error "Only MINGW is supported" #include "winconfig.h" -#include "winhost.h" +#endif #else #include "config.h" -#include "host.h" #endif +#define __CONFIG_H #define _REENTRANT 1 @@ -47,32 +55,55 @@ /* System includes */ -#if HAVE_STDINT_H +#if defined(HAVE_STDINT_H) +#ifndef __sgi #include #endif -#if HAVE_STDARG_H +#elif defined(HAVE_INTTYPES_H) +#include +#endif +#if defined(HAVE_STDARG_H) #include #endif #include -#if HAVE_STDLIB_H +#if defined(HAVE_STDLIB_H) #include #endif #if HAVE_UNISTD_H +# ifdef HAVE_HPUX_OS +# undef _INCLUDE_POSIX1C_SOURCE +# endif #include #endif #if HAVE_ALLOCA_H #include #endif +#if defined(_MSC_VER) +#include +#include +#include +#endif #include #include +/* O_NOATIME is defined at fcntl.h when supported */ +#ifndef O_NOATIME +#define O_NOATIME 0 +#endif + +#if defined(_MSC_VER) +extern "C" { +#include "getopt.h" +} +#endif + #ifdef xxxxx #ifdef HAVE_GETOPT_LONG #include #else #include "lib/getopt.h" #endif -#endif +#endif #include #include @@ -96,11 +127,12 @@ #ifdef HAVE_SYS_SOCKET_H #include #endif -#ifdef HAVE_WIN32 +#if defined(HAVE_WIN32) & !defined(HAVE_MINGW) #include -#else +#endif +#if !defined(HAVE_WIN32) & !defined(HAVE_MINGW) #include -#endif +#endif #include #if HAVE_SYS_WAIT_H #include @@ -109,14 +141,63 @@ #include #include +#ifdef HAVE_OPENSSL +/* fight OpenSSL namespace pollution */ +#define STORE OSSL_STORE +#include +#include +#include +#include +#include +#include +#undef STORE +#endif + /* Local Bacula includes. Be sure to put all the system - * includes before these. + * includes before these. */ +#if defined(HAVE_WIN32) +//#include +#include "compat.h" +#endif + #include "version.h" #include "bc_types.h" +#include "streams.h" +#include "filetypes.h" #include "baconfig.h" #include "lib/lib.h" +/* manually enable feature that you want to test in DEVELOPER mode*/ +#ifdef DEVELOPER +#endif + +#ifdef DDE_EXTRA_CHECKS +const bool have_dde_extra_check = true; +#else +const bool have_dde_extra_check = false; +#endif +/* + * For wx-console compiles, we undo some Bacula defines. + * This prevents conflicts between wx-Widgets and Bacula. + * In wx-console files that malloc or free() Bacula structures + * config/resources and interface to the Bacula libraries, + * you must use bmalloc() and bfree(). + */ +#ifdef HAVE_WXCONSOLE +#undef New +#undef _ +#undef free +#undef malloc +#endif + +#if defined(HAVE_WIN32) +#include "winapi.h" +#include "winhost.h" +#else +#include "host.h" +#endif + #ifndef HAVE_ZLIB_H #undef HAVE_LIBZ /* no good without headers */ #endif