.TH "ZIP_SOURCE_STAT" "3" "November 18, 2014" "NiH" "Library Functions Manual"
.nh
.if n .ad l
.SH "NAME"
\fBzip_source_stat\fR
\- get information about zip_source
.SH "LIBRARY"
libzip (-lzip)
.SH "SYNOPSIS"
\fB#include <zip.h>\fR
.sp
\fIint\fR
.PD 0
.HP 4n
\fBzip_source_stat\fR(\fIzip_source_t\ *source\fR, \fIzip_stat_t\ *sb\fR);
.PD
.SH "DESCRIPTION"
The
\fBzip_source_stat\fR()
function obtains information about the zip source
\fIsource\fR
.PP
The
\fIsb\fR
argument is a pointer to a
\fIstruct zip_source_stat\fR
(shown below), into which information about the zip source is placed.
.nf
.sp
.RS 0n
struct zip_source_stat {
    zip_uint64_t valid;                 /* which fields have valid values */
    const char *name;                   /* name of the file */
    zip_uint64_t index;                 /* index within archive */
    zip_uint64_t size;                  /* size of file (uncompressed) */
    zip_uint64_t comp_size;             /* size of file (compressed) */
    time_t mtime;                       /* modification time */
    zip_uint32_t crc;                   /* crc of file data */
    zip_uint16_t comp_method;           /* compression method used */
    zip_uint16_t encryption_method;     /* encryption method used */
    zip_uint32_t flags;                 /* reserved for future use */
};
.RE
.fi
The structure pointed to by
\fIsb\fR
must be initialized with
\fBzip_stat_init\fR(\fI3\fR)
before calling
\fBzip_source_stat\fR().
.PP
The
\fIvalid\fR
field of the structure specifies which other fields are valid.
Check if the flag defined by the following defines are in
\fIvalid\fR
before accessing the fields:
.RS 6n
.PD 0
.TP 37n
\fRZIP_SOURCE_STAT_NAME\fR
\fIname\fR
.TP 37n
\fRZIP_SOURCE_STAT_INDEX\fR
\fIindex\fR
.TP 37n
\fRZIP_SOURCE_STAT_SIZE\fR
\fIsize\fR
.TP 37n
\fRZIP_SOURCE_STAT_COMP_SIZE\fR
\fIcomp_size\fR
.TP 37n
\fRZIP_SOURCE_STAT_MTIME\fR
\fImtime\fR
.TP 37n
\fRZIP_SOURCE_STAT_CRC\fR
\fIcrc\fR
.TP 37n
\fRZIP_SOURCE_STAT_COMP_METHOD\fR
\fIcomp_method\fR
.TP 37n
\fRZIP_SOURCE_STAT_ENCRYPTION_METHOD\fR
\fIencryption_method\fR
.TP 37n
\fRZIP_SOURCE_STAT_FLAGS\fR
\fIflags\fR
.RE
.PD
.PP
\fINOTE\fR:
Some fields may only be filled out after all data has been read from
the source, for example the
\fIcrc\fR
or
\fIsize\fR
fields.
.SH "RETURN VALUES"
Upon successful completion 0 is returned.
Otherwise, \-1 is returned and the error information in
\fIsource\fR
is set to indicate the error.
.SH "SEE ALSO"
libzip(3),
zip_source(3)
.SH "AUTHORS"
Dieter Baron <\fIdillo@nih.at\fR>
and
Thomas Klausner <\fItk@giga.or.at\fR>
