]> git.wh0rd.org - dump.git/blobdiff - dump/dump.h
Andreas Dilger fixes (CPP, ext2 features, const char etc).
[dump.git] / dump / dump.h
index ba7ed3833bda2ef98309f2f0389d9dfe13d69ea1..4e3fadaa50c0e3f9705482b16964982a08408956 100644 (file)
@@ -2,8 +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@cybercable.fr>, 1999 
+ *     Stelian Pop <pop@noos.fr>, 1999-2000
+ *     Stelian Pop <pop@noos.fr> - AlcĂ´ve <www.alcove.fr>, 2000
  *
+ *     $Id: dump.h,v 1.21 2001/03/19 13:22:48 stelian Exp $
  */
 
 /*-
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- *     @(#)dump.h      8.2 (Berkeley) 4/28/95
  */
 
+#include <config.h>
+
 #define MAXINOPB       (MAXBSIZE / sizeof(struct dinode))
 #define MAXNINDIR      (MAXBSIZE / sizeof(daddr_t))
 
@@ -64,13 +66,15 @@ char        *dumpinomap;    /* map of files to be dumped */
 /*
  *     All calculations done in 0.1" units!
  */
-char   *disk;          /* name of the disk file */
-char   *tape;          /* name of the tape file */
+const char *disk;              /* name of the disk file */
+char   tape[MAXPATHLEN];       /* name of the tape file */
+char   *tapeprefix;    /* prefix of the tape file */
 char   *dumpdates;     /* name of the file containing dump date information*/
-char   *temp;          /* name of the file for doing rewrite of dumpdates */
 char   lastlevel;      /* dump level of previous dump */
 char   level;          /* dump level of this dump */
 int    uflag;          /* update flag */
+int    Mflag;          /* multi-volume flag */
+char   *eot_script;    /* end of volume script fiag */
 int    diskfd;         /* disk file descriptor */
 int    tapefd;         /* tape file descriptor */
 int    pipeout;        /* true => output to standard output */
@@ -83,7 +87,9 @@ long  asize;          /* number of 0.1" units written on current tape */
 int    etapes;         /* estimated number of tapes */
 int    nonodump;       /* if set, do not honor UF_NODUMP user flags */
 int    unlimited;      /* if set, write to end of medium */
-
+int    compressed;     /* if set, dump is to be compressed */
+long long bytes_written;/* total bytes written to tape */
+long   uncomprblks;    /* uncompressed blocks written to tape */
 int    notify;         /* notify operator flag */
 int    blockswritten;  /* number of blocks written on current tape */
 int    tapeno;         /* current tape number */
@@ -121,7 +127,7 @@ time_t      unctime __P((const char *str));
 
 /* mapping rouintes */
 struct dinode;
-long   blockest __P((struct dinode *dp));
+long   blockest __P((struct dinode const *dp));
 int    mapfiles __P((ino_t maxino, long *tapesize));
 #ifdef __linux__
 int    mapfilesfromdir __P((ino_t maxino, long *tapesize, char *directory));
@@ -143,14 +149,15 @@ int       alloctape __P((void));
 void   close_rewind __P((void));
 void   dumpblock __P((daddr_t blkno, int size));
 void   startnewtape __P((int top));
-void   trewind __P((void));
+time_t trewind __P((void));
 void   writerec __P((const void *dp, int isspcl));
+char   *mktimeest __P((time_t tnow));
 
 void   Exit __P((int status));
 void   dumpabort __P((int signo));
 void   getfstab __P((void));
 
-char   *rawname __P((char *cp));
+const char *rawname __P((const char *cp));
 struct dinode *getino __P((ino_t inum));
 
 /* rdump routines */
@@ -187,16 +194,13 @@ struct    fstab *fstabsearch __P((const char *key));      /* search fs_file and fs_spec
 struct fstab *fstabsearchdir __P((const char *key, char *dir));        /* search fs_file and fs_spec */
 #endif
 
-#ifndef NAME_MAX
-#define NAME_MAX 255
-#endif
-
 /*
  *     The contents of the file _PATH_DUMPDATES is maintained both on
  *     a linked list, and then (eventually) arrayified.
  */
 struct dumpdates {
-       char    dd_name[NAME_MAX+3];
+       char    dd_name[MAXPATHLEN+3];
+       struct fstab *dd_fstab;
        char    dd_level;
        time_t  dd_ddate;
 };
@@ -230,6 +234,8 @@ extern int errno;
 
 #ifdef __linux__
 #define        DUMP_CURRENT_REV        1
+
+int dump_fs_open(const char *disk, ext2_filsys *fs);
 #endif
 
 #ifndef        __linux__
@@ -254,3 +260,7 @@ extern void exit();
 extern off_t lseek();
 extern const char *strerror();
 #endif
+
+                               /* 04-Feb-00 ILC */
+#define IEXCLUDE_MAXNUM 256    /* max size of inode exclude list */
+