]> git.wh0rd.org - dump.git/blobdiff - compat/include/bsdcompat.h
cybercable -> noos.
[dump.git] / compat / include / bsdcompat.h
index 223db8e1bf4b4f7a830485908deeda944e5dcbf6..167ddfab8017da5535433ca2bbe3f381146efb7c 100644 (file)
@@ -2,9 +2,10 @@
  *     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 <pop@noos.fr>, 1999-2000
+ *     Stelian Pop <pop@noos.fr> - AlcĂ´ve <www.alcove.fr>, 2000
  *
- *     $Id: bsdcompat.h,v 1.8 1999/11/07 18:53:50 tiniou Exp $
+ *     $Id: bsdcompat.h,v 1.12 2000/12/04 15:43:16 stelian Exp $
  */
 
 #include <config.h>
@@ -131,18 +132,30 @@ struct dinode {
 #define d_fileno d_ino
 #endif
 
-struct direct {
+/*
+ * This is the direct structure used by dump. In needs to be
+ * different from direct because linux dump generates only
+ * 'old inode format' dumps. And BSD supposes that the old
+ * inode dumps have the d_namelen field written in machine byte
+ * order...
+ */
+struct olddirect {
        __u32   d_ino;
        __u16   d_reclen;
-#if 1
-       __u8    d_namlen;
-       __u8    d_type;
-#else
        __u16   d_namlen;
-#endif
-       char            d_name[MAXNAMLEN + 1];
+       char    d_name[MAXNAMLEN + 1];
 };
 
+/*
+ * The direct structure used by restore.
+ */
+struct direct {
+       __u32   d_ino;
+       __u16   d_reclen;
+       __u8    d_type;
+       __u8    d_namlen;
+       char    d_name[MAXNAMLEN + 1];
+};
 /*
  * Convert between stat structure types and directory types.
  */