]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/dird.h
Big backport from Enterprise
[bacula/bacula] / bacula / src / dird / dird.h
index ce83228b701ee2985dfe7a8ade3df2082b3283ec..028ef049101b90d77e05af8d82e3d0dde3d01ec6 100644 (file)
@@ -1,49 +1,83 @@
 /*
- * Includes specific to the Director
- *
- *     Kern Sibbald, December MM
- *
- *    Version $Id$
- */
-/*
-   Copyright (C) 2000-2005 Kern Sibbald
+   Bacula(R) - The Network Backup Solution
 
-   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.
+   Copyright (C) 2000-2017 Kern Sibbald
 
-   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.
+   The original author of Bacula is Kern Sibbald, with contributions
+   from many others, a complete list can be found in the file AUTHORS.
 
-   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.
+   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.
 
+   This notice must be preserved when any source code is
+   conveyed and/or propagated.
+
+   Bacula(R) is a registered trademark of Kern Sibbald.
+*/
+/*
+ * Includes specific to the Director
+ *
+ *     Kern Sibbald, December MM
  */
 
+#include "lib/ini.h"
+#include "lib/runscript.h"
+#include "lib/breg.h"
 #include "dird_conf.h"
 
 #define DIRECTOR_DAEMON 1
 
+#include "dir_plugins.h"
 #include "cats/cats.h"
 
 #include "jcr.h"
 #include "bsr.h"
 #include "ua.h"
-#include "protos.h"
-
 #include "jobq.h"
-#include "lib/runscript.h"
 
 /* Globals that dird.c exports */
 extern DIRRES *director;                     /* Director resource */
 extern int FDConnectTimeout;
 extern int SDConnectTimeout;
 
-/* From job.c */
-void dird_free_jcr(JCR *jcr);
-void dird_free_jcr_pointers(JCR *jcr);
+/* Used in ua_prune.c and ua_purge.c */
+
+struct s_count_ctx {
+   int count;
+};
+
+#define MAX_DEL_LIST_LEN 2000000
+
+struct del_ctx {
+   JobId_t *JobId;                    /* array of JobIds */
+   char *PurgedFiles;                 /* Array of PurgedFile flags */
+   int num_ids;                       /* ids stored */
+   int max_ids;                       /* size of array */
+   int num_del;                       /* number deleted */
+   int tot_ids;                       /* total to process */
+};
+
+/* Flags for find_next_volume_for_append() */
+enum {
+  fnv_create_vol    = true,
+  fnv_no_create_vol = false,
+  fnv_prune         = true,
+  fnv_no_prune      = false
+};
+
+typedef struct {
+   char    *plugin_name;
+   POOLMEM *content;
+} plugin_config_item;
+
+struct idpkt {
+   POOLMEM *list;
+   uint32_t count;
+};
+
+void free_plugin_config_item(plugin_config_item *lst);
+void free_plugin_config_items(alist *lst);
+
+#include "protos.h"