summaryrefslogtreecommitdiff
path: root/Build/source/libs/zziplib/zziplib-0.13.60/zzip/file.h
blob: fcff276bb2369409edf6150a7e8855d96b3731c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
 * this is an internal header file - the structure contains two off_t
 * atleast making it LARGEFILE_SENSITIVE on linux2 and solaris systems
 * whereas about all functions just return a ZZIP_FILE* in zzip/zzip.h
 *
 * and so, this structure should be handled version-specific and
 * subject to change - it had been kept binary-compatible for quite
 * a while now so perhaps some program sources have errnously taken
 * advantage of this file.
 *
 * Author: 
 *      Guido Draheim <guidod@gmx.de>
 *      Tomi Ollila <Tomi.Ollila@tfi.net>
 *
 *      Copyright (c) 1999,2000,2001,2002 Guido Draheim
 *          All rights reserved,
 *          use under the restrictions of the
 *          Lesser GNU General Public License
 *          or alternatively the restrictions 
 *          of the Mozilla Public License 1.1
 */

#ifndef _ZZIP_FILE_H /* zzip-file.h */
#define _ZZIP_FILE_H 1

#ifndef ZZIP_32K
#ifdef __GNUC__
/* include zzip/lib.h beforehand in order to suppress the following warning */
#warning zzip/file.h is an internal header, do not use it freely
#endif
#endif

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

#ifdef ZZIP_HAVE_UNISTD_H
#include <unistd.h>
#else
#include <stdio.h>
# ifdef ZZIP_HAVE_SYS_TYPES_H
# include <sys/types.h>
# endif
#endif

#ifdef ZZIP_HAVE_SYS_PARAM_H
#include <sys/param.h> /* PATH_MAX */
#endif

#ifndef PATH_MAX
# ifdef  MAX_PATH /* windows */
# define PATH_MAX MAX_PATH
# else
# define PATH_MAX 512
# endif
#endif
/*
 * ZZIP_FILE structure... currently no need to unionize, since structure needed
 * for inflate is superset of structure needed for unstore.
 *
 * Don't make this public. Instead, create methods for needed operations.
 */

struct zzip_file
{
    struct zzip_dir* dir; 
    int fd;
    int method;
    zzip_size_t restlen;
    zzip_size_t crestlen;
    zzip_size_t usize;
    zzip_size_t csize;
    /* added dataoffset member - data offset from start of zipfile*/
    zzip_off_t dataoffset;
    char* buf32k;
    zzip_off_t offset; /* offset from the start of zipfile... */
    z_stream d_stream;
    zzip_plugin_io_t io;
};

#endif /* _ZZIP_FILE_H */