/*
- * 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"