aboutsummaryrefslogtreecommitdiff
path: root/lib/libarchive/archive_read.3
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@FreeBSD.org>2004-04-05 21:12:29 +0000
committerTim Kientzle <kientzle@FreeBSD.org>2004-04-05 21:12:29 +0000
commit71b44796d9533309abbe22e7b26d3ee5bb3d0251 (patch)
tree65c99eaf5f048beaa6a7d9973eb8410048b1f15d /lib/libarchive/archive_read.3
parent7f8a436ff29ebeb1ce2ae2434add4505d5e7e2ca (diff)
Overhauled ACL support. This makes us compatible
with 'star' ACL handling, though there's still a bit more work needed in this area. Added 'write_open_fd' and 'read_open_fd' to simplify, e.g., tar's u and r modes. Eliminated old 'write_open_file_position' as a bad idea. (It required closing/reopening files to do updates, which led to unpleasant implications.) Various other minor fixes, API tweaks, etc.
Notes
Notes: svn path=/head/; revision=127912
Diffstat (limited to 'lib/libarchive/archive_read.3')
-rw-r--r--lib/libarchive/archive_read.318
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/libarchive/archive_read.3 b/lib/libarchive/archive_read.3
index c5bd04e716c8..28131cd4cb07 100644
--- a/lib/libarchive/archive_read.3
+++ b/lib/libarchive/archive_read.3
@@ -39,6 +39,7 @@
.Nm archive_read_support_format_cpio ,
.Nm archive_read_support_format_all ,
.Nm archive_read_open ,
+.Nm archive_read_open_fd ,
.Nm archive_read_open_file ,
.Nm archive_read_next_header ,
.Nm archive_read_data ,
@@ -73,6 +74,8 @@
.Ft int
.Fn archive_read_open "struct archive *" "void *client_data" "archive_read_archive_callback *" "archive_open_archive_callback *" "archive_close_archive_callback *"
.Ft int
+.Fn archive_read_open_fd "struct archive *" "int fd"
+.Ft int
.Fn archive_read_open_file "struct archive *" "const char *filename"
.Ft int
.Fn archive_read_next_header "struct archive *" "struct archive_entry **"
@@ -133,6 +136,21 @@ This is the most generic version of this call, which accepts
three callback functions.
The library invokes these client-provided functions to obtain
raw bytes from the archive.
+Note: The API permits a decompression method to fork and invoke the
+callbacks from another process.
+Although none of the current decompression methods use this technique,
+future decompression methods may utilize this technique.
+If the decompressor forks, it will ensure that the open and close
+callbacks are invoked within the same process as the read callback.
+In particular, clients should not attempt to use shared variables to
+communicate between the open/read/close callbacks and the mainline code.
+.It Fn archive_read_open_fd
+Like
+.Fn archive_read_open ,
+except that it accepts a file descriptor rather than
+a trio of function pointers.
+Note that the file descriptor will not be automatically closed at
+end-of-archive.
.It Fn archive_read_open_file
Like
.Fn archive_read_open ,