Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6725 | siemargl | 1 | /* |
2 | Copyright (c) 1990-2009 Info-ZIP. All rights reserved. |
||
3 | |||
4 | See the accompanying file LICENSE, version 2009-Jan-02 or later |
||
5 | (the contents of which are also included in unzip.h) for terms of use. |
||
6 | If, for some reason, all these files are missing, the Info-ZIP license |
||
7 | also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html |
||
8 | */ |
||
9 | /*--------------------------------------------------------------------------- |
||
10 | Unix specific configuration section: |
||
11 | ---------------------------------------------------------------------------*/ |
||
12 | |||
13 | #ifndef __unxcfg_h |
||
14 | #define __unxcfg_h |
||
15 | |||
16 | |||
17 | /* LARGE FILE SUPPORT - 10/6/04 EG */ |
||
18 | /* This needs to be set before the includes so they set the right sizes */ |
||
19 | |||
20 | #if (defined(NO_LARGE_FILE_SUPPORT) && defined(LARGE_FILE_SUPPORT)) |
||
21 | # undef LARGE_FILE_SUPPORT |
||
22 | #endif |
||
23 | |||
24 | /* Automatically set ZIP64_SUPPORT if LFS */ |
||
25 | #ifdef LARGE_FILE_SUPPORT |
||
26 | # if (!defined(NO_ZIP64_SUPPORT) && !defined(ZIP64_SUPPORT)) |
||
27 | # define ZIP64_SUPPORT |
||
28 | # endif |
||
29 | #endif |
||
30 | |||
31 | /* NO_ZIP64_SUPPORT takes preceedence over ZIP64_SUPPORT */ |
||
32 | #if defined(NO_ZIP64_SUPPORT) && defined(ZIP64_SUPPORT) |
||
33 | # undef ZIP64_SUPPORT |
||
34 | #endif |
||
35 | |||
36 | #ifdef LARGE_FILE_SUPPORT |
||
37 | /* 64-bit Large File Support */ |
||
38 | |||
39 | /* The following Large File Summit (LFS) defines turn on large file support |
||
40 | on Linux (probably 2.4 or later kernel) and many other unixen */ |
||
41 | |||
42 | /* These have to be before any include that sets types so the large file |
||
43 | versions of the types are set in the includes */ |
||
44 | |||
45 | # define _LARGEFILE_SOURCE /* some OSes need this for fseeko */ |
||
46 | # define _LARGEFILE64_SOURCE |
||
47 | # define _FILE_OFFSET_BITS 64 /* select default interface as 64 bit */ |
||
48 | # define _LARGE_FILES /* some OSes need this for 64-bit off_t */ |
||
49 | # define __USE_LARGEFILE64 |
||
50 | #endif /* LARGE_FILE_SUPPORT */ |
||
51 | |||
52 | |||
53 | #include |
||
54 | #include |
||
55 | |||
56 | #ifdef NO_OFF_T |
||
57 | typedef long zoff_t; |
||
58 | #else |
||
59 | typedef off_t zoff_t; |
||
60 | #endif |
||
61 | #define ZOFF_T_DEFINED |
||
62 | typedef struct stat z_stat; |
||
63 | #define Z_STAT_DEFINED |
||
64 | |||
65 | #ifndef COHERENT |
||
66 | # include |
||
67 | #else /* COHERENT */ |
||
68 | # ifdef _I386 |
||
69 | # include |
||
70 | # else |
||
71 | # include |
||
72 | # endif |
||
73 | # define SHORT_SYMS |
||
74 | # ifndef __COHERENT__ /* Coherent 4.2 has tzset() */ |
||
75 | # define tzset settz |
||
76 | # endif |
||
77 | #endif /* ?COHERENT */ |
||
78 | |||
79 | #ifndef NO_PARAM_H |
||
80 | # ifdef NGROUPS_MAX |
||
81 | # undef NGROUPS_MAX /* SCO bug: defined again in |
||
82 | # endif |
||
83 | # ifdef BSD |
||
84 | # define TEMP_BSD /* may be defined again in |
||
85 | # undef BSD |
||
86 | # endif |
||
87 | # include |
||
88 | # ifdef TEMP_BSD |
||
89 | # undef TEMP_BSD |
||
90 | # ifndef BSD |
||
91 | # define BSD |
||
92 | # endif |
||
93 | # endif |
||
94 | #endif /* !NO_PARAM_H */ |
||
95 | |||
96 | #ifdef __osf__ |
||
97 | # define DIRENT |
||
98 | # ifdef BSD |
||
99 | # undef BSD |
||
100 | # endif |
||
101 | #endif /* __osf__ */ |
||
102 | |||
103 | #ifdef __CYGWIN__ |
||
104 | # include |
||
105 | # define DIRENT |
||
106 | # define HAVE_TERMIOS_H |
||
107 | # ifndef timezone |
||
108 | # define timezone _timezone |
||
109 | # endif |
||
110 | #endif |
||
111 | |||
112 | #ifdef BSD |
||
113 | # include |
||
114 | # include |
||
115 | # if (defined(_AIX) || defined(__GLIBC__) || defined(__GNU__)) |
||
116 | # include |
||
117 | # endif |
||
118 | #else |
||
119 | # include |
||
120 | struct tm *gmtime(), *localtime(); |
||
121 | #endif |
||
122 | |||
123 | #if (defined(BSD4_4) || (defined(SYSV) && defined(MODERN))) |
||
124 | # include |
||
125 | # if (defined(BSD4_4) || defined(linux) || defined(__GLIBC__)) |
||
126 | # include |
||
127 | # define GOT_UTIMBUF |
||
128 | # endif |
||
129 | # if (!defined(GOT_UTIMBUF) && (defined(__hpux) || defined(__SUNPRO_C))) |
||
130 | # include |
||
131 | # define GOT_UTIMBUF |
||
132 | # endif |
||
133 | # if (!defined(GOT_UTIMBUF) && defined(__GNU__)) |
||
134 | # include |
||
135 | # define GOT_UTIMBUF |
||
136 | # endif |
||
137 | #endif |
||
138 | #if (defined(__DGUX__) && !defined(GOT_UTIMBUF)) |
||
139 | /* DG/UX requires this because of a non-standard struct utimebuf */ |
||
140 | # include |
||
141 | # define GOT_UTIMBUF |
||
142 | #endif |
||
143 | |||
144 | #if (defined(V7) || defined(pyr_bsd)) |
||
145 | # define strchr index |
||
146 | # define strrchr rindex |
||
147 | #endif |
||
148 | #ifdef V7 |
||
149 | # define O_RDONLY 0 |
||
150 | # define O_WRONLY 1 |
||
151 | # define O_RDWR 2 |
||
152 | #endif |
||
153 | |||
154 | #if defined(NO_UNICODE_SUPPORT) && defined(UNICODE_SUPPORT) |
||
155 | /* disable Unicode (UTF-8) support when requested */ |
||
156 | # undef UNICODE_SUPPORT |
||
157 | #endif |
||
158 | |||
159 | #if (defined(_MBCS) && defined(NO_MBCS)) |
||
160 | /* disable MBCS support when requested */ |
||
161 | # undef _MBCS |
||
162 | #endif |
||
163 | |||
164 | #if (!defined(NO_SETLOCALE) && !defined(_MBCS)) |
||
165 | # if (!defined(UNICODE_SUPPORT) || !defined(UTF8_MAYBE_NATIVE)) |
||
166 | /* enable setlocale here, unless this happens later for UTF-8 and/or |
||
167 | * MBCS support */ |
||
168 | # include |
||
169 | # ifndef SETLOCALE |
||
170 | # define SETLOCALE(category, locale) setlocale(category, locale) |
||
171 | # endif |
||
172 | # endif |
||
173 | #endif |
||
174 | #ifndef NO_SETLOCALE |
||
175 | # if (!defined(NO_WORKING_ISPRINT) && !defined(HAVE_WORKING_ISPRINT)) |
||
176 | /* enable "enhanced" unprintable chars detection in fnfilter() */ |
||
177 | # define HAVE_WORKING_ISPRINT |
||
178 | # endif |
||
179 | #endif |
||
180 | |||
181 | #ifdef MINIX |
||
182 | # include |
||
183 | #endif |
||
184 | #if (!defined(HAVE_STRNICMP) & !defined(NO_STRNICMP)) |
||
185 | # define NO_STRNICMP |
||
186 | #endif |
||
187 | #ifndef DATE_FORMAT |
||
188 | # define DATE_FORMAT DF_MDY /* GRR: customize with locale.h somehow? */ |
||
189 | #endif |
||
190 | #define lenEOL 1 |
||
191 | #ifdef EBCDIC |
||
192 | # define PutNativeEOL *q++ = '\n'; |
||
193 | #else |
||
194 | # define PutNativeEOL *q++ = native(LF); |
||
195 | #endif |
||
196 | #define SCREENSIZE(ttrows, ttcols) screensize(ttrows, ttcols) |
||
197 | #define SCREENWIDTH 80 |
||
198 | #define SCREENLWRAP 1 |
||
199 | #define USE_EF_UT_TIME |
||
200 | #if (!defined(NO_LCHOWN) || !defined(NO_LCHMOD)) |
||
201 | # define SET_SYMLINK_ATTRIBS |
||
202 | #endif |
||
203 | #ifdef MTS |
||
204 | # ifdef SET_DIR_ATTRIB |
||
205 | # undef SET_DIR_ATTRIB |
||
206 | # endif |
||
207 | #else /* !MTS */ |
||
208 | # define SET_DIR_ATTRIB |
||
209 | # if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP)) /* GRR 970513 */ |
||
210 | # define TIMESTAMP |
||
211 | # endif |
||
212 | # define RESTORE_UIDGID |
||
213 | #endif /* ?MTS */ |
||
214 | |||
215 | /* Static variables that we have to add to Uz_Globs: */ |
||
216 | #define SYSTEM_SPECIFIC_GLOBALS \ |
||
217 | int created_dir, renamed_fullpath;\ |
||
218 | char *rootpath, *buildpath, *end;\ |
||
219 | ZCONST char *wildname;\ |
||
220 | char *dirname, matchname[FILNAMSIZ];\ |
||
221 | int rootlen, have_dirname, dirnamelen, notfirstcall;\ |
||
222 | zvoid *wild_dir; |
||
223 | |||
224 | /* created_dir, and renamed_fullpath are used by both mapname() and */ |
||
225 | /* checkdir(). */ |
||
226 | /* rootlen, rootpath, buildpath and end are used by checkdir(). */ |
||
227 | /* wild_dir, dirname, wildname, matchname[], dirnamelen, have_dirname, */ |
||
228 | /* and notfirstcall are used by do_wild(). */ |
||
229 | |||
230 | #endif /* !__unxcfg_h */ |