summaryrefslogtreecommitdiff
path: root/Build/source/libs/zziplib/zziplib-0.13.58/zzip/conf.h
blob: c6d7ad6f84d8b83b119f1b746e22a270471c7cff (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
/*
 * Here we postprocess autoconf generated prefix-config.h entries.
 * This is generally for things like "off_t" which is left undefined
 * in plain config.h if the host system does already have it but we do
 * need the prefix variant - so we add here a #define _zzip_off_t off_t
 *
 * This file is supposed to only carry '#define's. 
 * See <zzip/types.h> for definitions that might be seen by the compiler.
 *
 * Author: 
 *      Guido Draheim <guidod@gmx.de>
 *
 *      Copyright (c) 2001,2002,2003,2004 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_CONF_H
#define _ZZIP_CONF_H 1

#if !defined ZZIP_OMIT_CONFIG_H
# if defined _MSC_VER || defined __BORLANDC__ || defined __WATCOMC__
# include <zzip/_msvc.h>
# elif defined ZZIP_1_H
# include "zzip-1.h"
# elif defined ZZIP_2_H
# include "zzip-2.h"
# elif defined ZZIP_3_H
# include "zzip-3.h"
# elif defined ZZIP_4_H
# include "zzip-4.h"
# elif defined ZZIP_5_H
# include "zzip-5.h"
# else /* autoconf generated */
# include <zzip/_config.h>
# endif
#endif

/* especially win32 platforms do not declare off_t so far - see zzip-msvc.h */
#ifndef _zzip_off_t
#ifdef   ZZIP_off_t
#define _zzip_off_t ZZIP_off_t
#else
#define _zzip_off_t off_t
#endif
#endif

#ifndef _zzip_off64_t
#ifdef   ZZIP_off64_t
#define _zzip_off64_t ZZIP_off64_t
#else
#define _zzip_off64_t off64_t
#endif
#endif

/* currently unused, all current zziplib-users do have ansi-C94 compilers. */
#ifndef _zzip_const
#ifdef   ZZIP_const
#define _zzip_const ZZIP_const
#else
#define _zzip_const const
#endif
#endif
#ifdef _AIX
#define _zzip_inline __inline
#endif
#ifndef _zzip_inline
#ifdef   ZZIP_inline
#define _zzip_inline ZZIP_inline
#else
#define _zzip_inline inline
#endif
#endif
#ifndef _zzip_restrict
#ifdef   ZZIP_restrict
#define _zzip_restrict ZZIP_restrict
#else
#define _zzip_restrict restrict
#endif
#endif
#if defined __linux__ && __GNUC__+0 >= 4
#define zzip__new__ __attribute__((malloc))
#elif defined __linux__ && __GNUC__+0 >= 3 && __GNUC_MINOR_+0 >= 3
#define zzip__new__  __attribute__((malloc))
#else
#define zzip__new__
#endif

#ifndef _zzip_size_t
#ifdef   ZZIP_size_t
#define _zzip_size_t ZZIP_size_t
#else
#define _zzip_size_t size_t
#endif
#endif
#ifndef _zzip_ssize_t
#ifdef   ZZIP_ssize_t
#define _zzip_ssize_t ZZIP_ssize_t
#else
#define _zzip_ssize_t ssize_t
#endif
#endif
#ifndef _zzip___int64
#ifdef   ZZIP___int64
#define _zzip___int64 ZZIP___int64
#else
#define _zzip___int64 long long
#endif
#endif

/* whether this library shall use a 64bit off_t largefile variant in 64on32: */
/* (some exported names must be renamed to avoid bad calls after linking) */
#if defined ZZIP_LARGEFILE_SENSITIVE 
# if _FILE_OFFSET_BITS+0 == 64
# define  ZZIP_LARGEFILE_RENAME
# elif defined  _LARGE_FILES    /* used on older AIX to get at 64bit off_t */
# define  ZZIP_LARGEFILE_RENAME
# elif defined  _ZZIP_LARGEFILE /* or simply use this one for zzip64 runs */
# define  ZZIP_LARGEFILE_RENAME
# endif
#endif

/* if the environment did not setup these for 64bit off_t largefile... */
#ifdef   ZZIP_LARGEFILE_RENAME
# ifndef      _FILE_OFFSET_BITS
#  ifdef ZZIP__FILE_OFFSET_BITS /* == 64 */
#  define     _FILE_OFFSET_BITS ZZIP__FILE_OFFSET_BITS
#  endif
# endif
# ifndef      _LARGE_FILES
#  ifdef ZZIP__LARGE_FILES /* == 1 */
#  define     _LARGE_FILES ZZIP__LARGE_FILES
#  endif
# endif
# ifndef      _LARGEFILE_SOURCE
#  ifdef ZZIP__LARGEFILE_SOURCE /* == 1 */
#  define     _LARGEFILE_SOURCE ZZIP__LARGEFILE_SOURCE
#  endif
# endif
#endif

#include <errno.h>

/* mingw32msvc errno : would be in winsock.h */
#ifndef EREMOTE
#define EREMOTE ESPIPE
#endif

#ifndef ELOOP
#if   defined EILSEQ
#define ELOOP EILSEQ
#else
#define ELOOP ENOEXEC
#endif
#endif

#if defined __WATCOMC__
#undef  _zzip_inline
#define _zzip_inline static
#endif

#if defined _MSC_VER || defined __WATCOMC__
#include <io.h>
#endif

#ifdef _MSC_VER
# if !__STDC__
#  ifndef _zzip_lseek
#  define _zzip_lseek _lseek
#  endif
#  ifndef _zzip_read
#  define _zzip_read _read
#  endif
#  ifndef _zzip_write
#  define _zzip_write _write
#  endif
#      if 0
#  ifndef _zzip_stat
#  define _zzip_stat _stat
#  endif
#      endif
# endif /* !__STDC__ */
#endif
  /*MSVC*/

#if defined _MSC_VER || defined __WATCOMC__
#  ifndef strcasecmp
#  define strcasecmp _stricmp
#  endif
#endif

#  ifndef _zzip_lseek
#  define _zzip_lseek lseek
#  endif

#  ifndef _zzip_read
#  define _zzip_read  read
#  endif

#  ifndef _zzip_write
#  define _zzip_write  write
#  endif

#      if 0
#  ifndef _zzip_stat
#  define _zzip_stat  stat
#  endif
#     endif


#if defined __GNUC__ || defined __attribute__
#define __zzip_attribute__(X) __attribute__(X)
#else
#define __zzip_attribute__(X) 
#endif

#if defined ZZIP_EXPORTS || defined ZZIPLIB_EXPORTS
# undef ZZIP_DLL
#define ZZIP_DLL 1
#endif

/* based on zconf.h : */
/* compile with -DZZIP_DLL for Windows DLL support */
#if defined ZZIP_DLL
#  if defined _WINDOWS || defined WINDOWS || defined _WIN32
/*#  include <windows.h>*/
#  endif
#  if !defined _zzip_export && defined _MSC_VER && (defined WIN32 || defined _WIN32)
#    define _zzip_export __declspec(dllexport) /*WINAPI*/
#  endif
#  if !defined _zzip_export && defined __BORLANDC__
#    if __BORLANDC__ >= 0x0500 && defined WIN32
#    include <windows.h>
#    define _zzip_export __declspec(dllexport) /*WINAPI*/
#    else
#      if defined _Windows && defined __DLL__
#      define _zzip_export _export
#      endif
#    endif
#  endif
#  if !defined _zzip_export && defined __GNUC__
#    if defined __declspec
#      define _zzip_export extern __declspec(dllexport)
#    else
#      define _zzip_export extern
#    endif
#  endif
#  if !defined _zzip_export && defined __BEOS__
#    define _zzip_export extern __declspec(export)
#  endif
#  if !defined _zzip_export && defined __WATCOMC__
#    define _zzip_export extern __declspec(dllexport)
#    define ZEXPORT __syscall
#    define ZEXTERN extern
#  endif
#endif

#if !defined _zzip_export
#  if defined __GNUC__ /* || !defined HAVE_LIBZZIP */
#  define _zzip_export extern
#  elif defined __declspec || (defined _MSC_VER && defined ZZIP_DLL)
#  define _zzip_export extern __declspec(dllimport)
#  else
#  define _zzip_export extern
#  endif
#endif

#endif