* 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 <stelian@popies.net>, 1999-2000
+ * Stelian Pop <stelian@popies.net> - AlcĂ´ve <www.alcove.com>, 2000-2002
*
- * $Id: bsdcompat.h,v 1.8 1999/11/07 18:53:50 tiniou Exp $
+ * $Id: bsdcompat.h,v 1.19 2002/07/19 14:57:39 stelian Exp $
*/
#include <config.h>
#include <dirent.h>
#define __dead volatile
+#define UNUSED(x) x __attribute__ ((unused))
#ifndef NBBY
#define NBBY 8
#define MIN(a,b) ((a < b) ? a : b)
#endif
-#define WINO ((ino_t)1)
+#define WINO 1
#define DEV_BSIZE 512
#define DEV_BSHIFT 9
#define MAXBSIZE EXT2_MAX_BLOCK_SIZE
#define powerof2(x) ((((x)-1)&(x))==0)
#define dbtob(b) ((unsigned)(b) << DEV_BSHIFT)
-#define fsbtodb(sb,b) ((int)(((long long)b * EXT2_BLOCK_SIZE(sb->super)) / DEV_BSIZE))
+#define fsbtodb(sb,b) ((int)(((long long)(b) * EXT2_BLOCK_SIZE((sb)->super)) / DEV_BSIZE))
+#define dbtofsb(sb,b) ((int)(((long long)(b) * DEV_BSIZE) / EXT2_BLOCK_SIZE((sb)->super)))
#define sblock fs
#define fs_fsize fragsize
/*
* The BSD dump format reserves 4 bytes for a time_t, but other architectures
* (notably axp) have larger time_t. ctime4() is a modified ctime() which
- * always accepts short 4-byte times. time4() is a similarly modified time().
+ * always accepts short 4-byte times.
*/
#define ctime4(timep) ({ time_t t = *(timep); ctime(&t); })
-#define time4(timep) ({time_t t; t = time(0); if (timep) *timep=t; t; })
/*
* This is the ext2_inode structure but the fields have been renamed
__u8 di_frag;
__u8 di_fsize;
__u16 di_pad1;
- __u32 di_spare[2];
+ __u16 di_uidhigh;
+ __u16 di_gidhigh;
+ __u32 di_spare;
};
#define di_rdev di_db[0]
/* #define di_ouid di_uid */
/* #define di_ogid di_gid */
+#define di_size_high di_dir_acl
/*
* This is the ext2_dir_entry structure but the fields have been renamed
#define d_fileno d_ino
#endif
+/*
+ * The direct structure used by dump/restore.
+ */
struct direct {
__u32 d_ino;
__u16 d_reclen;
-#if 1
- __u8 d_namlen;
__u8 d_type;
-#else
- __u16 d_namlen;
-#endif
- char d_name[MAXNAMLEN + 1];
+ __u8 d_namlen;
+ char d_name[MAXNAMLEN + 1];
};
-
/*
* Convert between stat structure types and directory types.
*/