X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=dump%2Fdump.h;h=31210746faa87efe2cdc4979fdf580bb6d168321;hb=dbb649e870428cffea2583ed34233d0239b80992;hp=4f46fa446056a60537b18f01e0b163e93e09f8d1;hpb=88ef261eaffd1b09f23eb73d8259336f694d9324;p=dump.git diff --git a/dump/dump.h b/dump/dump.h index 4f46fa4..3121074 100644 --- a/dump/dump.h +++ b/dump/dump.h @@ -2,10 +2,10 @@ * Ported to Linux's Second Extended File System as part of the * dump and restore backup suit * Remy Card , 1994-1997 - * Stelian Pop , 1999-2000 - * Stelian Pop - Alcôve , 2000 + * Stelian Pop , 1999-2000 + * Stelian Pop - Alcôve , 2000-2002 * - * $Id: dump.h,v 1.32 2001/08/16 15:24:21 stelian Exp $ + * $Id: dump.h,v 1.42 2003/01/10 14:42:50 stelian Exp $ */ /*- @@ -43,6 +43,7 @@ #include #include +#include #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. */ @@ -67,16 +70,21 @@ extern char *dumpinomap; /* map of files to be dumped */ /* * All calculations done in 0.1" units! */ +extern char *host; /* name of the remote host */ extern const char *disk; /* name of the disk file */ extern char tape[MAXPATHLEN];/* name of the tape file */ extern char *tapeprefix; /* prefix of the tape file */ extern char *dumpdates; /* name of the file containing dump date information*/ extern char lastlevel; /* dump level of previous dump */ 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 */ extern int tapefd; /* tape file descriptor */ @@ -109,6 +117,7 @@ extern long xferrate; /* averaged transfer rate of all volumes */ extern long dev_bsize; /* block size of underlying disk device */ extern int dev_bshift; /* log2(dev_bsize) */ extern int tp_bshift; /* log2(TP_BSIZE) */ +extern dump_ino_t volinfo[]; /* which inode on which volume archive info */ #ifdef USE_QFA #define QFA_MAGIC "495115637697" @@ -117,7 +126,6 @@ extern int gTapeposfd; extern char *gTapeposfile; extern char gTps[255]; extern int32_t gThisDumpDate; -int GetTapePos __P((long *pos)); #endif /* USE_QFA */ #ifndef __P @@ -152,12 +160,13 @@ 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 void dumpmap __P((char *map, int type, dump_ino_t ino)); void writeheader __P((dump_ino_t ino)); +void mkchecksum __P((union u_spcl *tmpspcl)); /* tape writing routines */ int alloctape __P((void)); @@ -178,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 */ @@ -206,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 + +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 /* @@ -217,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; }; @@ -255,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();