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 February 14, 2013 28.Dt ARCHIVE_WRITE_FORMAT 3 29.Os 30.Sh NAME 31.Nm archive_write_set_format , 32.Nm archive_write_set_format_7zip , 33.Nm archive_write_set_format_ar , 34.Nm archive_write_set_format_ar_bsd , 35.Nm archive_write_set_format_ar_svr4 , 36.Nm archive_write_set_format_by_name , 37.Nm archive_write_set_format_cpio , 38.Nm archive_write_set_format_cpio_bin , 39.Nm archive_write_set_format_cpio_newc , 40.Nm archive_write_set_format_cpio_odc , 41.Nm archive_write_set_format_cpio_pwb , 42.Nm archive_write_set_format_filter_by_ext , 43.Nm archive_write_set_format_filter_by_ext_def , 44.Nm archive_write_set_format_gnutar , 45.Nm archive_write_set_format_iso9660 , 46.Nm archive_write_set_format_mtree , 47.Nm archive_write_set_format_mtree_classic , 48.Nm archive_write_set_format_mtree_default , 49.Nm archive_write_set_format_pax , 50.Nm archive_write_set_format_pax_restricted , 51.Nm archive_write_set_format_raw , 52.Nm archive_write_set_format_shar , 53.Nm archive_write_set_format_shar_dump , 54.Nm archive_write_set_format_ustar , 55.Nm archive_write_set_format_v7tar , 56.Nm archive_write_set_format_warc , 57.Nm archive_write_set_format_xar , 58.Nm archive_write_set_format_zip 59.Nd functions for creating archives 60.Sh LIBRARY 61Streaming Archive Library (libarchive, -larchive) 62.Sh SYNOPSIS 63.In archive.h 64.Ft int 65.Fn archive_write_set_format "struct archive *" "int code" 66.Ft int 67.Fn archive_write_set_format_7zip "struct archive *" 68.Ft int 69.Fn archive_write_set_format_ar "struct archive *" 70.Ft int 71.Fn archive_write_set_format_ar_bsd "struct archive *" 72.Ft int 73.Fn archive_write_set_format_ar_svr4 "struct archive *" 74.Ft int 75.Fn archive_write_set_format_by_name "struct archive *" "const char *name" 76.Ft int 77.Fn archive_write_set_format_cpio "struct archive *" 78.Ft int 79.Fn archive_write_set_format_cpio_bin "struct archive *" 80.Ft int 81.Fn archive_write_set_format_cpio_newc "struct archive *" 82.Ft int 83.Fn archive_write_set_format_cpio_odc "struct archive *" 84.Ft int 85.Fn archive_write_set_format_cpio_pwb "struct archive *" 86.Ft int 87.Fn archive_write_set_format_filter_by_ext "struct archive *" "const char *filename" 88.Ft int 89.Fn archive_write_set_format_filter_by_ext_def "struct archive *" "const char *filename" "const char *def_ext" 90.Ft int 91.Fn archive_write_set_format_gnutar "struct archive *" 92.Ft int 93.Fn archive_write_set_format_iso9660 "struct archive *" 94.Ft int 95.Fn archive_write_set_format_mtree "struct archive *" 96.Ft int 97.Fn archive_write_set_format_pax "struct archive *" 98.Ft int 99.Fn archive_write_set_format_pax_restricted "struct archive *" 100.Ft int 101.Fn archive_write_set_format_raw "struct archive *" 102.Ft int 103.Fn archive_write_set_format_shar "struct archive *" 104.Ft int 105.Fn archive_write_set_format_shar_dump "struct archive *" 106.Ft int 107.Fn archive_write_set_format_ustar "struct archive *" 108.Ft int 109.Fn archive_write_set_format_v7tar "struct archive *" 110.Ft int 111.Fn archive_write_set_format_warc "struct archive *" 112.Ft int 113.Fn archive_write_set_format_xar "struct archive *" 114.Ft int 115.Fn archive_write_set_format_zip "struct archive *" 116.Sh DESCRIPTION 117These functions set the format that will be used for the archive. 118.Pp 119The library can write a variety of common archive formats. 120.Bl -tag -width indent 121.It Fn archive_write_set_format 122Sets the format based on the format code (see 123.Pa archive.h 124for the full list of format codes). 125In particular, this can be used in conjunction with 126.Fn archive_format 127to create a new archive with the same format as an existing archive. 128.It Fn archive_write_set_format_by_name 129Sets the corresponding format based on the common name. 130.It Xo 131.Fn archive_write_set_format_filter_by_ext 132.Fn archive_write_set_format_filter_by_ext_def 133.Xc 134Sets both filters and format based on the output filename. 135Supported extensions: .7z, .zip, .jar, .cpio, .iso, .a, .ar, .tar, .tgz, .tar.gz, .tar.bz2, .tar.xz 136.It Xo 137.Fn archive_write_set_format_7zip 138.Fn archive_write_set_format_ar_bsd 139.Fn archive_write_set_format_ar_svr4 140.Fn archive_write_set_format_cpio 141.Fn archive_write_set_format_cpio_bin 142.Fn archive_write_set_format_cpio_newc 143.Fn archive_write_set_format_cpio_odc 144.Fn archive_write_set_format_cpio_pwb 145.Fn archive_write_set_format_gnutar 146.Fn archive_write_set_format_iso9660 147.Fn archive_write_set_format_mtree 148.Fn archive_write_set_format_mtree_classic 149.Fn archive_write_set_format_pax 150.Fn archive_write_set_format_pax_restricted 151.Fn archive_write_set_format_raw 152.Fn archive_write_set_format_shar 153.Fn archive_write_set_format_shar_dump 154.Fn archive_write_set_format_ustar 155.Fn archive_write_set_format_v7tar 156.Fn archive_write_set_format_warc 157.Fn archive_write_set_format_xar 158.Fn archive_write_set_format_zip 159.Xc 160Set the format as specified. 161More details on the formats supported by libarchive can be found in the 162.Xr libarchive-formats 5 163manual page. 164.El 165.\" 166.Sh RETURN VALUES 167These functions return 168.Cm ARCHIVE_OK 169on success, or 170.Cm ARCHIVE_FATAL . 171.\" 172.Sh ERRORS 173Detailed error codes and textual descriptions are available from the 174.Fn archive_errno 175and 176.Fn archive_error_string 177functions. 178.\" 179.Sh SEE ALSO 180.Xr tar 1 , 181.Xr archive_write 3 , 182.Xr archive_write_set_options 3 , 183.Xr libarchive 3 , 184.Xr cpio 5 , 185.Xr libarchive-formats 5 , 186.Xr mtree 5 , 187.Xr tar 5 188