X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftar.h;h=cc45926cff1d61582ce9ad32eca0cef8bb73bb91;hb=f572ca0cfb109005deb29de1e299e1ab72f282d2;hp=78837be5e4371856932a11ae1e059e205d1ca5e3;hpb=3209329337c87a102fa12d7eb60a3df323ba56c1;p=chaz%2Ftar diff --git a/src/tar.h b/src/tar.h index 78837be..cc45926 100644 --- a/src/tar.h +++ b/src/tar.h @@ -1,7 +1,7 @@ /* GNU tar Archive Format description. Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. + 2000, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -192,8 +192,7 @@ struct oldgnu_header /* Solaris extended header */ #define SOLARIS_XHDTYPE 'X' - -/* Jörg Schilling star header */ +/* J@"org Schilling star header */ struct star_header { /* byte offset */ @@ -221,7 +220,8 @@ struct star_header #define SPARSES_IN_STAR_HEADER 4 #define SPARSES_IN_STAR_EXT_HEADER 21 -struct star_in_header { +struct star_in_header +{ char fill[345]; /* 0 Everything that is before t_prefix */ char prefix[1]; /* 345 t_name prefix */ char fill2; /* 346 */ @@ -236,11 +236,13 @@ struct star_in_header { char xmagic[4]; /* 508 "tar" */ }; -struct star_ext_header { +struct star_ext_header +{ struct sparse sp[SPARSES_IN_STAR_EXT_HEADER]; char isextended; }; +/* END */ /* tar Header Block, overall structure. */ @@ -263,10 +265,10 @@ enum archive_format /* Information about a sparse file. */ struct sp_array - { - off_t offset; - size_t numbytes; - }; +{ + off_t offset; + size_t numbytes; +}; struct tar_stat_info { @@ -292,11 +294,20 @@ struct tar_stat_info bool is_sparse; /* Is the file sparse */ + /* For sparse files: */ + unsigned sparse_major; + unsigned sparse_minor; size_t sparse_map_avail; /* Index to the first unused element in sparse_map array. Zero if the file is not sparse */ size_t sparse_map_size; /* Size of the sparse map */ struct sp_array *sparse_map; + + /* For dumpdirs */ + bool is_dumpdir; /* Is the member a dumpdir? */ + bool skipped; /* The member contents is already read + (for GNUTYPE_DUMPDIR) */ + char *dumpdir; /* Contents of the dump directory */ }; union block @@ -310,4 +321,4 @@ union block struct star_ext_header star_ext_header; }; -/* End of Format description. */ +