#summary ARCHIVE_READ_OPTIONS 3 manual page
== 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
== SYNOPSIS ==
<br>
*int*
<br>
*archive_read_set_filter_option*(_struct archive `*`_, _const char `*`module_, _const char `*`option_, _const char `*`value_);
<br>
*int*
<br>
*archive_read_set_format_option*(_struct archive `*`_, _const char `*`module_, _const char `*`option_, _const char `*`value_);
<br>
*int*
<br>
*archive_read_set_option*(_struct archive `*`_, _const char `*`module_, _const char `*`option_, _const char `*`value_);
<br>
*int*
<br>
*archive_read_set_options*(_struct archive `*`_, _const char `*`options_);
== DESCRIPTION ==
These functions provide a way for libarchive clients to configure
specific read modules.
<dl>
<dt>
*archive_read_set_filter_option*(),
*archive_read_set_format_option*()
</dt> <dd>
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.
</dd><dt>
*archive_read_set_option*()
</dt> <dd>
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.
</dd><dt>
*archive_read_set_options*()
</dt> <dd>
_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:
<dl>
<dt>_option=value_</dt><dd>
The option/value pair will be provided to every module.
Modules that do not accept an option with this name will ignore it.
</dd><dt>_option_</dt><dd>
The option will be provided to every module with a value of
"1".
</dd><dt>_!option_</dt><dd>
The option will be provided to every module with a NULL value.
</dd><dt>_module:option=value_, _module:option_, _module:!option_</dt><dd>
As above, but the corresponding option and value will be provided
only to modules whose name matches
_module_.
</dd></dl>
</dd></dl>
== OPTIONS ==
<dl>
<dt>Format iso9660</dt><dd>
<dl>
<dt>*joliet*</dt><dd>
Support Joliet extensions.
Defaults to enabled, use
*!joliet*
to disable.
</dd><dt>*rockridge*</dt><dd>
Support RockRidge extensions.
Defaults to enabled, use
*!rockridge*
to disable.
</dd></dl>
</dd></dl>
== 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)
