www.LinuxHowtos.org





ZIP_OPEN

Section: C Library Functions (3)
Index Return to Main Contents

BSD mandoc
 

NAME

zip_open zip_open_from_source - open zip archive  

LIBRARY

libzip -lzip)  

SYNOPSIS

In zip.h Ft zip_t * Fn zip_open const char *path int flags int *errorp Ft zip_t * Fn zip_open_from_source zip_source_t *zs int flags zip_error_t *ze  

DESCRIPTION

The Fn zip_open function opens the zip archive specified by path and returns a pointer to a Ft struct zip , used to manipulate the archive. The Fa 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.
ZIP_CREATE
Create the archive if it does not exist.
ZIP_EXCL
Error if archive already exists.
ZIP_TRUNCATE
If archive exists, ignore its current contents. In other words, handle it the same way as an empty archive.
ZIP_RDONLY
Open archive in rea-only mode.

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

The Fn zip_open_from_source function opens a zip archive encapsulated by the zip_source Fa zs using the provided Fa flags . In case of error, the zip_error Fa ze is filled in.  

RETURN VALUES

Upon successful completion Fn zip_open and Fn zip_open_from_source return a Ft struct zip pointer. Otherwise, NULL is returned and Fn zip_open sets *errorp to indicate the error, while Fn zip_open_from source sets ze to indicate the error.  

EXAMPLES

Here's an example of how you could report errors during :
    zip_t *za;
    int err;

    if ((za = zip_open(name, 0, &err)) == NULL) {
        zip_error_t error;
        zip_error_init_with_code(&error, err);
        fprintf(stderr, "%s: cannot open zip archive '%s': %sn",
                progname, name, zip_error_strerror(&error));
        zip_error_fini(&error);
        return-1;
    }
 

ERRORS

The archive specified by path is opened unless:

Bq Er ZIP_ER_EXISTS
The file specified by path exists and ZIP_EXCL is set.
Bq Er 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.
Bq Er ZIP_ER_INVAL
The path argument is NULL
Bq Er ZIP_ER_MEMORY
Required memory could not be allocated.
Bq Er ZIP_ER_NOENT
The file specified by path does not exist and ZIP_CREATE is not set.
Bq Er ZIP_ER_NOZIP
The file specified by path is not a zip archive.
Bq Er ZIP_ER_OPEN
The file specified by path could not be opened.
Bq Er ZIP_ER_READ
A read error occurred; see errno for details.
Bq Er ZIP_ER_SEEK
The file specified by path does not allow seeks.

For newly created archives, Fn zip_open does not try to create the file; this is done when calling zip_close3 and any errors, like missing write permissions, will be reported then.  

SEE ALSO

libzip(3), zip_close3, zip_error_strerror3, zip_fdopen3, zip_source5  

HISTORY

Fn zip_open and Fn zip_open_from_source were added in libzip 1.0.  

AUTHORS

An -nosplit An Dieter Baron Aq Mt dillo@nih.at and An Thomas Klausner Aq Mt wiz@gatalith.at


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUES
EXAMPLES
ERRORS
SEE ALSO
HISTORY
AUTHORS