add man page for zip_fopen and zip_fopen_index
add infrastructure for multi-function man pages

--HG--
branch : HEAD
diff --git a/configure.ac b/configure.ac
index a88b4cb..367bce1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,6 +62,7 @@
 AC_CONFIG_LINKS([man/zipcmp.1:man/zipcmp.${MANFMT}
 		 man/zip_close.3:man/zip_close.${MANFMT}
 		 man/zip_delete.3:man/zip_delete.${MANFMT}
+		 man/zip_fopen.3:man/zip_fopen.${MANFMT}
 		 man/zip_unchange.3:man/zip_unchange.${MANFMT}
 		 man/zip_unchange_all.3:man/zip_unchange_all.${MANFMT}
 		 man/zip_open.3:man/zip_open.${MANFMT}])
diff --git a/man/Makefile.am b/man/Makefile.am
index eb04d94..73c6d45 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -6,10 +6,18 @@
 MAN1=	zipcmp.1
 MAN3=	zip_close.3 \
 	zip_delete.3 \
+	zip_fopen.3 \
 	zip_open.3 \
 	zip_unchange.3 \
 	zip_unchange_all.3
 
+install-man: link-man3
+
+LN=ln
+
+link-man3: install-man3
+	${LN} ${man3dir}/zip_fopen.3 ${man3dir}/zip_fopen_index.3
+
 MANDOC=${MAN1:.1=.mdoc} ${MAN3:.3=.mdoc}
 MAN=${MANDOC:.mdoc=.man}
 
diff --git a/man/zip_fopen.mdoc b/man/zip_fopen.mdoc
new file mode 100644
index 0000000..48b1c54
--- /dev/null
+++ b/man/zip_fopen.mdoc
@@ -0,0 +1,111 @@
+.\" $NiH$
+.\"
+.\" zip_fopen.mdoc -- open file in zip archvie for reading
+.\" Copyright (C) 2003 Dieter Baron and Thomas Klausner
+.\"
+.\" This file is part of libzip, a library to manipulate ZIP archives.
+.\" The authors can be contacted at <nih@giga.or.at>
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in
+.\"    the documentation and/or other materials provided with the
+.\"    distribution.
+.\" 3. The names of the authors may not be used to endorse or promote
+.\"    products derived from this software without specific prior
+.\"    written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
+.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd October 3, 2003
+.Dt ZIP_FOPEN 3
+.Os
+.Sh NAME
+.Nm zip_fopen ,
+.Nm zip_fopen_index
+.Nd open file in zip archvie for reading
+.Sh LIBRARY
+.Lb libzip
+.Sh SYNOPSIS
+.In zip.h
+.Ft struct zip_file *
+.Fn zip_fopen "struct zip *archive" "const char *fname" "int case_sens"
+.Ft struct zip_file *
+.Fn zip_fopen_index "struct zip *archive" "int index"
+.Sh DESCRIPTION
+The
+.Fn zip_fopen
+function opens the file name
+.Ar fname
+in
+.Ar archive .
+If
+.Ar case_sens
+is zero, case is ignored during name lookup.
+.Pp
+The
+.Fn zip_fopen_index
+function opens the file at position
+.Ar index .
+.Sh RETURN VALUES
+Upon successful completion, a
+.Ft struct zip_file
+pointer is returned.
+Otherwise,
+.Dv NULL
+is returned and the global variable
+.Va zip_err
+is set to indicate the error.
+.Sh ERRORS
+.Bl -tag -width Er
+.It Bq Er ZERR_COMPNOTSUPP
+The compression method used is not supported.
+.It Bq Er ZERR_MEMORY
+Required memory could not be allocated.
+.It Bq Er ZERR_READ
+A file read error occurred.
+See
+.Va errno
+for details.
+.It Bq Er ZERR_SEEK
+A file seek error occurred.
+See
+.Va errno
+for details.
+.\" XXX: ZERR_ZLIB, _zip_file_fillbuf
+.El
+.Pp
+The function
+.Fn zip_fopen
+may also fail and set
+.Va zip_err
+for any of the errors specified for the routine
+.Xr zip_name_locate .
+.Pp
+The function
+.Fn zip_fopen_index
+may also fail and set
+.Va zip_err
+to
+.Er ZERR_INVAL
+if
+.Ar index
+is invalid.
+.Sh SEE ALSO
+.Xr zip_fclose 3 ,
+.Xr zip_fread 3 ,
+.Xr zip_name_locate
diff --git a/man/zip_open.mdoc b/man/zip_open.mdoc
index 0f7b9ee..65a70f7 100644
--- a/man/zip_open.mdoc
+++ b/man/zip_open.mdoc
@@ -1,4 +1,4 @@
-.\" $NiH: zip_open.mdoc,v 1.6 2003/10/02 15:52:56 wiz Exp $
+.\" $NiH: zip_open.mdoc,v 1.7 2003/10/02 16:00:55 dillo Exp $
 .\"
 .\" zip_open.mdoc -- open zip archive
 .\" Copyright (C) 2003 Dieter Baron and Thomas Klausner
@@ -79,6 +79,9 @@
 The named archive is opened unless:
 .Bl -tag -width Er
 .It Bq Er ZERR_EXISTS
+The named archive exists and
+.Dv ZIP_EXCL
+is set.
 .It Bq Er ZERR_INVAL
 The
 .Ar path