| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761 | 
							- .\" Copyright (c) 2003-2010 Tim Kientzle
 
- .\" All rights reserved.
 
- .\"
 
- .\" Redistribution and use in source and binary forms, with or without
 
- .\" modification, are permitted provided that the following conditions
 
- .\" are met:
 
- .\" 1. Redistributions of source code must retain the above copyright
 
- .\"    notice, this list of conditions and the following disclaimer.
 
- .\" 2. Redistributions in binary form must reproduce the above copyright
 
- .\"    notice, this list of conditions and the following disclaimer in the
 
- .\"    documentation and/or other materials provided with the distribution.
 
- .\"
 
- .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 
- .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
- .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
- .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 
- .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
- .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 
- .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 
- .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
- .\" SUCH DAMAGE.
 
- .\"
 
- .Dd January 31, 2020
 
- .Dt ARCHIVE_WRITE_OPTIONS 3
 
- .Os
 
- .Sh NAME
 
- .Nm archive_write_set_filter_option ,
 
- .Nm archive_write_set_format_option ,
 
- .Nm archive_write_set_option ,
 
- .Nm archive_write_set_options
 
- .Nd functions controlling options for writing archives
 
- .Sh LIBRARY
 
- Streaming Archive Library (libarchive, -larchive)
 
- .Sh SYNOPSIS
 
- .Ft int
 
- .Fo archive_write_set_filter_option
 
- .Fa "struct archive *"
 
- .Fa "const char *module"
 
- .Fa "const char *option"
 
- .Fa "const char *value"
 
- .Fc
 
- .Ft int
 
- .Fo archive_write_set_format_option
 
- .Fa "struct archive *"
 
- .Fa "const char *module"
 
- .Fa "const char *option"
 
- .Fa "const char *value"
 
- .Fc
 
- .Ft int
 
- .Fo archive_write_set_option
 
- .Fa "struct archive *"
 
- .Fa "const char *module"
 
- .Fa "const char *option"
 
- .Fa "const char *value"
 
- .Fc
 
- .Ft int
 
- .Fo archive_write_set_options
 
- .Fa "struct archive *"
 
- .Fa "const char *options"
 
- .Fc
 
- .Sh DESCRIPTION
 
- These functions provide a way for libarchive clients to configure
 
- specific write modules.
 
- .Bl -tag -width indent
 
- .It Xo
 
- .Fn archive_write_set_filter_option ,
 
- .Fn archive_write_set_format_option
 
- .Xc
 
- Specifies an option that will be passed to the currently-registered
 
- filters (including decompression filters) or format readers.
 
- .Pp
 
- If
 
- .Ar option
 
- and
 
- .Ar value
 
- are both
 
- .Dv NULL ,
 
- these functions will do nothing and
 
- .Cm ARCHIVE_OK
 
- will be returned.
 
- If
 
- .Ar option
 
- is
 
- .Dv NULL
 
- but
 
- .Ar value
 
- is not, these functions will do nothing and
 
- .Cm ARCHIVE_FAILED
 
- will be returned.
 
- .Pp
 
- If
 
- .Ar module
 
- is not
 
- .Dv NULL ,
 
- .Ar option
 
- and
 
- .Ar value
 
- will be provided to the filter or reader named
 
- .Ar module .
 
- The return value will be either
 
- .Cm ARCHIVE_OK
 
- if the option was successfully handled or
 
- .Cm ARCHIVE_WARN
 
- if the option was unrecognized by the module or could otherwise
 
- not be handled.
 
- If there is no such module,
 
- .Cm ARCHIVE_FAILED
 
- will be returned.
 
- .Pp
 
- If
 
- .Ar module
 
- is
 
- .Dv NULL ,
 
- .Ar option
 
- and
 
- .Ar value
 
- will be provided to every registered module.
 
- If any module returns
 
- .Cm ARCHIVE_FATAL ,
 
- this value will be returned immediately.
 
- Otherwise,
 
- .Cm ARCHIVE_OK
 
- will be returned if any module accepts the option, and
 
- .Cm ARCHIVE_FAILED
 
- in all other cases.
 
- .\"
 
- .It Fn archive_write_set_option
 
- Calls
 
- .Fn archive_write_set_format_option ,
 
- then
 
- .Fn archive_write_set_filter_option .
 
- If either function returns
 
- .Cm ARCHIVE_FATAL ,
 
- .Cm ARCHIVE_FATAL
 
- will be returned
 
- immediately.
 
- Otherwise, the greater of the two values will be returned.
 
- .\"
 
- .It Fn archive_write_set_options
 
- .Ar options
 
- is a comma-separated list of options.
 
- If
 
- .Ar options
 
- is
 
- .Dv NULL
 
- or empty,
 
- .Cm ARCHIVE_OK
 
- will be returned immediately.
 
- .Pp
 
- Individual options have one of the following forms:
 
- .Bl -tag -compact -width indent
 
- .It Ar option=value
 
- The option/value pair will be provided to every module.
 
- Modules that do not accept an option with this name will ignore it.
 
- .It Ar option
 
- The option will be provided to every module with a value of
 
- .Dq 1 .
 
- .It Ar !option
 
- The option will be provided to every module with a NULL value.
 
- .It Ar module:option=value , Ar module:option , Ar module:!option
 
- As above, but the corresponding option and value will be provided
 
- only to modules whose name matches
 
- .Ar module .
 
- .El
 
- .El
 
- .\"
 
- .Sh OPTIONS
 
- .Bl -tag -compact -width indent
 
- .It Filter b64encode
 
- .Bl -tag -compact -width indent
 
- .It Cm mode
 
- The value is interpreted as octal digits specifying the file mode.
 
- .It Cm name
 
- The value specifies the file name.
 
- .El
 
- .It Filter bzip2
 
- .Bl -tag -compact -width indent
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- bzip2 compression level. Supported values are from 1 to 9.
 
- .El
 
- .It Filter gzip
 
- .Bl -tag -compact -width indent
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- gzip compression level. Supported values are from 0 to 9.
 
- .It Cm timestamp
 
- Store timestamp. This is enabled by default.
 
- .El
 
- .It Filter lrzip
 
- .Bl -tag -compact -width indent
 
- .It Cm compression Ns = Ns Ar type
 
- Use
 
- .Ar type
 
- as compression method.
 
- Supported values are
 
- .Dq bzip2 ,
 
- .Dq gzipi ,
 
- .Dq lzo
 
- .Pq ultra fast ,
 
- and
 
- .Dq zpaq
 
- .Pq best, extremely slow .
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- lrzip compression level. Supported values are from 1 to 9.
 
- .El
 
- .It Filter lz4
 
- .Bl -tag -compact -width indent
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- lz4 compression level. Supported values are from 0 to 9.
 
- .It Cm stream-checksum
 
- Enable stream checksum. This is enabled by default.
 
- .It Cm block-checksum
 
- Enable block checksum. This is disabled by default.
 
- .It Cm block-size
 
- The value is interpreted as a decimal integer specifying the
 
- lz4 compression block size. Supported values are from 4 to 7
 
- .Pq default .
 
- .It Cm block-dependence
 
- Use the previous block of the block being compressed for
 
- a compression dictionary to improve compression ratio.
 
- This is disabled by default.
 
- .El
 
- .It Filter lzop
 
- .Bl -tag -compact -width indent
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- lzop compression level. Supported values are from 1 to 9.
 
- .El
 
- .It Filter uuencode
 
- .Bl -tag -compact -width indent
 
- .It Cm mode
 
- The value is interpreted as octal digits specifying the file mode.
 
- .It Cm name
 
- The value specifies the file name.
 
- .El
 
- .It Filter xz
 
- .Bl -tag -compact -width indent
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- compression level. Supported values are from 0 to 9.
 
- .It Cm threads
 
- The value is interpreted as a decimal integer specifying the
 
- number of threads for multi-threaded lzma compression.
 
- If supported, the default value is read from
 
- .Fn lzma_cputhreads .
 
- .El
 
- .It Filter zstd
 
- .Bl -tag -compact -width indent
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- compression level. Supported values depend on the library version,
 
- common values are from 1 to 22.
 
- .It Cm long
 
- Enables long distance matching. The value is interpreted as a
 
- decimal integer specifying log2 window size in bytes. Values from
 
- 10 to 30 for 32 bit, or 31 for 64 bit, are supported.
 
- .It Cm threads
 
- The value is interpreted as a decimal integer specifying the
 
- number of threads for multi-threaded zstd compression.
 
- If set to 0, zstd will attempt to detect and use the number
 
- of active physical CPU cores.
 
- .El
 
- .It Format 7zip
 
- .Bl -tag -compact -width indent
 
- .It Cm compression
 
- The value is one of
 
- .Dq store ,
 
- .Dq copy ,
 
- .Dq deflate ,
 
- .Dq bzip2 ,
 
- .Dq lzma1 ,
 
- .Dq lzma2 ,
 
- .Dq ppmd ,
 
- or
 
- .Dq zstd
 
- to indicate how the following entries should be compressed.
 
- The values
 
- .Dq store
 
- and
 
- .Dq copy
 
- are synonyms.
 
- Note that this setting is ignored for directories, symbolic links,
 
- and other special entries.
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- compression level.
 
- Values between 0 and 9 are supported, with the exception of bzip2
 
- which only supports values between 1 and 9, and zstd which may
 
- support negative values depending on the library version and
 
- commonly used values 1 through 22.
 
- The interpretation of the compression level depends on the chosen
 
- compression method.
 
- .It Cm threads
 
- The value is interpreted as a decimal integer specifying the
 
- number of threads for multi-threaded compression (for compressors
 
- like zstd that support it). If set to 0, an attempt will be made
 
- to discover the number of CPU cores.
 
- .El
 
- .It Format bin
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file names.
 
- .El
 
- .It Format gnutar
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file, group and user names.
 
- .El
 
- .It Format iso9660 - volume metadata
 
- These options are used to set standard ISO9660 metadata.
 
- .Bl -tag -compact -width indent
 
- .It Cm abstract-file Ns = Ns Ar filename
 
- The file with the specified name will be identified in the ISO9660 metadata
 
- as holding the abstract for this volume.
 
- Default: none.
 
- .It Cm application-id Ns = Ns Ar filename
 
- The file with the specified name will be identified in the ISO9660 metadata
 
- as holding the application identifier for this volume.
 
- Default: none.
 
- .It Cm biblio-file Ns = Ns Ar filename
 
- The file with the specified name will be identified in the ISO9660 metadata
 
- as holding the bibliography for this volume.
 
- Default: none.
 
- .It Cm copyright-file Ns = Ns Ar filename
 
- The file with the specified name will be identified in the ISO9660 metadata
 
- as holding the copyright for this volume.
 
- Default: none.
 
- .It Cm publisher Ns = Ns Ar filename
 
- The file with the specified name will be identified in the ISO9660 metadata
 
- as holding the publisher information for this volume.
 
- Default: none.
 
- .It Cm volume-id Ns = Ns Ar string
 
- The specified string will be used as the Volume Identifier in the ISO9660 metadata.
 
- It is limited to 32 bytes.
 
- Default: none.
 
- .El
 
- .It Format iso9660 - boot support
 
- These options are used to make an ISO9660 image that can be directly
 
- booted on various systems.
 
- .Bl -tag -compact -width indent
 
- .It Cm boot Ns = Ns Ar filename
 
- The file matching this name will be used as the El Torito boot image file.
 
- .It Cm boot-catalog Ns = Ns Ar name
 
- The name that will be used for the El Torito boot catalog.
 
- Default:
 
- .Ar boot.catalog
 
- .It Cm boot-info-table
 
- The boot image file provided by the
 
- .Cm boot Ns = Ns Ar filename
 
- option will be edited with appropriate boot information in bytes 8 through 64.
 
- Default: disabled
 
- .It Cm boot-load-seg Ns = Ns Ar hexadecimal-number
 
- The load segment for a no-emulation boot image.
 
- .It Cm boot-load-size Ns = Ns Ar decimal-number
 
- The number of "virtual" 512-byte sectors to be loaded from a no-emulation boot image.
 
- Some very old BIOSes can only load very small images, setting this
 
- value to 4 will often allow such BIOSes to load the first part of
 
- the boot image (which will then need to be intelligent enough to
 
- load the rest of itself).
 
- This should not be needed unless you are trying to support systems with very old BIOSes.
 
- This defaults to the full size of the image.
 
- .It Cm boot-type Ns = Ns Ar value
 
- Specifies the boot semantics used by the El Torito boot image:
 
- If the
 
- .Ar value
 
- is
 
- .Cm fd ,
 
- then the boot image is assumed to be a bootable floppy image.
 
- If the
 
- .Ar value
 
- is
 
- .Cm hd ,
 
- then the boot image is assumed to be a bootable hard disk image.
 
- If the
 
- .Ar value
 
- is
 
- .Cm no-emulation ,
 
- the boot image is used without floppy or hard disk emulation.
 
- If the boot image is exactly 1.2MB, 1.44MB, or 2.88MB, then
 
- the default is
 
- .Cm fd ,
 
- otherwise the default is
 
- .Cm no-emulation .
 
- .El
 
- .It Format iso9660 - filename and size extensions
 
- Various extensions to the base ISO9660 format.
 
- .Bl -tag -compact -width indent
 
- .It Cm allow-ldots
 
- If enabled, allows filenames to begin with a leading period.
 
- If disabled, filenames that begin with a leading period will have
 
- that period replaced by an underscore character in the standard ISO9660
 
- namespace.
 
- This does not impact names stored in the Rockridge or Joliet extension area.
 
- Default: disabled.
 
- .It Cm allow-lowercase
 
- If enabled, allows filenames to contain lowercase characters.
 
- If disabled, filenames will be forced to uppercase.
 
- This does not impact names stored in the Rockridge or Joliet extension area.
 
- Default: disabled.
 
- .It Cm allow-multidot
 
- If enabled, allows filenames to contain multiple period characters, in violation of the ISO9660 specification.
 
- If disabled, additional periods will be converted to underscore characters.
 
- This does not impact names stored in the Rockridge or Joliet extension area.
 
- Default: disabled.
 
- .It Cm allow-period
 
- If enabled, allows filenames to contain trailing period characters, in violation of the ISO9660 specification.
 
- If disabled, trailing periods will be converted to underscore characters.
 
- This does not impact names stored in the Rockridge or Joliet extension area.
 
- Default: disabled.
 
- .It Cm allow-pvd-lowercase
 
- If enabled, the Primary Volume Descriptor may contain lowercase ASCII characters, in violation of the ISO9660 specification.
 
- If disabled, characters will be converted to uppercase ASCII.
 
- Default: disabled.
 
- .It Cm allow-sharp-tilde
 
- If enabled, sharp and tilde characters will be permitted in filenames, in violation if the ISO9660 specification.
 
- If disabled, such characters will be converted to underscore characters.
 
- Default: disabled.
 
- .It Cm allow-vernum
 
- If enabled, version numbers will be included with files.
 
- If disabled, version numbers will be suppressed, in violation of the ISO9660 standard.
 
- This does not impact names stored in the Rockridge or Joliet extension area.
 
- Default: enabled.
 
- .It Cm iso-level
 
- This enables support for file size and file name extensions in the
 
- core ISO9660 area.
 
- The name extensions specified here do not affect the names stored in the Rockridge or Joliet extension areas.
 
- .Bl -tag -compact -width indent
 
- .It Cm iso-level=1
 
- The most compliant form of ISO9660 image.
 
- Filenames are limited to 8.3 uppercase format,
 
- directory names are limited to 8 uppercase characters,
 
- files are limited to 4 GiB,
 
- the complete ISO9660 image cannot exceed 4 GiB.
 
- .It Cm iso-level=2
 
- Filenames are limited to 30 uppercase characters with a 30-character extension,
 
- directory names are limited to 30 characters,
 
- files are limited to 4 GiB.
 
- .It Cm iso-level=3
 
- As with
 
- .Cm iso-level=2 ,
 
- except that files may exceed 4 GiB.
 
- .It Cm iso-level=4
 
- As with
 
- .Cm iso-level=3 ,
 
- except that filenames may be up to 193 characters
 
- and may include arbitrary 8-bit characters.
 
- .El
 
- .It Cm joliet
 
- Microsoft's Joliet extensions store a completely separate set of directory information about each file.
 
- In particular, this information includes Unicode filenames of up to 255 characters.
 
- Default: enabled.
 
- .It Cm limit-depth
 
- If enabled, libarchive will use directory relocation records to ensure that
 
- no pathname exceeds the ISO9660 limit of 8 directory levels.
 
- If disabled, no relocation will occur.
 
- Default: enabled.
 
- .It Cm limit-dirs
 
- If enabled, libarchive will cause an error if there are more than
 
- 65536 directories.
 
- If disabled, there is no limit on the number of directories.
 
- Default: enabled
 
- .It Cm pad
 
- If enabled, 300 kiB of zero bytes will be appended to the end of the archive.
 
- Default: enabled
 
- .It Cm relaxed-filenames
 
- If enabled, all 7-bit ASCII characters are permitted in filenames
 
- (except lowercase characters unless
 
- .Cm allow-lowercase
 
- is also specified).
 
- This violates ISO9660 standards.
 
- This does not impact names stored in the Rockridge or Joliet extension area.
 
- Default: disabled.
 
- .It Cm rockridge
 
- The Rockridge extensions store an additional set of POSIX-style file
 
- information with each file, including mtime, atime, ctime, permissions,
 
- and long filenames with arbitrary 8-bit characters.
 
- These extensions also support symbolic links and other POSIX file types.
 
- Default: enabled.
 
- .El
 
- .It Format iso9660 - zisofs support
 
- The zisofs extensions permit each file to be independently compressed
 
- using a gzip-compatible compression.
 
- This can provide significant size savings, but requires the reading
 
- system to have support for these extensions.
 
- These extensions are disabled by default.
 
- .Bl -tag -compact -width indent
 
- .It Cm compression-level Ns = Ns number
 
- The compression level used by the deflate compressor.
 
- Ranges from 0 (least effort) to 9 (most effort).
 
- Default: 6
 
- .It Cm zisofs
 
- Synonym for
 
- .Cm zisofs=direct .
 
- .It Cm zisofs=direct
 
- Compress each file in the archive.
 
- Unlike
 
- .Cm zisofs=indirect ,
 
- this is handled entirely within libarchive and does not require a
 
- separate utility.
 
- For best results, libarchive tests each file and will store
 
- the file uncompressed if the compression does not actually save any space.
 
- In particular, files under 2k will never be compressed.
 
- Note that boot image files are never compressed.
 
- .It Cm zisofs=indirect
 
- Recognizes files that have already been compressed with the
 
- .Cm mkzftree
 
- utility and sets up the necessary file metadata so that
 
- readers will correctly identify these as zisofs-compressed files.
 
- .It Cm zisofs-exclude Ns = Ns Ar filename
 
- Specifies a filename that should not be compressed when using
 
- .Cm zisofs=direct .
 
- This option can be provided multiple times to suppress compression
 
- on many files.
 
- .El
 
- .It Format mtree
 
- .Bl -tag -compact -width indent
 
- .It Cm cksum , Cm device , Cm flags , Cm gid , Cm gname , Cm indent , Cm link , Cm md5 , Cm mode , Cm nlink , Cm rmd160 , Cm sha1 , Cm sha256 , Cm sha384 , Cm sha512 , Cm size , Cm time , Cm uid , Cm uname
 
- Enable a particular keyword in the mtree output.
 
- Prefix with an exclamation mark to disable the corresponding keyword.
 
- The default is equivalent to
 
- .Dq device, flags, gid, gname, link, mode, nlink, size, time, type, uid, uname .
 
- .It Cm all
 
- Enables all of the above keywords.
 
- .It Cm use-set
 
- Enables generation of
 
- .Cm /set
 
- lines that specify default values for the following files and/or directories.
 
- .It Cm indent
 
- XXX needs explanation XXX
 
- .El
 
- .It Format newc
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file names.
 
- .El
 
- .It Format odc
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file names.
 
- .El
 
- .It Format pwb
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file names.
 
- .El
 
- .It Format pax
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file, group and user names.
 
- The value is one of
 
- .Dq BINARY
 
- or
 
- .Dq UTF-8 .
 
- With
 
- .Dq BINARY
 
- there is no character conversion, with
 
- .Dq UTF-8
 
- names are converted to UTF-8.
 
- .It Cm xattrheader
 
- When storing extended attributes, this option configures which
 
- headers should be written. The value is one of
 
- .Dq all ,
 
- .Dq LIBARCHIVE ,
 
- or
 
- .Dq SCHILY .
 
- By default, both
 
- .Dq LIBARCHIVE.xattr
 
- and
 
- .Dq SCHILY.xattr
 
- headers are written.
 
- .El
 
- .It Format ustar
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file, group and user names.
 
- .El
 
- .It Format v7tar
 
- .Bl -tag -compact -width indent
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file, group and user names.
 
- .El
 
- .It Format warc
 
- .Bl -tag -compact -width indent
 
- .It Cm omit-warcinfo
 
- Set to
 
- .Dq true
 
- to disable output of the warcinfo record.
 
- .El
 
- .It Format xar
 
- .Bl -tag -compact -width indent
 
- .It Cm checksum Ns = Ns Ar type
 
- Use
 
- .Ar type
 
- as file checksum method.
 
- Supported values are
 
- .Dq none ,
 
- .Dq md5 ,
 
- and
 
- .Dq sha1
 
- .Pq default .
 
- .It Cm compression Ns = Ns Ar type
 
- Use
 
- .Ar type
 
- as compression method.
 
- Supported values are
 
- .Dq none ,
 
- .Dq bzip2 ,
 
- .Dq gzip
 
- .Pq default ,
 
- .Dq lzma
 
- and
 
- .Dq xz .
 
- .It Cm compression_level
 
- The value is a decimal integer from 1 to 9 specifying the compression level.
 
- .It Cm toc-checksum Ns = Ns Ar type
 
- Use
 
- .Ar type
 
- as table of contents checksum method.
 
- Supported values are
 
- .Dq none ,
 
- .Dq md5
 
- and
 
- .Dq sha1
 
- .Pq default .
 
- .El
 
- .It Format zip
 
- .Bl -tag -compact -width indent
 
- .It Cm compression
 
- The value is either
 
- .Dq store ,
 
- .Dq deflate ,
 
- .Dq bzip2 ,
 
- .Dq lzma ,
 
- .Dq xz ,
 
- or
 
- .Dq zstd
 
- to indicate how the following entries should be compressed.
 
- Note that this setting is ignored for directories, symbolic links,
 
- and other special entries.
 
- .It Cm compression-level
 
- The value is interpreted as a decimal integer specifying the
 
- compression level.
 
- Values between 0 and 9 are supported.
 
- A compression level of 0 switches the compression method to
 
- .Dq store ,
 
- other values will enable
 
- .Dq deflate ,
 
- .Dq bzip2 ,
 
- .Dq lzma ,
 
- or
 
- .Dq zstd
 
- compression (in order of priority, depending on what libraries 
 
- are linked) with the given level.
 
- .It Cm threads
 
- The value is interpreted as a decimal integer specifying the
 
- number of threads to use for compression.
 
- It is supported only for
 
- .Dq xz
 
- or
 
- .Dq zstd
 
- compression and ignored for any other.
 
- A threads value of 0 is a special one requesting to detect and use as
 
- many threads as the number of active physical CPU cores.
 
- .It Cm encryption
 
- Enable encryption using traditional zip encryption.
 
- .It Cm encryption Ns = Ns Ar type
 
- Use
 
- .Ar type
 
- as encryption type.
 
- Supported values are
 
- .Dq zipcrypt
 
- .Pq traditional zip encryption ,
 
- .Dq aes128
 
- .Pq WinZip AES-128 encryption
 
- and
 
- .Dq aes256
 
- .Pq WinZip AES-256 encryption .
 
- .It Cm experimental
 
- This boolean option enables or disables experimental Zip features
 
- that may not be compatible with other Zip implementations.
 
- .It Cm fakecrc32
 
- This boolean option disables CRC calculations.
 
- All CRC fields are set to zero.
 
- It should not be used except for testing purposes.
 
- .It Cm hdrcharset
 
- The value is used as a character set name that will be
 
- used when translating file names.
 
- .It Cm zip64
 
- Zip64 extensions provide additional file size information
 
- for entries larger than 4 GiB.
 
- They also provide extended file offset and archive size information
 
- when archives exceed 4 GiB.
 
- By default, the Zip writer selectively enables these extensions only as needed.
 
- In particular, if the file size is unknown, the Zip writer will
 
- include Zip64 extensions to guard against the possibility that the
 
- file might be larger than 4 GiB.
 
- .Pp
 
- Setting this boolean option will force the writer to use Zip64 extensions
 
- even for small files that would not otherwise require them.
 
- This is primarily useful for testing.
 
- .Pp
 
- Disabling this option with
 
- .Cm !zip64
 
- will force the Zip writer to avoid Zip64 extensions:
 
- It will reject files with size greater than 4 GiB,
 
- it will reject any new entries once the total archive size reaches 4 GiB,
 
- and it will not use Zip64 extensions for files with unknown size.
 
- In particular, this can improve compatibility when generating archives
 
- where the entry sizes are not known in advance.
 
- .El
 
- .El
 
- .Sh EXAMPLES
 
- The following example creates an archive write handle to
 
- create a gzip-compressed ISO9660 format image.
 
- The two options here specify that the ISO9660 archive will use
 
- .Ar kernel.img
 
- as the boot image for El Torito booting, and that the gzip
 
- compressor should use the maximum compression level.
 
- .Bd -literal -offset indent
 
- a = archive_write_new();
 
- archive_write_add_filter_gzip(a);
 
- archive_write_set_format_iso9660(a);
 
- archive_write_set_options(a, "boot=kernel.img,compression=9");
 
- archive_write_open_filename(a, filename, blocksize);
 
- .Ed
 
- .\"
 
- .Sh ERRORS
 
- More detailed error codes and textual descriptions are available from the
 
- .Fn archive_errno
 
- and
 
- .Fn archive_error_string
 
- functions.
 
- .\"
 
- .Sh SEE ALSO
 
- .Xr tar 1 ,
 
- .Xr archive_read_set_options 3 ,
 
- .Xr archive_write 3 ,
 
- .Xr libarchive 3
 
- .Sh HISTORY
 
- The
 
- .Nm libarchive
 
- library first appeared in
 
- .Fx 5.3 .
 
- .Sh AUTHORS
 
- .An -nosplit
 
- The options support for libarchive was originally implemented by
 
- .An Michihiro NAKAJIMA .
 
- .Sh BUGS
 
 
  |