]> git.wh0rd.org - dump.git/blobdiff - restore/restore.h
Added -a flag to restore (automatic walk through volumes)
[dump.git] / restore / restore.h
index 0ae65ba8829e613134f30a985988c7d05751ee3e..ba6af080534c1a93cd696c89af5a9a07a1d9428a 100644 (file)
@@ -2,10 +2,10 @@
  *     Ported to Linux's Second Extended File System as part of the
  *     dump and restore backup suit
  *     Remy Card <card@Linux.EU.Org>, 1994-1997
- *     Stelian Pop <pop@noos.fr>, 1999-2000
- *     Stelian Pop <pop@noos.fr> - Alcôve <www.alcove.fr>, 2000
+ *     Stelian Pop <stelian@popies.net>, 1999-2000
+ *     Stelian Pop <stelian@popies.net> - Alcôve <www.alcove.com>, 2000-2002
  *
- *     $Id: restore.h,v 1.16 2001/07/18 12:54:06 stelian Exp $
+ *     $Id: restore.h,v 1.23 2002/01/16 10:29:26 stelian Exp $
  */
 
 /*
 /*
  * Flags
  */
+extern int     aflag;          /* automatic volume increment */
 extern int     cvtflag;        /* convert from old to new tape format */
 extern int     bflag;          /* set input block size */
 extern int     dflag;          /* print out debugging info */
 extern int     hflag;          /* restore heirarchies */
+extern int     lflag;          /* assume remote filename is a regular file */
+extern int     Lflag;          /* compare errors limit */
 extern int     mflag;          /* restore by name instead of inode number */
 extern int     Mflag;          /* multi-volume restore */
+extern int     Vflag;          /* multi-volume on a single device like CDROM */
 extern int     Nflag;          /* do not write the disk */
 extern int     uflag;          /* unlink symlink targets */
 extern int     vflag;          /* print out actions taken */
@@ -76,6 +80,7 @@ extern time_t dumptime;       /* time that this dump begins */
 extern time_t  dumpdate;       /* time that this dump was made */
 extern char    command;        /* opration being performed */
 extern FILE    *terminal;      /* file descriptor for the terminal input */
+extern int     pipein;         /* input is from a pipe */
 extern char    *tmpdir;        /* name of temp directory */
 extern int     oldinofmt;      /* reading tape with old format inodes */
 extern int     Bcvt;           /* need byte swapping on inodes and dirs */
@@ -166,9 +171,16 @@ typedef struct rstdirdesc RST_DIR;
 #ifdef USE_QFA
 #define QFA_MAGIC      "495115637697"
 #define QFA_VERSION    "1.0"
-FILE   *gTapeposfp;
-char   *gTapeposfile;
-char   gTps[255];
-long   gSeekstart;
-int    tapeposflag;
+extern FILE    *gTapeposfp;
+extern char    *gTapeposfile;
+extern char    gTps[255];
+extern long    gSeekstart;
+extern int     tapeposflag;
 #endif /* USE_QFA */
+
+#define do_compare_error \
+       if (++compare_errors >= Lflag && Lflag) { \
+               printf("Compare errors limit reached, exiting...\n"); \
+               exit(2); \
+       }
+