]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/findlib/find.h
Add comment to crypto.h
[bacula/bacula] / bacula / src / findlib / find.h
old mode 100755 (executable)
new mode 100644 (file)
index 31ec519..6fc90fe
@@ -1,22 +1,35 @@
+/*
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2001-2007 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
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   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 should have received a copy of the GNU 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.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 /*
  * File types as returned by find_files()
  *
  *     Kern Sibbald MMI
  */
-/*
-   Copyright (C) 2001-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   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 
-   the file LICENSE for additional details.
-
- */
 
 #ifndef __FILES_H
 #define __FILES_H
@@ -42,6 +55,7 @@ struct utimbuf {
 #define MODE_RALL (S_IRUSR|S_IRGRP|S_IROTH)
 
 #include "lib/fnmatch.h"
+#include "lib/enh_fnmatch.h"
 
 #ifndef HAVE_REGEX_H
 #include "lib/bregex.h"
@@ -92,6 +106,9 @@ enum {
 #define FO_SHA512       (1<<20)       /* Do SHA512 checksum */
 #define FO_ENCRYPT      (1<<21)       /* Encrypt data stream */
 #define FO_NOATIME      (1<<22)       /* Use O_NOATIME to prevent atime change */
+#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 */
 
 struct s_included_file {
    struct s_included_file *next;
@@ -128,6 +145,7 @@ enum {
 struct findFOPTS {
    uint32_t flags;                    /* options in bits */
    int GZIP_level;                    /* GZIP level */
+   int strip_path;                    /* strip path count */
    char VerifyOpts[MAX_FOPTS];        /* verify options */
    alist regex;                       /* regex string(s) */
    alist regexdir;                    /* regex string(s) for directories */
@@ -135,8 +153,10 @@ struct findFOPTS {
    alist wild;                        /* wild card strings */
    alist wilddir;                     /* wild card strings for directories */
    alist wildfile;                    /* wild card strings for files */
+   alist wildbase;                    /* wild card strings for basenames */
    alist base;                        /* list of base names */
    alist fstype;                      /* file system type limitation */
+   alist drivetype;                   /* drive type limitation */
    char *reader;                      /* reader program */
    char *writer;                      /* writer program */
 };
@@ -146,7 +166,7 @@ struct findFOPTS {
 struct findINCEXE {
    findFOPTS *current_opts;           /* points to current options structure */
    alist opts_list;                   /* options list */
-   alist name_list;                   /* filename list -- holds char * */
+   dlist name_list;                   /* filename list -- holds dlistString */
 };
 
 /*
@@ -173,9 +193,12 @@ struct HFSPLUS_INFO {
  * first argument to the find_files callback subroutine.
  */
 struct FF_PKT {
+   char *top_fname;                   /* full filename before descending */
    char *fname;                       /* full filename */
    char *link;                        /* link if file linked */
    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 */
@@ -197,9 +220,11 @@ struct FF_PKT {
    /* Values set by accept_file while processing Options */
    uint32_t flags;                    /* backup options */
    int GZIP_level;                    /* compression level */
+   int strip_path;                    /* strip path count */
    char *reader;                      /* reader program */
    char *writer;                      /* writer program */
    alist fstypes;                     /* allowed file system types */
+   alist drivetypes;                  /* allowed drive types */
 
    /* List of all hard linked files found */
    struct f_link **linkhash;          /* hard linked files */