Blame libarchive/archive_write_blocksize.3

Packit 08bd4c
.\" Copyright (c) 2003-2011 Tim Kientzle
Packit 08bd4c
.\" All rights reserved.
Packit 08bd4c
.\"
Packit 08bd4c
.\" Redistribution and use in source and binary forms, with or without
Packit 08bd4c
.\" modification, are permitted provided that the following conditions
Packit 08bd4c
.\" are met:
Packit 08bd4c
.\" 1. Redistributions of source code must retain the above copyright
Packit 08bd4c
.\"    notice, this list of conditions and the following disclaimer.
Packit 08bd4c
.\" 2. Redistributions in binary form must reproduce the above copyright
Packit 08bd4c
.\"    notice, this list of conditions and the following disclaimer in the
Packit 08bd4c
.\"    documentation and/or other materials provided with the distribution.
Packit 08bd4c
.\"
Packit 08bd4c
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
Packit 08bd4c
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Packit 08bd4c
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Packit 08bd4c
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
Packit 08bd4c
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit 08bd4c
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
Packit 08bd4c
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
Packit 08bd4c
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
Packit 08bd4c
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
Packit 08bd4c
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
Packit 08bd4c
.\" SUCH DAMAGE.
Packit 08bd4c
.\"
Packit 08bd4c
.\" $FreeBSD$
Packit 08bd4c
.\"
Packit 08bd4c
.Dd February 2, 2012
Packit 08bd4c
.Dt ARCHIVE_WRITE_BLOCKSIZE 3
Packit 08bd4c
.Os
Packit 08bd4c
.Sh NAME
Packit 08bd4c
.Nm archive_write_get_bytes_per_block ,
Packit 08bd4c
.Nm archive_write_set_bytes_per_block ,
Packit 08bd4c
.Nm archive_write_get_bytes_in_last_block ,
Packit 08bd4c
.Nm archive_write_set_bytes_in_last_block
Packit 08bd4c
.Nd functions for creating archives
Packit 08bd4c
.Sh LIBRARY
Packit 08bd4c
Streaming Archive Library (libarchive, -larchive)
Packit 08bd4c
.Sh SYNOPSIS
Packit 08bd4c
.In archive.h
Packit 08bd4c
.Ft int
Packit 08bd4c
.Fn archive_write_get_bytes_per_block "struct archive *"
Packit 08bd4c
.Ft int
Packit 08bd4c
.Fn archive_write_set_bytes_per_block "struct archive *" "int bytes_per_block"
Packit 08bd4c
.Ft int
Packit 08bd4c
.Fn archive_write_get_bytes_in_last_block "struct archive *"
Packit 08bd4c
.Ft int
Packit 08bd4c
.Fn archive_write_set_bytes_in_last_block "struct archive *" "int"
Packit 08bd4c
.Sh DESCRIPTION
Packit 08bd4c
.Bl -tag -width indent
Packit 08bd4c
.It Fn archive_write_set_bytes_per_block
Packit 08bd4c
Sets the block size used for writing the archive data.
Packit 08bd4c
Every call to the write callback function, except possibly the last one, will
Packit 08bd4c
use this value for the length.
Packit 08bd4c
The default is to use a block size of 10240 bytes.
Packit 08bd4c
Note that a block size of zero will suppress internal blocking
Packit 08bd4c
and cause writes to be sent directly to the write callback as they occur.
Packit 08bd4c
.It Fn archive_write_get_bytes_per_block
Packit 08bd4c
Retrieve the block size to be used for writing.
Packit 08bd4c
A value of -1 here indicates that the library should use default values.
Packit 08bd4c
A value of zero indicates that internal blocking is suppressed.
Packit 08bd4c
.It Fn archive_write_set_bytes_in_last_block
Packit 08bd4c
Sets the block size used for writing the last block.
Packit 08bd4c
If this value is zero, the last block will be padded to the same size
Packit 08bd4c
as the other blocks.
Packit 08bd4c
Otherwise, the final block will be padded to a multiple of this size.
Packit 08bd4c
In particular, setting it to 1 will cause the final block to not be padded.
Packit 08bd4c
For compressed output, any padding generated by this option
Packit 08bd4c
is applied only after the compression.
Packit 08bd4c
The uncompressed data is always unpadded.
Packit 08bd4c
The default is to pad the last block to the full block size (note that
Packit 08bd4c
.Fn archive_write_open_filename
Packit 08bd4c
will set this based on the file type).
Packit 08bd4c
Unlike the other
Packit 08bd4c
.Dq set
Packit 08bd4c
functions, this function can be called after the archive is opened.
Packit 08bd4c
.It Fn archive_write_get_bytes_in_last_block
Packit 08bd4c
Retrieve the currently-set value for last block size.
Packit 08bd4c
A value of -1 here indicates that the library should use default values.
Packit 08bd4c
.El
Packit 08bd4c
.\" .Sh EXAMPLE
Packit 08bd4c
.Sh RETURN VALUES
Packit 08bd4c
.Fn archive_write_set_bytes_per_block
Packit 08bd4c
and
Packit 08bd4c
.Fn archive_write_set_bytes_in_last_block
Packit 08bd4c
return
Packit 08bd4c
.Cm ARCHIVE_OK
Packit 08bd4c
on success, or
Packit 08bd4c
.Cm ARCHIVE_FATAL .
Packit 08bd4c
.Pp
Packit 08bd4c
.Fn archive_write_get_bytes_per_block
Packit 08bd4c
and
Packit 08bd4c
.Fn archive_write_get_bytes_in_last_block
Packit 08bd4c
return currently configured block size
Packit 08bd4c
.Po
Packit 08bd4c
.Li -1
Packit 08bd4c
indicates the default block size
Packit 08bd4c
.Pc ,
Packit 08bd4c
or
Packit 08bd4c
.Cm ARCHIVE_FATAL .
Packit 08bd4c
.\"
Packit 08bd4c
.Sh ERRORS
Packit 08bd4c
Detailed error codes and textual descriptions are available from the
Packit 08bd4c
.Fn archive_errno
Packit 08bd4c
and
Packit 08bd4c
.Fn archive_error_string
Packit 08bd4c
functions.
Packit 08bd4c
.\"
Packit 08bd4c
.Sh SEE ALSO
Packit 08bd4c
.Xr tar 1 ,
Packit 08bd4c
.Xr libarchive 3 ,
Packit 08bd4c
.Xr archive_write_set_options 3 ,
Packit 08bd4c
.Xr cpio 5 ,
Packit 08bd4c
.Xr mtree 5 ,
Packit 08bd4c
.Xr tar 5