]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/findlib/find.h
Tweak fix MySQL quoting again :-(
[bacula/bacula] / bacula / src / findlib / find.h
index 7a00819ee0e394583df6040121f964d21781abde..6a57528a2e69a2c1a9fbad82d9b696be48f3a31b 100644 (file)
@@ -1,12 +1,12 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2001-2008 Free Software Foundation Europe e.V.
+   Copyright (C) 2001-2010 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
+   modify it under the terms of version three of the GNU Affero General Public
    License as published by the Free Software Foundation and included
    in the file LICENSE.
 
    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
+   You should have received a copy of the GNU Affero 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.
+   Bacula® is a registered trademark of Kern Sibbald.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
@@ -36,7 +36,7 @@
 
 #include "jcr.h"
 #include "bfile.h"
-#include "../filed/fd-plugins.h"
+#include "../filed/fd_plugins.h"
 
 #ifdef HAVE_DIRENT_H
 #include <dirent.h>
@@ -44,6 +44,9 @@
 #endif
 
 #include <sys/file.h>
+#if !defined(HAVE_WIN32) || defined(HAVE_MINGW)
+#include <sys/param.h>
+#endif
 #if HAVE_UTIME_H
 #include <utime.h>
 #else
@@ -68,17 +71,6 @@ struct utimbuf {
 int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
 #endif
 
-/*
- * Status codes returned by create_file()
- */
-enum {
-   CF_SKIP = 1,                       /* skip file (not newer or something) */
-   CF_ERROR,                          /* error creating file */
-   CF_EXTRACT,                        /* file created, data to extract */
-   CF_CREATED                         /* file created, no data to extract */
-};
-
-
 /*  
  * Options saved int "options" of the include/exclude lists.
  * They are directly jammed ito  "flag" of ff packet
@@ -108,6 +100,8 @@ enum {
 #define FO_ENHANCEDWILD (1<<23)       /* Enhanced wild card processing */
 #define FO_CHKCHANGES   (1<<24)       /* Check if file have been modified during backup */
 #define FO_STRIPPATH    (1<<25)       /* Check for stripping path */
+#define FO_HONOR_NODUMP (1<<26)       /* honor NODUMP flag */
+#define FO_XATTR        (1<<27)       /* Backup Extended Attributes */
 
 struct s_included_file {
    struct s_included_file *next;
@@ -147,6 +141,7 @@ struct findFOPTS {
    int strip_path;                    /* strip path count */
    char VerifyOpts[MAX_FOPTS];        /* verify options */
    char AccurateOpts[MAX_FOPTS];      /* accurate mode options */
+   char BaseJobOpts[MAX_FOPTS];       /* basejob mode options */
    alist regex;                       /* regex string(s) */
    alist regexdir;                    /* regex string(s) for directories */
    alist regexfile;                   /* regex string(s) for files */
@@ -166,6 +161,7 @@ struct findINCEXE {
    alist opts_list;                   /* options list */
    dlist name_list;                   /* filename list -- holds dlistString */
    dlist plugin_list;                 /* plugin list -- holds dlistString */
+   char *ignoredir;                   /* ignore directories with this file */
 };
 
 /*
@@ -179,13 +175,11 @@ struct findFILESET {
    alist exclude_list;
 };
 
-#ifdef HAVE_DARWIN_OS
 struct HFSPLUS_INFO {
    unsigned long length;              /* Mandatory field */
    char fndrinfo[32];                 /* Finder Info */
    off_t rsrclength;                  /* Size of resource fork */
 };
-#endif
 
 /*
  * Definition of the find_files packet passed as the
@@ -195,12 +189,17 @@ struct FF_PKT {
    char *top_fname;                   /* full filename before descending */
    char *fname;                       /* full filename */
    char *link;                        /* link if file linked */
+   char *object_name;                 /* Object name */
+   char *object;                      /* restore object */
    POOLMEM *sys_fname;                /* system filename */
    POOLMEM *fname_save;               /* save when stripping path */
    POOLMEM *link_save;                /* save when stripping path */
    struct stat statp;                 /* stat packet */
    int32_t FileIndex;                 /* FileIndex of this file */
    int32_t LinkFI;                    /* FileIndex of main hard linked file */
+   int32_t object_index;              /* Object index */
+   int32_t object_len;                /* Object length */
+   int32_t object_compression;        /* Type of compression for object */
    struct f_link *linked;             /* Set if this file is hard linked */
    int type;                          /* FT_ type from above */
    int ff_errno;                      /* errno */
@@ -210,6 +209,8 @@ struct FF_PKT {
    bool null_output_device;           /* using null output device */
    bool incremental;                  /* incremental save */
    char VerifyOpts[20];
+   char AccurateOpts[20];
+   char BaseJobOpts[20];
    struct s_included_file *included_files_list;
    struct s_excluded_file *excluded_files_list;
    struct s_excluded_file *excluded_paths_list;
@@ -233,9 +234,7 @@ struct FF_PKT {
     * To avoid clutter, we always include rsrc_bfd and volhas_attrlist */
    BFILE rsrc_bfd;                    /* fd for resource forks */
    bool volhas_attrlist;              /* Volume supports getattrlist() */
-#ifdef HAVE_DARWIN_OS
    struct HFSPLUS_INFO hfsinfo;       /* Finder Info and resource fork size */
-#endif
 };