zip_fdopen(3)

zip_fdopen3

Open zip archive using open file descriptor

Usage

#include <zip.h>

zip_t *

zip_fdopen(int fd, int flags, int *errorp);

Library

libzip (-lzip)

Overview

The zip archive specified by the open file descriptor fd is opened and a pointer to a struct zip, used to manipulate the archive, is returned. In contrast to zip_open(3), using zip_fdopen the archive can only be opened in read-only mode. The fd argument may not be used any longer after calling zip_fdopen. The flags are specified by or'ing the following values, or 0 for none of them.

ZIP_CHECKCONS

Perform additional stricter consistency checks on the archive, and error if they fail.

If an error occurs and errorp is non-NULL, it will be set to the corresponding error code.

Return values

Upon successful completion zip_fdopen() returns a struct zip pointer, and fd should not be used any longer, nor passed to close(2). Otherwise, NULL is returned and *errorp is set to indicate the error. In the error case, fd remains unchanged.

Errors

The file specified by fd is prepared for use by libzip(3) unless:

[ZIP_ER_INCONS]

Inconsistencies were found in the file specified by path. This error is often caused by specifying ZIP_CHECKCONS but can also happen without it.

[ZIP_ER_INVAL]

The flags argument is invalid. Not all zip_open(3) flags are allowed for zip_fdopen, see DESCRIPTION.

[ZIP_ER_MEMORY]

Required memory could not be allocated.

[ZIP_ER_NOZIP]

The file specified by fd is not a zip archive.

[ZIP_ER_OPEN]

The file specified by fd could not be prepared for use by libzip(3).

[ZIP_ER_OPNOTSUPP]

This functionality has been disabled at compile time.

[ZIP_ER_READ]

A read error occurred; see errno for details.

[ZIP_ER_SEEK]

The file specified by fd does not allow seeks.

Releases

8 releases since Debian 7 (Wheezy); the text changed 5 times.

  1. 7
  2. 8
  3. 9
  4. 10
  5. 11–12
  6. 13–Arch

History

zip_fdopen() was added in libzip 1.0.

Authors

Dieter Baron ⟨[email protected]⟩ and Thomas Klausner ⟨[email protected]⟩

From libzip 1.11.4-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.