X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftar.h;h=8a01a71a31019630bf217d8abca478f660cddfc3;hb=02ec34f473b60161b0d581cf4774f07a2d4ea156;hp=3e958ec80086a526560e4f31c33486cc528a5a06;hpb=d659cbaccdc1f3279c49107cf15f15a639738529;p=chaz%2Ftar diff --git a/src/tar.h b/src/tar.h index 3e958ec..8a01a71 100644 --- a/src/tar.h +++ b/src/tar.h @@ -273,7 +273,7 @@ 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. */ @@ -281,16 +281,26 @@ struct tar_stat_info char *gname; /* group name of owner */ struct stat stat; /* regular filesystem stat */ + /* 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; + + /* For dumpdirs */ + char *dumpdir; }; union block