---
name: "zzip_opendir_ext_io"
section: "3"
platform: "linux"
package: "libzzip-dev"
version: "0.13.78+dfsg.1-0.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/zzip_opendir"
---

# zzip\_opendir\_ext\_io(3)

start usage.

Part of [zzip\_opendir(3)](/zzip_opendir/3.md).

## NAME

zzip\_opendir, zzip\_opendir\_ext\_io -  start usage.

## SYNOPSIS

```
#include <zzip/lib.h>

ZZIP_DIR*
zzip_opendir(zzip_char_t* filename)
ZZIP_DIR*
zzip_opendir_ext_io(zzip_char_t* filename, int o_modes, zzip_strings_t* ext, zzip_plugin_io_t io)
```

## DESCRIPTION

 The *zzip\_opendir* function is the equivalent of *[opendir(3)](/opendir/3.md)* for a realdir or zipfile.

 The *zzip\_opendir* function has some magic - if the given argument-path is a directory, it will wrap a real *[opendir(3)](/opendir/3.md)* into the ZZIP\_DIR structure. Otherwise it will divert to *zzip\_dir\_open* which can also attach a ".zip" extension if needed to find the archive.

 the error-code is mapped to *[errno(3)](/errno/3.md)*.

 The *zzip\_opendir\_ext\_io* function uses explicit ext and io instead of the internal defaults, setting them to zero is equivalent to *zzip\_opendir*

## AUTHOR

 Guido Draheim \<guidod@gmx.de\>

## COPYRIGHT

 Copyright (c) Guido Draheim, use under copyleft (LGPL,MPL)
