Imported Upstream version 1.9.0
[platform/upstream/libzip.git] / man / zip_open.mdoc
index 1f1a556..84c0af8 100644 (file)
@@ -1,5 +1,5 @@
 .\" zip_open.mdoc -- open zip archive
-.\" Copyright (C) 2003-2009 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner
 .\"
 .\" This file is part of libzip, a library to manipulate ZIP archives.
 .\" The authors can be contacted at <libzip@nih.at>
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 15, 2009
+.Dd June 18, 2022
 .Dt ZIP_OPEN 3
 .Os
 .Sh NAME
-.Nm zip_open
+.Nm zip_open ,
+.Nm zip_open_from_source
 .Nd open zip archive
 .Sh LIBRARY
 libzip (-lzip)
 .Sh SYNOPSIS
 .In zip.h
-.Ft struct zip *
+.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"
 .Sh DESCRIPTION
-The zip archive specified by
+The
+.Fn zip_open
+function opens the zip archive specified by
 .Ar path
-is opened and a pointer to a
+and returns a pointer to a
 .Ft struct zip ,
-used to manipulate the archive, is returned.
+used to manipulate the archive.
 The
 .Fa flags
 are specified by
 .Em or Ns No 'ing
 the following values, or 0 for none of them.
 .Bl -tag -offset indent -width ZIP_CHECKCONS
+.It Dv ZIP_CHECKCONS
+Perform additional stricter consistency checks on the archive, and
+error if they fail.
 .It Dv ZIP_CREATE
 Create the archive if it does not exist.
 .It Dv ZIP_EXCL
 Error if archive already exists.
-.It Dv ZIP_CHECKCONS
-Perform additional consistency checks on the archive, and error if
-they fail.
+.It Dv ZIP_TRUNCATE
+If archive exists, ignore its current contents.
+In other words, handle it the same way as an empty archive.
+.It Dv ZIP_RDONLY
+Open archive in read-only mode.
 .El
 .Pp
 If an error occurs and
 .Ar errorp
-is non-NULL, it will be set to the corresponding error code.
+is
+.Pf non- Dv NULL ,
+it will be set to the corresponding error code.
+.Pp
+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.
 .Sh RETURN VALUES
 Upon successful completion
 .Fn zip_open
-returns a
+and
+.Fn zip_open_from_source
+return a
 .Ft struct zip
 pointer.
 Otherwise,
 .Dv NULL
 is returned and
+.Fn zip_open
+sets
 .Ar *errorp
-is set to indicate the error.
+to indicate the error, while
+.Fn zip_open_from source
+sets
+.Ar ze
+to indicate the error.
 .Sh ERRORS
 The archive specified by
 .Ar path
@@ -89,10 +119,10 @@ exists and
 is set.
 .It Bq Er ZIP_ER_INCONS
 Inconsistencies were found in the file specified by
-.Ar path
-and
+.Ar path .
+This error is often caused by specifying
 .Dv ZIP_CHECKCONS
-was specified.
+but can also happen without it.
 .It Bq Er ZIP_ER_INVAL
 The
 .Ar path
@@ -123,13 +153,24 @@ The file specified by
 .Ar path
 does not allow seeks.
 .El
+For newly created archives,
+.Fn zip_open
+does not try to create the file; this is done when calling
+.Xr zip_close 3
+and any errors, like missing write permissions, will
+be reported then.
 .Sh SEE ALSO
 .Xr libzip 3 ,
 .Xr zip_close 3 ,
-.Xr zip_error_to_str 3 ,
+.Xr zip_error_strerror 3 ,
 .Xr zip_fdopen 3
+.Sh HISTORY
+.Fn zip_open
+and
+.Fn zip_open_from_source
+were added in libzip 1.0.
 .Sh AUTHORS
 .An -nosplit
-.An Dieter Baron Aq dillo@giga.or.at
+.An Dieter Baron Aq Mt dillo@nih.at
 and
-.An Thomas Klausner Aq tk@giga.or.at
+.An Thomas Klausner Aq Mt tk@giga.or.at