ARCHIVE_READ_OPTIONS(3)

ARCHIVE_READ_OPTIONS(3) | Library Functions Manual | ARCHIVE_READ_OPTIONS(3)

# NAME

`archive_read_set_filter_option`, `archive_read_set_format_option`, `archive_read_set_option`, `archive_read_set_options` —
functions controlling options for reading archives

# LIBRARY

Streaming Archive Library (libarchive, -larchive)

# SYNOPSIS

int
`archive_read_set_filter_option`(struct archive *, const char *module, const char *option, const char *value);

int
`archive_read_set_format_option`(struct archive *, const char *module, const char *option, const char *value);

int
`archive_read_set_option`(struct archive *, const char *module, const char *option, const char *value);

int
`archive_read_set_options`(struct archive *, const char *options);

# DESCRIPTION

These functions provide a way for libarchive clients to configure specific read modules.

`archive_read_set_filter_option`(), `archive_read_set_format_option`()
  Specifies an option that will be passed to currently-registered filters (including decompression filters) or format readers.

  If option and value are both `NULL`, these functions will do nothing and `ARCHIVE_OK` will be returned. If option is `NULL` but value is not, these functions will do nothing and `ARCHIVE_FAILED` will be returned.

  If module is not `NULL`, option and value will be provided to the filter or reader named module. The return value will be that of the module. If there is no such module, `ARCHIVE_FAILED` will be returned.

  If module is `NULL`, option and value will be provided to every registered module. If any module returns `ARCHIVE_FATAL`, this value will be returned immediately. Otherwise, `ARCHIVE_OK` will be returned if any module accepts the option, and `ARCHIVE_FAILED` in all other cases.

`archive_read_set_option`()
  Calls `archive_read_set_format_option`(), then `archive_read_set_filter_option`(). If either function returns `ARCHIVE_FATAL`, `ARCHIVE_FATAL` will be returned immediately. Otherwise, greater of the two values will be returned.
`archive_read_set_options`()
  options is a comma-separated list of options. If options is `NULL` or empty, `ARCHIVE_OK` will be returned immediately.

  Calls `archive_read_set_option`() with each option in turn. If any `archive_read_set_option`() call returns `ARCHIVE_FATAL`, `ARCHIVE_FATAL` will be returned immediately.

  Individual options have one of the following forms:

  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.
  option
    The option will be provided to every module with a value of “1”.
  !option
    The option will be provided to every module with a NULL value.
  module:option=value, module:option, module:!option
    As above, but the corresponding option and value will be provided only to modules whose name matches module.

# OPTIONS

Format iso9660
  `joliet`
    Support Joliet extensions. Defaults to enabled, use `!joliet` to disable.
  `rockridge`
    Support RockRidge extensions. Defaults to enabled, use `!rockridge` to disable.
Format tar
  `compat-2x`
    Libarchive 2.x incorrectly encoded Unicode filenames on some platforms. This option mimics the libarchive 2.x filename handling so that such archives can be read correctly.
  `hdrcharset`
    The value is used as a character set name that will be used when translating filenames.
  `mac-ext`
    Support Mac OS metadata extension that records data in special files beginning with a period and underscore. Defaults to enabled on Mac OS, disabled on other platforms. Use `!mac-ext` to disable.
  `read_concatenated_archives`
    Ignore zeroed blocks in the archive, which occurs when multiple tar archives have been concatenated together. Without this option, only the contents of the first concatenated archive would be read.

# ERRORS

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

# SEE ALSO

tar(1), libarchive(3), archive_write_set_options(3), archive_read(3)

February 2, 2012 | NetBSD 9.0