1.\" Copyright (c) 2003-2011 Tim Kientzle
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd August 14, 2014
28.Dt ARCHIVE_WRITE_FILTER 3
29.Os
30.Sh NAME
31.Nm archive_write_add_filter_b64encode ,
32.Nm archive_write_add_filter_by_name ,
33.Nm archive_write_add_filter_bzip2 ,
34.Nm archive_write_add_filter_compress ,
35.Nm archive_write_add_filter_grzip ,
36.Nm archive_write_add_filter_gzip ,
37.Nm archive_write_add_filter_lrzip ,
38.Nm archive_write_add_filter_lz4 ,
39.Nm archive_write_add_filter_lzip ,
40.Nm archive_write_add_filter_lzma ,
41.Nm archive_write_add_filter_lzop ,
42.Nm archive_write_add_filter_none ,
43.Nm archive_write_add_filter_program ,
44.Nm archive_write_add_filter_uuencode ,
45.Nm archive_write_add_filter_xz
46.Nd functions for writing streaming archives
47.Sh LIBRARY
48Streaming Archive Library (libarchive, -larchive)
49.Sh SYNOPSIS
50.In archive.h
51.Ft int
52.Fn archive_write_add_filter_b64encode "struct archive *"
53.Ft int
54.Fn archive_write_add_filter_bzip2 "struct archive *"
55.Ft int
56.Fn archive_write_add_filter_compress "struct archive *"
57.Ft int
58.Fn archive_write_add_filter_grzip "struct archive *"
59.Ft int
60.Fn archive_write_add_filter_gzip "struct archive *"
61.Ft int
62.Fn archive_write_add_filter_lrzip "struct archive *"
63.Ft int
64.Fn archive_write_add_filter_lz4 "struct archive *"
65.Ft int
66.Fn archive_write_add_filter_lzip "struct archive *"
67.Ft int
68.Fn archive_write_add_filter_lzma "struct archive *"
69.Ft int
70.Fn archive_write_add_filter_lzop "struct archive *"
71.Ft int
72.Fn archive_write_add_filter_none "struct archive *"
73.Ft int
74.Fn archive_write_add_filter_program "struct archive *" "const char * cmd"
75.Ft int
76.Fn archive_write_add_filter_uuencode "struct archive *"
77.Ft int
78.Fn archive_write_add_filter_xz "struct archive *"
79.Sh DESCRIPTION
80.Bl -tag -width indent
81.It Xo
82.Fn archive_write_add_filter_bzip2 ,
83.Fn archive_write_add_filter_compress ,
84.Fn archive_write_add_filter_grzip ,
85.Fn archive_write_add_filter_gzip ,
86.Fn archive_write_add_filter_lrzip ,
87.Fn archive_write_add_filter_lz4 ,
88.Fn archive_write_add_filter_lzip ,
89.Fn archive_write_add_filter_lzma ,
90.Fn archive_write_add_filter_lzop ,
91.Fn archive_write_add_filter_xz ,
92.Xc
93The resulting archive will be compressed as specified.
94Note that the compressed output is always properly blocked.
95.It Xo
96.Fn archive_write_add_filter_b64encode ,
97.Fn archive_write_add_filter_uuencode ,
98.Xc
99The output will be encoded as specified.
100The encoded output is always properly blocked.
101.It Fn archive_write_add_filter_none
102This is never necessary.
103It is provided only for backwards compatibility.
104.It Fn archive_write_add_filter_program
105The archive will be fed into the specified compression program.
106The output of that program is blocked and written to the client
107write callbacks.
108.El
109.Sh RETURN VALUES
110These functions return
111.Cm ARCHIVE_OK
112on success, or
113.Cm ARCHIVE_FATAL .
114.\"
115.Sh ERRORS
116Detailed error codes and textual descriptions are available from the
117.Fn archive_errno
118and
119.Fn archive_error_string
120functions.
121.\"
122.Sh SEE ALSO
123.Xr tar 1 ,
124.Xr libarchive 3 ,
125.Xr archive_write 3 ,
126.Xr archive_write_format 3 ,
127.Xr archive_write_set_options 3 ,
128.Xr cpio 5 ,
129.Xr mtree 5 ,
130.Xr tar 5
131