X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Ftar.h;h=cc937bbc73dfac1e853f8f1e9cf598799bbad14e;hb=e20fdceb388a3efbac6283178e1f2110d50d3824;hp=25b65b14b2f913fcfa0f7903f26f5f62c85ba638;hpb=ad37f06975a7f2df15d3bd8c1295570abc8a1044;p=chaz%2Ftar diff --git a/src/tar.h b/src/tar.h index 25b65b1..cc937bb 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 Free Software Foundation, Inc. + 2000, 2001, 2003, 2004, 2005 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 @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* tar Header Block, from POSIX 1003.1-1990. */ @@ -189,8 +189,11 @@ struct oldgnu_header /* This file is a tape/volume header. Ignore it on extraction. */ #define GNUTYPE_VOLHDR 'V' +/* Solaris extended header */ +#define SOLARIS_XHDTYPE 'X' + -/* Jörg Schilling star header */ +/* Jörg Schilling star header */ struct star_header { /* byte offset */ @@ -253,7 +256,9 @@ enum archive_format USTAR_FORMAT, /* POSIX.1-1988 (ustar) format */ POSIX_FORMAT, /* POSIX.1-2001 format */ STAR_FORMAT, /* Star format defined in 1994 */ - GNU_FORMAT /* POSIX format with GNU extensions */ + GNU_FORMAT /* Same as OLDGNU_FORMAT with one exception: + see FIXME note for to_chars() function + (create.c:189) */ }; /* Information about a sparse file. */ @@ -282,15 +287,17 @@ struct tar_stat_info unsigned long atime_nsec; unsigned long mtime_nsec; unsigned long ctime_nsec; - + off_t archive_file_size; /* Size of file as stored in the archive. Equals stat.st_size for non-sparse files */ + bool is_sparse; /* Is the file sparse */ + 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; + struct sp_array *sparse_map; }; union block