X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftar.h;h=fddc83fbfdf065aa08ce3d8a2ae766b1590ab9b3;hb=a59c819beb4886ee43f16dfd80ec1151fda1abe6;hp=cc45926cff1d61582ce9ad32eca0cef8bb73bb91;hpb=5679d3020e6a29556271ea45c5f81ab4098ca98f;p=chaz%2Ftar diff --git a/src/tar.h b/src/tar.h index cc45926..fddc83f 100644 --- a/src/tar.h +++ b/src/tar.h @@ -1,11 +1,11 @@ /* GNU tar Archive Format description. Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 2000, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + 2000, 2001, 2003, 2004, 2005, 2006, 2007 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 - Free Software Foundation; either version 2, or (at your option) any later + Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but @@ -165,6 +165,7 @@ struct oldgnu_header 'A' Solaris Access Control List 'E' Solaris Extended Attribute File 'I' Inode only, as in 'star' + 'N' Obsolete GNU tar, for file names that do not fit into the main header. 'X' POSIX 1003.1-2001 eXtended (VU version) */ /* This is a dir entry that contains the names of files that were in the @@ -180,9 +181,6 @@ struct oldgnu_header /* This is the continuation of a file that began on another volume. */ #define GNUTYPE_MULTIVOL 'M' -/* For storing filenames that do not fit into the main header. */ -#define GNUTYPE_NAMES 'N' - /* This is for sparse files. */ #define GNUTYPE_SPARSE 'S' @@ -267,7 +265,15 @@ enum archive_format struct sp_array { off_t offset; - size_t numbytes; + off_t numbytes; +}; + +struct xheader +{ + struct obstack *stk; + size_t size; + char *buffer; + uintmax_t string_length; }; struct tar_stat_info @@ -303,6 +309,9 @@ struct tar_stat_info size_t sparse_map_size; /* Size of the sparse map */ struct sp_array *sparse_map; + /* Extended headers */ + struct xheader xhdr; + /* For dumpdirs */ bool is_dumpdir; /* Is the member a dumpdir? */ bool skipped; /* The member contents is already read @@ -320,5 +329,3 @@ union block struct star_in_header star_in_header; struct star_ext_header star_ext_header; }; - -