ARCHIVE_WRITE_DATA(3)

NAME
archive_write_data, archive_write_data_block - functions for creating archives

LIBRARY
Streaming Archive Library (libarchive, -larchive)

SYNOPSIS
#include <archive.h>
la_ssize_t
archive_write_data(struct archive *, const void *, size_t);
la_ssize_t
archive_write_data_block(struct archive *, const void *, size_t size, int64_t offset);

DESCRIPTION

archive_write_data()
    Write data corresponding to the header just written.

archive_write_data_block()
    Write data corresponding to the header just written. This is like archive_write_data() except that it performs a seek on the file being written to the specified offset before writing the data. This is useful when restoring sparse files from archive formats that support sparse files. Returns number of bytes written or -1 on error. (Note: This is currently not supported for archive_write handles, only for archive_write_disk handles.

RETURN VALUES
This function returns the number of bytes actually written, or a negative error code on error.

ERRORS
Detailed error codes and textual descriptions are available from the archive_errno() and archive_error_string() functions.

BUGS
In libarchive 3.x, this function sometimes returns zero on success instead of returning the number of bytes written. Specifically, this occurs when writing to an archive_write_disk handle. Clients should treat any value less than zero as an error and consider any non-negative value as success.

SEE ALSO
tar(1), libarchive(3), archive_write_finish_entry(3), archive_write_set_options(3), cpio(5), mtree(5), tar(5)