Blame doc/man/archive_read_data.3

Packit 08bd4c
.TH ARCHIVE_READ_DATA 3 "February 2, 2012" ""
Packit 08bd4c
.SH NAME
Packit 08bd4c
.ad l
Packit 08bd4c
\fB\%archive_read_data\fP
Packit 08bd4c
\fB\%archive_read_data_block\fP,
Packit 08bd4c
\fB\%archive_read_data_skip\fP,
Packit 08bd4c
\fB\%archive_read_data_into_fd\fP
Packit 08bd4c
\- functions for reading streaming archives
Packit 08bd4c
.SH LIBRARY
Packit 08bd4c
.ad l
Packit 08bd4c
Streaming Archive Library (libarchive, -larchive)
Packit 08bd4c
.SH SYNOPSIS
Packit 08bd4c
.ad l
Packit 08bd4c
\fB#include <archive.h>\fP
Packit 08bd4c
.br
Packit 08bd4c
\fIla_ssize_t\fP
Packit 08bd4c
.br
Packit 08bd4c
\fB\%archive_read_data\fP(\fI\%struct\ archive\ *\fP, \fI\%void\ *buff\fP, \fI\%size_t\ len\fP);
Packit 08bd4c
.br
Packit 08bd4c
\fIint\fP
Packit 08bd4c
.br
Packit 08bd4c
\fB\%archive_read_data_block\fP(\fI\%struct\ archive\ *\fP, \fI\%const\ void\ **buff\fP, \fI\%size_t\ *len\fP, \fI\%off_t\ *offset\fP);
Packit 08bd4c
.br
Packit 08bd4c
\fIint\fP
Packit 08bd4c
.br
Packit 08bd4c
\fB\%archive_read_data_skip\fP(\fI\%struct\ archive\ *\fP);
Packit 08bd4c
.br
Packit 08bd4c
\fIint\fP
Packit 08bd4c
.br
Packit 08bd4c
\fB\%archive_read_data_into_fd\fP(\fI\%struct\ archive\ *\fP, \fI\%int\ fd\fP);
Packit 08bd4c
.SH DESCRIPTION
Packit 08bd4c
.ad l
Packit 08bd4c
.RS 5
Packit 08bd4c
.TP
Packit 08bd4c
\fB\%archive_read_data\fP()
Packit 08bd4c
Read data associated with the header just read.
Packit 08bd4c
Internally, this is a convenience function that calls
Packit 08bd4c
\fB\%archive_read_data_block\fP()
Packit 08bd4c
and fills any gaps with nulls so that callers see a single
Packit 08bd4c
continuous stream of data.
Packit 08bd4c
.TP
Packit 08bd4c
\fB\%archive_read_data_block\fP()
Packit 08bd4c
Return the next available block of data for this entry.
Packit 08bd4c
Unlike
Packit 08bd4c
\fB\%archive_read_data\fP(),
Packit 08bd4c
the
Packit 08bd4c
\fB\%archive_read_data_block\fP()
Packit 08bd4c
function avoids copying data and allows you to correctly handle
Packit 08bd4c
sparse files, as supported by some archive formats.
Packit 08bd4c
The library guarantees that offsets will increase and that blocks
Packit 08bd4c
will not overlap.
Packit 08bd4c
Note that the blocks returned from this function can be much larger
Packit 08bd4c
than the block size read from disk, due to compression
Packit 08bd4c
and internal buffer optimizations.
Packit 08bd4c
.TP
Packit 08bd4c
\fB\%archive_read_data_skip\fP()
Packit 08bd4c
A convenience function that repeatedly calls
Packit 08bd4c
\fB\%archive_read_data_block\fP()
Packit 08bd4c
to skip all of the data for this archive entry.
Packit 08bd4c
Note that this function is invoked automatically by
Packit 08bd4c
\fB\%archive_read_next_header2\fP()
Packit 08bd4c
if the previous entry was not completely consumed.
Packit 08bd4c
.TP
Packit 08bd4c
\fB\%archive_read_data_into_fd\fP()
Packit 08bd4c
A convenience function that repeatedly calls
Packit 08bd4c
\fB\%archive_read_data_block\fP()
Packit 08bd4c
to copy the entire entry to the provided file descriptor.
Packit 08bd4c
.RE
Packit 08bd4c
.SH RETURN VALUES
Packit 08bd4c
.ad l
Packit 08bd4c
Most functions return zero on success, non-zero on error.
Packit 08bd4c
The possible return codes include:
Packit 08bd4c
\fBARCHIVE_OK\fP
Packit 08bd4c
(the operation succeeded),
Packit 08bd4c
\fBARCHIVE_WARN\fP
Packit 08bd4c
(the operation succeeded but a non-critical error was encountered),
Packit 08bd4c
\fBARCHIVE_EOF\fP
Packit 08bd4c
(end-of-archive was encountered),
Packit 08bd4c
\fBARCHIVE_RETRY\fP
Packit 08bd4c
(the operation failed but can be retried),
Packit 08bd4c
and
Packit 08bd4c
\fBARCHIVE_FATAL\fP
Packit 08bd4c
(there was a fatal error; the archive should be closed immediately).
Packit 08bd4c
.PP
Packit 08bd4c
\fB\%archive_read_data\fP()
Packit 08bd4c
returns a count of bytes actually read or zero at the end of the entry.
Packit 08bd4c
On error, a value of
Packit 08bd4c
\fBARCHIVE_FATAL\fP,
Packit 08bd4c
\fBARCHIVE_WARN\fP,
Packit 08bd4c
or
Packit 08bd4c
\fBARCHIVE_RETRY\fP
Packit 08bd4c
is returned.
Packit 08bd4c
.SH ERRORS
Packit 08bd4c
.ad l
Packit 08bd4c
Detailed error codes and textual descriptions are available from the
Packit 08bd4c
\fB\%archive_errno\fP()
Packit 08bd4c
and
Packit 08bd4c
\fB\%archive_error_string\fP()
Packit 08bd4c
functions.
Packit 08bd4c
.SH SEE ALSO
Packit 08bd4c
.ad l
Packit 08bd4c
\fBtar\fP(1),
Packit 08bd4c
\fBlibarchive\fP(3),
Packit 08bd4c
\fBarchive_read\fP(3),
Packit 08bd4c
\fBarchive_read_extract\fP(3),
Packit 08bd4c
\fBarchive_read_filter\fP(3),
Packit 08bd4c
\fBarchive_read_format\fP(3),
Packit 08bd4c
\fBarchive_read_header\fP(3),
Packit 08bd4c
\fBarchive_read_open\fP(3),
Packit 08bd4c
\fBarchive_read_set_options\fP(3),
Packit 08bd4c
\fBarchive_util\fP(3),
Packit 08bd4c
\fBtar\fP(5)