carta
archive_read_support_format_cpio(3)

archive_read_support_format_cpio3

Functions for reading streaming archives

Part of archive_read_format(3).

Usage

int

int

int

int

int

int

int

int

int

int

int

int

int

int

int

int

int

Library

Streaming Archive Library (libarchive, -larchive)

Overview

archive_read_support_format_7zip(), archive_read_support_format_ar(), archive_read_support_format_cab(), archive_read_support_format_cpio(), archive_read_support_format_iso9660(), archive_read_support_format_lha(), archive_read_support_format_mtree(), archive_read_support_format_rar(), archive_read_support_format_rar5(), archive_read_support_format_raw(), archive_read_support_format_tar(), archive_read_support_format_warc(), archive_read_support_format_xar(), archive_read_support_format_zip() Enables support---including auto-detection code---for the specified archive format. For example, archive_read_support_format_tar() enables support for a variety of standard tar formats, old-style tar, ustar, pax interchange format, and many common variants. archive_read_support_format_zip() enables support for both the streaming and the seeking zip readers, which can separately be enabled by respectively archive_read_support_format_zip_streamable() and archive_read_support_format_zip_seekable()

archive_read_support_format_all()

Enables support for all available formats except the “raw” format (see below).

archive_read_support_format_by_code()

Enables a single format specified by the format code. This can be useful when reading a single archive twice; use archive_format() after reading the first time and pass the resulting code to this function to selectively enable only the necessary format support. Note: In statically-linked executables, this will cause your program to include support for every format. If executable size is a concern, you may wish to avoid using this function.

archive_read_support_format_empty()

Enables support for treating empty files as empty archives. Because empty files are valid for several different formats, it is not possible to accurately determine a format for an empty file based purely on contents. So empty files are treated by libarchive as a distinct format.

archive_read_support_format_raw()

The “raw” format handler allows libarchive to be used to read arbitrary data. It treats any data stream as an archive with a single entry. The pathname of this entry is “data”; all other entry fields are unset. This is not enabled by archive_read_support_format_all() in order to avoid erroneous handling of damaged archives.

Return values

These functions return ARCHIVE_OK on success, or ARCHIVE_FATAL.

Errors

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

History

  • FreeBSD 16.0-CURRENT (2026-10-27) to FreeBSD 14.4-RELEASE: the text shown here
  • FreeBSD 14.3-RELEASE to FreeBSD 14.1-RELEASE
  • FreeBSD 14.0-RELEASE
  • FreeBSD 13.5-RELEASE to FreeBSD 13.4-RELEASE
  • FreeBSD 13.3-RELEASE to FreeBSD 12.2-RELEASE
  • FreeBSD 12.1-RELEASE to FreeBSD 12.0-RELEASE
  • FreeBSD 11.4-RELEASE
  • FreeBSD 11.3-RELEASE to FreeBSD 11.1-RELEASE
  • FreeBSD 11.0-RELEASE
  • FreeBSD 10.4-RELEASE
  • FreeBSD 10.3-RELEASE to FreeBSD 10.0-RELEASE
  • FreeBSD 9.3-RELEASE
  • FreeBSD 9.2-RELEASE
  • FreeBSD 9.1-RELEASE
  • FreeBSD 9.0-RELEASE
  • FreeBSD 8.4-RELEASE
  • FreeBSD 8.3-RELEASE
  • FreeBSD 8.2-RELEASE
  • FreeBSD 8.1-RELEASE
  • FreeBSD 8.0-RELEASE
  • FreeBSD 7.4-RELEASE
  • FreeBSD 7.3-RELEASE
  • FreeBSD 7.2-RELEASE
  • FreeBSD 7.1-RELEASE
  • FreeBSD 7.0-RELEASE
  • FreeBSD 6.4-RELEASE
  • FreeBSD 6.3-RELEASE
  • FreeBSD 6.2-RELEASE
  • FreeBSD 6.1-RELEASE to FreeBSD 6.0-RELEASE
  • FreeBSD 5.5-RELEASE
  • FreeBSD 5.4-RELEASE
  • FreeBSD 5.3-RELEASE

Bugs

Many traditional archiver programs treat empty files as valid empty archives. For example, many implementations of tar(1) allow you to append entries to an empty file. Of course, it is impossible to determine the format of an empty file by inspecting the contents, so this library treats empty files as having a special “empty” format.

Using the “raw” handler together with any other handler will often work but can produce surprising results.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.