]> Dogcows Code - chaz/tar/blobdiff - src/tar.h
(struct tar_stat_info.dumpdir): New member.
[chaz/tar] / src / tar.h
index 677d1dd02d2e03a0885720f73ce40d725266274b..8a01a71a31019630bf217d8abca478f660cddfc3 100644 (file)
--- 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'
+
 \f
-/* Jörg Schilling star header */
+/* Jörg Schilling star header */
 
 struct star_header
 {                              /* byte offset */
@@ -270,29 +273,34 @@ 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 */
+
+  /* For sparse files: */
   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;
+
+  /* For dumpdirs */
+  char *dumpdir;
 };
 
 union block
This page took 0.024924 seconds and 4 git commands to generate.