X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=compat%2Finclude%2Fbsdcompat.h;h=bb39fe8a292bfd49c20d08880492b079d043bad6;hb=8eb05297aafdfd88bbd946a35d4db771604503bd;hp=8c367748384dac4078d2ed32816ae8225c07676a;hpb=fa58b58da39e4a6c96e34734539d3169dbdf4210;p=dump.git diff --git a/compat/include/bsdcompat.h b/compat/include/bsdcompat.h index 8c36774..bb39fe8 100644 --- a/compat/include/bsdcompat.h +++ b/compat/include/bsdcompat.h @@ -2,9 +2,9 @@ * Ported to Linux's Second Extended File System as part of the * dump and restore backup suit * Remy Card , 1994-1997 - * Stelian Pop , 1999 + * Stelian Pop , 1999-2000 * - * $Id: bsdcompat.h,v 1.7 1999/10/22 18:12:32 tiniou Exp $ + * $Id: bsdcompat.h,v 1.10 2000/02/10 09:42:32 stelian Exp $ */ #include @@ -127,18 +127,34 @@ struct dinode { #define DT_SOCK 12 #endif -struct direct { +#ifndef d_fileno +#define d_fileno d_ino +#endif + +/* + * 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. */