X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fbaconfig.h;h=c0e6ef087da90731f45af374ab0721dadc891528;hb=d80730759db76731f110ff35fda81075f49dfbf3;hp=d417d77c8aff1bfa0f726942c8ca18acbf715fd2;hpb=d2623318ddf378c21bf842fc7aafe6eb143933e0;p=bacula%2Fbacula diff --git a/bacula/src/baconfig.h b/bacula/src/baconfig.h index d417d77c8a..c0e6ef087d 100644 --- a/bacula/src/baconfig.h +++ b/bacula/src/baconfig.h @@ -1,23 +1,36 @@ +/* + Bacula® - The Network Backup Solution + + Copyright (C) 2000-2008 Free Software Foundation Europe e.V. + + The main author of Bacula is Kern Sibbald, with contributions from + many others, a complete list can be found in the file AUTHORS. + This program is Free Software; you can redistribute it and/or + modify it under the terms of version two of the GNU General Public + License as published by the Free Software Foundation and included + in the file LICENSE. + + 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 should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. + + Bacula® is a registered trademark of John Walker. + The licensor of Bacula is the Free Software Foundation Europe + (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, + Switzerland, email:ftf@fsfeurope.org. +*/ /* * General header file configurations that apply to * all daemons. System dependent stuff goes here. * * Version $Id$ */ -/* - Copyright (C) 2000-2006 Kern Sibbald - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as amended with additional clauses defined in the - file LICENSE in the main source directory. - - 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 - the file LICENSE for additional details. - - */ #ifndef _BACONFIG_H @@ -66,11 +79,16 @@ #define NPRT(x) (x)?(x):_("*None*") #if defined(HAVE_WIN32) + +#define WIN32_REPARSE_POINT 1 +#define WIN32_MOUNT_POINT 2 + void InitWinAPIWrapper(); #define OSDependentInit() InitWinAPIWrapper() -#undef ENABLE_NLS +#define sbrk(x) 0 + #if defined(BUILDING_DLL) # define DLL_IMP_EXP _declspec(dllexport) @@ -86,18 +104,14 @@ void InitWinAPIWrapper(); # define CATS_IMP_EXP #endif -#else +#else /* HAVE_WIN32 */ #define DLL_IMP_EXP #define CATS_IMP_EXP #define OSDependentInit() -#define tape_open open -#define tape_ioctl ioctl -#define tape_read read -#define tape_write write -#define tape_close ::close -#endif + +#endif /* HAVE_WIN32 */ #ifdef ENABLE_NLS @@ -110,6 +124,12 @@ void InitWinAPIWrapper(); #define N_(s) (s) #endif /* N_ */ #else /* !ENABLE_NLS */ + #undef _ + #undef N_ + #undef textdomain + #undef bindtextdomain + #undef setlocale + #ifndef _ #define _(s) (s) #endif @@ -126,6 +146,8 @@ void InitWinAPIWrapper(); #define setlocale(p, d) #endif #endif /* ENABLE_NLS */ + + /* Use the following for strings not to be translated */ #define NT_(s) (s) @@ -184,27 +206,27 @@ void InitWinAPIWrapper(); * STREAM_SHA256_DIGEST * STREAM_SHA512_DIGEST */ -#define STREAM_NONE 0 /* Reserved Non-Stream */ -#define STREAM_UNIX_ATTRIBUTES 1 /* Generic Unix attributes */ -#define STREAM_FILE_DATA 2 /* Standard uncompressed data */ -#define STREAM_MD5_SIGNATURE 3 /* deprecated */ -#define STREAM_MD5_DIGEST 3 /* MD5 digest for the file */ -#define STREAM_GZIP_DATA 4 /* GZip compressed file data */ +#define STREAM_NONE 0 /* Reserved Non-Stream */ +#define STREAM_UNIX_ATTRIBUTES 1 /* Generic Unix attributes */ +#define STREAM_FILE_DATA 2 /* Standard uncompressed data */ +#define STREAM_MD5_SIGNATURE 3 /* deprecated */ +#define STREAM_MD5_DIGEST 3 /* MD5 digest for the file */ +#define STREAM_GZIP_DATA 4 /* GZip compressed file data */ /* Extended Unix attributes with Win32 Extended data. Deprecated. */ -#define STREAM_UNIX_ATTRIBUTES_EX 5 /* Extended Unix attr for Win32 EX */ -#define STREAM_SPARSE_DATA 6 /* Sparse data stream */ -#define STREAM_SPARSE_GZIP_DATA 7 -#define STREAM_PROGRAM_NAMES 8 /* program names for program data */ -#define STREAM_PROGRAM_DATA 9 /* Data needing program */ -#define STREAM_SHA1_SIGNATURE 10 /* deprecated */ -#define STREAM_SHA1_DIGEST 10 /* SHA1 digest for the file */ -#define STREAM_WIN32_DATA 11 /* Win32 BackupRead data */ -#define STREAM_WIN32_GZIP_DATA 12 /* Gzipped Win32 BackupRead data */ -#define STREAM_MACOS_FORK_DATA 13 /* Mac resource fork */ -#define STREAM_HFSPLUS_ATTRIBUTES 14 /* Mac OS extra attributes */ +#define STREAM_UNIX_ATTRIBUTES_EX 5 /* Extended Unix attr for Win32 EX */ +#define STREAM_SPARSE_DATA 6 /* Sparse data stream */ +#define STREAM_SPARSE_GZIP_DATA 7 +#define STREAM_PROGRAM_NAMES 8 /* program names for program data */ +#define STREAM_PROGRAM_DATA 9 /* Data needing program */ +#define STREAM_SHA1_SIGNATURE 10 /* deprecated */ +#define STREAM_SHA1_DIGEST 10 /* SHA1 digest for the file */ +#define STREAM_WIN32_DATA 11 /* Win32 BackupRead data */ +#define STREAM_WIN32_GZIP_DATA 12 /* Gzipped Win32 BackupRead data */ +#define STREAM_MACOS_FORK_DATA 13 /* Mac resource fork */ +#define STREAM_HFSPLUS_ATTRIBUTES 14 /* Mac OS extra attributes */ /*** FIXME ***/ -#define STREAM_UNIX_ATTRIBUTES_ACCESS_ACL 15 /* Standard ACL attributes on UNIX */ -#define STREAM_UNIX_ATTRIBUTES_DEFAULT_ACL 16 /* Default ACL attributes on UNIX */ +#define STREAM_UNIX_ACCESS_ACL 15 /* Standard ACL attributes on UNIX */ +#define STREAM_UNIX_DEFAULT_ACL 16 /* Default ACL attributes on UNIX */ /*** FIXME ***/ #define STREAM_SHA256_DIGEST 17 /* SHA-256 digest for the file */ #define STREAM_SHA512_DIGEST 18 /* SHA-512 digest for the file */ @@ -215,6 +237,8 @@ void InitWinAPIWrapper(); #define STREAM_ENCRYPTED_FILE_GZIP_DATA 23 /* Encrypted, compressed data */ #define STREAM_ENCRYPTED_WIN32_GZIP_DATA 24 /* Encrypted, compressed Win32 BackupRead data */ #define STREAM_ENCRYPTED_MACOS_FORK_DATA 25 /* Encrypted, uncompressed Mac resource fork */ +#define STREAM_PLUGIN_NAME 26 /* Plugin "file" string */ +#define STREAM_PLUGIN_DATA 27 /* Plugin specific data */ /* @@ -222,7 +246,7 @@ void InitWinAPIWrapper(); * NOTE!!! These are saved in the Attributes record on the tape, so * do not change them. If need be, add to them. * - * This is stored as 32 bits on tape, but only FT_MASK bits are + * This is stored as 32 bits on the Volume, but only FT_MASK (16) bits are * used for the file type. The upper bits are used to indicate * additional optional fields in the attribute record. */ @@ -244,12 +268,15 @@ void InitWinAPIWrapper(); #define FT_NOOPEN 15 /* Could not open directory */ #define FT_RAW 16 /* Raw block device */ #define FT_FIFO 17 /* Raw fifo device */ -/* This directory packet is sent to the FD file processing routine so +/* The DIRBEGIN packet is sent to the FD file processing routine so * that it can filter packets, but otherwise, it is not used * or saved */ #define FT_DIRBEGIN 18 /* Directory at beginning (not saved) */ #define FT_INVALIDFS 19 /* File system not allowed for */ #define FT_INVALIDDT 20 /* Drive type not allowed for */ +#define FT_REPARSE 21 /* Win NTFS reparse point */ +#define FT_PLUGIN 22 /* Plugin generated filename */ +#define FT_DELETED 23 /* Deleted file entry */ /* Definitions for upper part of type word (see above). */ #define AR_DATA_STREAM (1<<16) /* Data stream id present */ @@ -264,6 +291,9 @@ void InitWinAPIWrapper(); /* Size of File Address stored in STREAM_SPARSE_DATA. Do NOT change! */ #define SPARSE_FADDR_SIZE (sizeof(uint64_t)) +/* Size of crypto length stored at head of crypto buffer. Do NOT change! */ +#define CRYPTO_LEN_SIZE ((int)sizeof(uint32_t)) + /* This is for dumb compilers/libraries like Solaris. Linux GCC * does it correctly, so it might be worthwhile @@ -516,6 +546,14 @@ int m_msg(const char *file, int line, POOLMEM *&pool_buf, const char *fmt, ...) #ifndef HAVE_WXCONSOLE #undef strdup #define strdup(buf) bad_call_on_strdup_use_bstrdup(buf) +#else +/* Groan, WxWidgets has its own way of doing NLS so cleanup */ +#ifndef ENABLE_NLS +#undef _ +#undef setlocale +#undef textdomain +#undef bindtextdomain +#endif #endif /* Use our fgets which handles interrupts */ @@ -596,19 +634,21 @@ extern int thr_setconcurrency(int); extern "C" int getdomainname(char *name, int len); #endif -#ifdef HAVE_OSF1_OS -extern "C" int mknod ( const char *path, int mode, dev_t device ); -#endif #if defined(HAVE_WIN32) #define DEFAULT_CONFIGDIR "C:\\Documents and Settings\\All Users\\Application Data\\Bacula" +#define PathSeparator '\\' inline bool IsPathSeparator(int ch) { return ch == '/' || ch == '\\'; } -inline char *first_path_separator(char *path) { return strpbrk(path, ":/\\"); } -inline const char *first_path_separator(const char *path) { return strpbrk(path, ":/\\"); } +inline char *first_path_separator(char *path) { return strpbrk(path, "/\\"); } +inline const char *first_path_separator(const char *path) { return strpbrk(path, "/\\"); } + +extern void pause_msg(const char *file, const char *func, int line, const char *msg); +#define pause(msg) if (debug_level) pause_msg(__FILE__, __func__, __LINE__, (msg)) #else +#define PathSeparator '/' /* Define Winsock functions if we aren't on Windows */ #define WSA_Init() 0 /* 0 = success */ @@ -617,6 +657,7 @@ inline const char *first_path_separator(const char *path) { return strpbrk(path, inline bool IsPathSeparator(int ch) { return ch == '/'; } inline char *first_path_separator(char *path) { return strchr(path, '/'); } inline const char *first_path_separator(const char *path) { return strchr(path, '/'); } +#define pause(msg) #endif @@ -632,14 +673,13 @@ extern int h_errno; */ extern "C" int getdomainname(char *name, int namelen); extern "C" int setdomainname(char *name, int namelen); -#define uLong unsigned long #endif /* HAVE_HPUX_OS */ #ifdef HAVE_OSF1_OS -#undef HAVE_CHFLAGS /* chflags is incorrectly detected */ extern "C" int fchdir(int filedes); extern "C" long gethostid(void); +extern "C" int mknod ( const char *path, int mode, dev_t device ); #endif