Imported Upstream version 3.3.3
[debian/amanda] / client-src / client_util.h
index e31392f6fa9f16fe8a16edf335fd782445439532..eae215cef5054e476de8a06ab3cf7deb685777ad 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Amanda, The Advanced Maryland Automatic Network Disk Archiver
  * Copyright (c) 1991-1998 University of Maryland at College Park
+ * Copyright (c) 2007-2012 Zmanda, Inc.  All Rights Reserved.
  * All Rights Reserved.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -34,7 +35,7 @@
 #include "amanda.h"
 #include "conffile.h"
 #include "amfeatures.h"
-#include "sl.h"
+#include "am_sl.h"
 #include "util.h"              /* for bstrncmp() */
 #include "amandad.h"           /* for g_option_t */
 #include "amxml.h"             /* for dle_t      */
@@ -104,14 +105,6 @@ void parse_options(char *str,
                   am_feature_t *features,
                   int verbose);
 
-/* Count the size of an ARGV to store all properties of an application for
- * a dle. include/exclude options are converted to properties.
- *
- * @param dle: the dle
- * @returns: size of an ARGV needed.
- */
-int application_property_argv_size(dle_t *dle);
-
 /* Add all properties of an application for a dle to an ARGV.
  * include/exclude options are converted to properties.
  *
@@ -124,6 +117,14 @@ void application_property_add_to_argv(GPtrArray *argv_ptr,
                                      backup_support_option_t *bsu,
                                      am_feature_t *amfeatures);
 
+/* Merge properties from amanda-client.conf files to dles (application and scripts)
+ *
+ * @param dle: the dle list.
+ * @returns: Return 1 on success
+ *           Return 0 on failure
+ */
+int merge_dles_properties(dle_t *dles, int verbose);
+
 char *fixup_relative(char *name, char *device);
 backup_support_option_t *backup_support_option(char *program,
                                               g_option_t *g_options,
@@ -145,10 +146,10 @@ void run_calcsize(char *config, char *program, char *disk,
                   char *dirname, GSList *levels,
                   char *file_exclude, char *file_include);
 
-void check_access(char *filename, int mode);
-void check_file(char *filename, int mode);
-void check_dir(char *dirname, int mode);
-void check_suid(char *filename);
+gboolean check_access(char *filename, int mode);
+gboolean check_file(char *filename, int mode);
+gboolean check_dir(char *dirname, int mode);
+gboolean check_suid(char *filename);
 double the_num(char * str, int pos);
 
 /* Convert a GSList returned from config_errors into an "ERROR "
@@ -172,9 +173,14 @@ void add_type_table(dmpline_t typ,
 void add_list_table(dmpline_t typ, amregex_t **re_table,
                     GSList *message);
 
-/* Merge properties from proplist2 to proplist1)
+/* Merge properties from conf_proplist to dle_proplist
+   If verbose is 1, then dle->disk and name are used in output.
+ * @returns: Return 1 on success
+ *           Return 0 on failure
  */
-void merge_properties(proplist_t proplist1, proplist_t proplist2);
+int
+merge_properties(dle_t *dle, char *name, proplist_t dle_proplist,
+                proplist_t conf_proplist, int verbose);
 
 #endif