X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftar.h;h=78837be5e4371856932a11ae1e059e205d1ca5e3;hb=3209329337c87a102fa12d7eb60a3df323ba56c1;hp=6d484087a2a80dcbbdd26bf54463be857ff2c288;hpb=d7af510d49cb574596d983533a8341f1c892ac8a;p=chaz%2Ftar diff --git a/src/tar.h b/src/tar.h index 6d48408..78837be 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. */ @@ -193,7 +193,7 @@ struct oldgnu_header #define SOLARIS_XHDTYPE 'X' -/* Jörg Schilling star header */ +/* Jörg Schilling star header */ struct star_header { /* byte offset */ @@ -273,31 +273,30 @@ struct tar_stat_info char *orig_file_name; /* name of file read from the archive header */ char *file_name; /* name of file for the current archive entry after being normalized. */ - int had_trailing_slash; /* nonzero if the current archive entry had a + bool had_trailing_slash; /* true if the current archive entry had a trailing slash before it was normalized. */ char *link_name; /* name of link for the current archive entry. */ - unsigned int devminor; /* device minor number */ - unsigned int devmajor; /* device major number */ char *uname; /* user name of owner */ char *gname; /* group name of owner */ struct stat stat; /* regular filesystem stat */ - /* Nanosecond parts of file timestamps (if available) */ - unsigned long atime_nsec; - unsigned long mtime_nsec; - unsigned long ctime_nsec; - + /* STAT doesn't always have access, data modification, and status + change times in a convenient form, so store them separately. */ + struct timespec atime; + struct timespec mtime; + struct timespec ctime; + 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 */ - + 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