X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Fstored.h;h=abb2f8db1f9f2ea0c8a0e14d2a51415288ae65a0;hb=10cfd798ced2d27f61ead2de6fe9b1bcc8e3468d;hp=cfd68b0e834861c74f075df13766fdf171991e83;hpb=99e6d4a3be04f173b4bcd6ec77e1d1d63a3f2153;p=bacula%2Fbacula diff --git a/bacula/src/stored/stored.h b/bacula/src/stored/stored.h index cfd68b0e83..abb2f8db1f 100644 --- a/bacula/src/stored/stored.h +++ b/bacula/src/stored/stored.h @@ -1,26 +1,24 @@ /* - * Storage daemon specific defines and includes - * - * Version $Id$ - */ -/* - Copyright (C) 2000-2005 Kern Sibbald + Bacula(R) - The Network Backup Solution + + 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. +*/ +/* + * Storage daemon specific defines and includes + * */ #ifndef __STORED_H_ @@ -28,26 +26,49 @@ #define STORAGE_DAEMON 1 +/* Set to debug Lock() and Unlock() only */ +#define DEV_DEBUG_LOCK + +/* + * Set to define all SD locks except Lock() + * currently this does not work. More locks + * must be converted. + */ +#define SD_DEBUG_LOCK +#ifdef SD_DEBUG_LOCK +const int sd_dbglvl = 300; +#else +const int sd_dbglvl = 300; +#endif + +#undef SD_DEDUP_SUPPORT + #ifdef HAVE_MTIO_H #include #else # ifdef HAVE_SYS_MTIO_H # include # else -# ifdef HAVE_SYS_TAPE +# ifdef HAVE_SYS_TAPE_H # include +# else + /* Needed for Mac 10.6 (Snow Leopard) */ +# include "lib/bmtio.h" # endif # endif #endif +#include "lock.h" #include "block.h" #include "record.h" #include "dev.h" #include "stored_conf.h" #include "bsr.h" #include "jcr.h" +#include "vol_mgr.h" +#include "reserve.h" #include "protos.h" #ifdef HAVE_LIBZ -#include /* compression headers */ +#include /* compression headers */ #else #define uLongf uint32_t #endif @@ -64,12 +85,21 @@ int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); #endif -extern STORES *me; /* "Global" daemon resource */ -extern bool forge_on; /* proceed inspite of I/O errors */ +#include "file_dev.h" +#include "tape_dev.h" +#include "fifo_dev.h" +#include "null_dev.h" +#include "vtape_dev.h" +#include "cloud_dev.h" +#include "aligned_dev.h" +#include "win_file_dev.h" +#include "win_tape_dev.h" +#include "sd_plugins.h" -#ifdef debug_tracing -extern int _rewind_dev(char *file, int line, DEVICE *dev); -#define rewind_dev(d) _rewind_dev(__FILE__, __LINE__, (d)) -#endif +/* Daemon globals from stored.c */ +extern STORES *me; /* "Global" daemon resource */ +extern bool forge_on; /* proceed inspite of I/O errors */ +extern pthread_mutex_t device_release_mutex; +extern pthread_cond_t wait_device_release; /* wait for any device to be released */ #endif /* __STORED_H_ */