]> git.wh0rd.org - dump.git/blobdiff - dump/dump.h
Add local EXT2_FT_* constants.
[dump.git] / dump / dump.h
index 2ce50e3c7c8787c7db8567a2293c8963d2c0626c..31210746faa87efe2cdc4979fdf580bb6d168321 100644 (file)
@@ -5,7 +5,7 @@
  *     Stelian Pop <stelian@popies.net>, 1999-2000
  *     Stelian Pop <stelian@popies.net> - AlcĂ´ve <www.alcove.com>, 2000-2002
  *
- *     $Id: dump.h,v 1.36 2002/01/25 14:59:53 stelian Exp $
+ *     $Id: dump.h,v 1.42 2003/01/10 14:42:50 stelian Exp $
  */
 
 /*-
@@ -43,6 +43,7 @@
 
 #include <config.h>
 #include <protocols/dumprestore.h>
+#include <compatlfs.h>
 
 #define MAXINOPB       (MAXBSIZE / sizeof(struct dinode))
 #define MAXNINDIR      (MAXBSIZE / sizeof(daddr_t))
@@ -54,6 +55,8 @@ extern int    mapsize;        /* size of the state maps */
 extern char    *usedinomap;    /* map of allocated inodes */
 extern char    *dumpdirmap;    /* map of directories to be dumped */
 extern char    *dumpinomap;    /* map of files to be dumped */
+extern char    *metainomap;    /* which of the inodes in dumpinomap
+                                  will get only their metadata dumped */
 /*
  * Map manipulation macros.
  */
@@ -77,8 +80,10 @@ extern char  level;          /* dump level of this dump */
 extern int     Afile;          /* archive file descriptor */
 extern int     bzipflag;       /* compression is done using bzlib */
 extern int     uflag;          /* update flag */
+extern int     mflag;          /* dump metadata only if possible flag */
 extern int     Mflag;          /* multi-volume flag */
 extern int     qflag;          /* quit on errors flag */
+extern int     vflag;          /* verbose flag */
 extern int      breademax;      /* maximum number of bread errors before we quit */
 extern char    *eot_script;    /* end of volume script fiag */
 extern int     diskfd;         /* disk file descriptor */
@@ -155,7 +160,7 @@ int mapdirs __P((dump_ino_t maxino, long *tapesize));
 /* file dumping routines */
 void   blksout __P((daddr_t *blkp, int frags, dump_ino_t ino));
 void   bread __P((daddr_t blkno, char *buf, int size));
-void   dumpino __P((struct dinode *dp, dump_ino_t ino));
+void   dumpino __P((struct dinode *dp, dump_ino_t ino, int metaonly));
 #ifdef __linux__
 void   dumpdirino __P((struct dinode *dp, dump_ino_t ino));
 #endif
@@ -182,11 +187,11 @@ struct    dinode *getino __P((dump_ino_t inum));
 /* rdump routines */
 #ifdef RDUMP
 int    rmthost __P((const char *host));
-int    rmtopen __P((const char *tape, int mode));
+int    rmtopen __P((const char *tape, const int mode));
 void   rmtclose __P((void));
 int    rmtread __P((char *buf, size_t count));
 int    rmtwrite __P((const char *buf, size_t count));
-int    rmtseek __P((int offset, int pos));
+OFF_T  rmtseek __P((OFF_T offset, int pos));
 struct mtget * rmtstatus __P((void));
 int    rmtioctl __P((int cmd, int count));
 #endif /* RDUMP */
@@ -210,9 +215,11 @@ void       do_exclude_ino __P((dump_ino_t ino, const char *));
 #define DIALUP "ttyd"                  /* prefix for dialups */
 #endif
 
-struct fstab *fstabsearch __P((const char *key));      /* search fs_file and fs_spec */
+#include <mntent.h>
+
+struct mntent *fstabsearch __P((const char *key));     /* search fs_file and fs_spec */
 #ifdef __linux__
-struct fstab *fstabsearchdir __P((const char *key, char *dir));        /* search fs_file and fs_spec */
+struct mntent *fstabsearchdir __P((const char *key, char *dir));       /* search fs_file and fs_spec */
 #endif
 
 /*
@@ -221,7 +228,7 @@ struct      fstab *fstabsearchdir __P((const char *key, char *dir));        /* search fs_fil
  */
 struct dumpdates {
        char    dd_name[MAXPATHLEN+3];
-       struct fstab *dd_fstab;
+       struct mntent *dd_fstab;
        char    dd_level;
        time_t  dd_ddate;
 };
@@ -259,15 +266,6 @@ extern int errno;
 int dump_fs_open(const char *disk, ext2_filsys *fs);
 #endif
 
-#ifndef        __linux__
-#ifndef        _PATH_UTMP
-#define        _PATH_UTMP      "/etc/utmp"
-#endif
-#ifndef        _PATH_FSTAB
-#define        _PATH_FSTAB     "/etc/fstab"
-#endif
-#endif
-
 #ifdef sunos
 extern char *calloc();
 extern char *malloc();