X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Ftar.h;h=ce9850c968533db8b49ddc0b9f78e81c6333cabc;hb=bb971a1e8a25cf2316d1cf5da309eb77b4975f0f;hp=439273eabd5b704865d4715d0f73ea36c82608b5;hpb=ccdbafb2769c16a55565b387acea44a247001f6a;p=chaz%2Ftar diff --git a/src/tar.h b/src/tar.h index 439273e..ce9850c 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 @@ -265,7 +265,7 @@ enum archive_format struct sp_array { off_t offset; - size_t numbytes; + off_t numbytes; }; struct xheader @@ -311,12 +311,32 @@ struct tar_stat_info /* Extended headers */ struct xheader xhdr; - + /* 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 */ + + /* Parent directory, if creating an archive. This is null if the + file is at the top level. */ + struct tar_stat_info *parent; + + /* Directory stream. If this is not null, it is in control of FD, + and should be closed instead of FD. */ + DIR *dirstream; + + /* File descriptor, if creating an archive, and if a directory or a + regular file or a contiguous file. + + It is zero if no file descriptor is available, either because it + was never needed or because it was open and then closed to + conserve on file descriptors. (Standard input is never used + here, so zero cannot be a valid file descriptor.) + + It is negative if it could not be reopened after it was closed. + Negate it to find out what errno was when the reopen failed. */ + int fd; }; union block