X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=restore%2Frestore.h;h=51a3082d7f50d6f75483afb3fafd17b6ad2ccb00;hp=6a929c2275c02f1c1fc6619533748f6d137cdbc9;hb=refs%2Fheads%2Fmaster;hpb=11856e771fadee7ddb9b5a613c91f562bf363da7 diff --git a/restore/restore.h b/restore/restore.h index 6a929c2..51a3082 100644 --- a/restore/restore.h +++ b/restore/restore.h @@ -5,7 +5,7 @@ * Stelian Pop , 1999-2000 * Stelian Pop - AlcĂ´ve , 2000-2002 * - * $Id: restore.h,v 1.22 2002/01/16 09:32:14 stelian Exp $ + * $Id: restore.h,v 1.34 2007/02/22 20:12:50 stelian Exp $ */ /* @@ -25,11 +25,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -51,6 +47,8 @@ /* * Flags */ +extern int aflag; /* automatic volume increment */ +extern char *Afile; /* archive file */ extern int cvtflag; /* convert from old to new tape format */ extern int bflag; /* set input block size */ extern int dflag; /* print out debugging info */ @@ -59,16 +57,19 @@ 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 oflag; /* do restore permissions without asking */ 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 */ extern int yflag; /* always try to recover from tape errors */ extern int zflag; /* tape is in compressed format */ +extern int ufs2flag; /* tape is a FreeBSD UFS2 dump */ extern char* bot_script; /* beginning of tape script */ /* * Global variables */ +extern char *host; /* name of the remote host */ extern char *dumpmap; /* map of inodes on this dump tape */ extern char *usedinomap; /* map of inodes that are in use on this fs */ extern dump_ino_t maxino; /* highest numbered inode in this file system */ @@ -89,6 +90,9 @@ extern int compare_ignore_not_found; /* isn't seen. */ extern int compare_errors; /* did we encounter any compare errors? */ extern char filesys[NAMELEN];/* name of dumped filesystem */ +extern dump_ino_t volinfo[]; /* which inode on which volume archive info */ +extern int wdfd; /* original working directory */ +extern int dirhash_size; /* size of the directory hash table */ /* * Each file in the file system is described by one of these entries @@ -103,7 +107,7 @@ struct entry { struct entry *e_parent; /* pointer to parent directory (..) */ struct entry *e_sibling; /* next element in this directory (.) */ struct entry *e_links; /* hard links to this inode */ - struct entry *e_entries; /* for directories, their entries */ + struct entry **e_entries; /* for directories, their entries */ struct entry *e_next; /* hash chain list */ }; /* types */ @@ -131,7 +135,7 @@ struct entry { struct context { char *name; /* name of file */ dump_ino_t ino; /* inumber of file */ -#ifdef __linux__ +#if defined(__linux__) || defined(sunos) struct new_bsd_inode *dip; /* pointer to inode */ #else struct dinode *dip; /* pointer to inode */ @@ -175,11 +179,26 @@ extern char *gTapeposfile; extern char gTps[255]; extern long gSeekstart; extern int tapeposflag; +extern int gTapeposfd; +extern int createtapeposflag; +extern unsigned long qfadumpdate; +extern long long curtapepos; +#ifdef sunos +int fdsmtc; +long scsiid; +char smtcpath[2048]; +#endif #endif /* USE_QFA */ +#ifdef TRANSSELINUX /*GAN6May06 SELinux MLS */ +extern int transselinuxflag; +extern char *transselinuxarg; +#endif + #define do_compare_error \ if (++compare_errors >= Lflag && Lflag) { \ printf("Compare errors limit reached, exiting...\n"); \ exit(2); \ } +#define XATTR_MAXSIZE 4096