* Stelian Pop <stelian@popies.net>, 1999-2000
* Stelian Pop <stelian@popies.net> - AlcĂ´ve <www.alcove.com>, 2000-2002
*
- * $Id: restore.h,v 1.24 2002/01/25 14:59:53 stelian Exp $
+ * $Id: restore.h,v 1.30 2004/12/14 14:07:58 stelian Exp $
*/
/*
* 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.
*
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 filesys[NAMELEN];/* name of dumped filesystem */
extern dump_ino_t volinfo[]; /* which inode on which volume archive info */
+#define DIRHASH_SIZE 1024
+
/*
* Each file in the file system is described by one of these entries
*/
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 */
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 */
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 */
#define do_compare_error \