123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- ARCHIVE_READ_DATA(3) manual page
- == NAME ==
- '''archive_read_data''',
- '''archive_read_data_block''',
- '''archive_read_data_skip''',
- '''archive_read_data_into_fd'''
- - functions for reading streaming archives
- == LIBRARY ==
- Streaming Archive Library (libarchive, -larchive)
- == SYNOPSIS ==
- '''<nowiki>#include <archive.h></nowiki>'''
- <br>
- ''la_ssize_t''
- <br>
- '''archive_read_data'''(''struct archive *'', ''void *buff'', ''size_t len'');
- <br>
- ''int''
- <br>
- '''archive_read_data_block'''(''struct archive *'', ''const void **buff'', ''size_t *len'', ''off_t *offset'');
- <br>
- ''int''
- <br>
- '''archive_read_data_skip'''(''struct archive *'');
- <br>
- ''int''
- <br>
- '''archive_read_data_into_fd'''(''struct archive *'', ''int fd'');
- == DESCRIPTION ==
- <dl>
- <dt>'''archive_read_data'''()</dt><dd>
- Read data associated with the header just read.
- Internally, this is a convenience function that calls
- '''archive_read_data_block'''()
- and fills any gaps with nulls so that callers see a single
- continuous stream of data.
- </dd><dt>'''archive_read_data_block'''()</dt><dd>
- Return the next available block of data for this entry.
- Unlike
- '''archive_read_data'''(),
- the
- '''archive_read_data_block'''()
- function avoids copying data and allows you to correctly handle
- sparse files, as supported by some archive formats.
- The library guarantees that offsets will increase and that blocks
- will not overlap.
- Note that the blocks returned from this function can be much larger
- than the block size read from disk, due to compression
- and internal buffer optimizations.
- </dd><dt>'''archive_read_data_skip'''()</dt><dd>
- A convenience function that repeatedly calls
- '''archive_read_data_block'''()
- to skip all of the data for this archive entry.
- Note that this function is invoked automatically by
- '''archive_read_next_header2'''()
- if the previous entry was not completely consumed.
- </dd><dt>'''archive_read_data_into_fd'''()</dt><dd>
- A convenience function that repeatedly calls
- '''archive_read_data_block'''()
- to copy the entire entry to the provided file descriptor.
- </dd></dl>
- == RETURN VALUES ==
- Most functions return zero on success, non-zero on error.
- The possible return codes include:
- '''ARCHIVE_OK'''
- (the operation succeeded),
- '''ARCHIVE_WARN'''
- (the operation succeeded but a non-critical error was encountered),
- '''ARCHIVE_EOF'''
- (end-of-archive was encountered),
- '''ARCHIVE_RETRY'''
- (the operation failed but can be retried),
- and
- '''ARCHIVE_FATAL'''
- (there was a fatal error; the archive should be closed immediately).
- '''archive_read_data'''()
- returns a count of bytes actually read or zero at the end of the entry.
- On error, a value of
- '''ARCHIVE_FATAL''',
- '''ARCHIVE_WARN''',
- or
- '''ARCHIVE_RETRY'''
- is returned.
- == ERRORS ==
- Detailed error codes and textual descriptions are available from the
- '''archive_errno'''()
- and
- '''archive_error_string'''()
- functions.
- == SEE ALSO ==
- [[ManPageBsdtar1]],
- [[ManPageArchiveRead3]],
- [[ManPageArchiveReadExtract3]],
- [[ManPageArchiveReadFilter3]],
- [[ManPageArchiveReadFormat3]],
- [[ManPageArchiveReadHeader3]],
- [[ManPageArchiveReadOpen3]],
- [[ManPageArchiveReadSetOptions3]],
- [[ManPageArchiveUtil3]],
- [[ManPageLibarchive3]],
- [[ManPageTar5]]
|