Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/curl/system.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 #ifndef CURLINC_SYSTEM_H | |
2 #define CURLINC_SYSTEM_H | |
3 /*************************************************************************** | |
4 * _ _ ____ _ | |
5 * Project ___| | | | _ \| | | |
6 * / __| | | | |_) | | | |
7 * | (__| |_| | _ <| |___ | |
8 * \___|\___/|_| \_\_____| | |
9 * | |
10 * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. | |
11 * | |
12 * This software is licensed as described in the file COPYING, which | |
13 * you should have received as part of this distribution. The terms | |
14 * are also available at https://curl.se/docs/copyright.html. | |
15 * | |
16 * You may opt to use, copy, modify, merge, publish, distribute and/or sell | |
17 * copies of the Software, and permit persons to whom the Software is | |
18 * furnished to do so, under the terms of the COPYING file. | |
19 * | |
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | |
21 * KIND, either express or implied. | |
22 * | |
23 * SPDX-License-Identifier: curl | |
24 * | |
25 ***************************************************************************/ | |
26 | |
27 /* | |
28 * Try to keep one section per platform, compiler and architecture, otherwise, | |
29 * if an existing section is reused for a different one and later on the | |
30 * original is adjusted, probably the piggybacking one can be adversely | |
31 * changed. | |
32 * | |
33 * In order to differentiate between platforms/compilers/architectures use | |
34 * only compiler built in predefined preprocessor symbols. | |
35 * | |
36 * curl_off_t | |
37 * ---------- | |
38 * | |
39 * For any given platform/compiler curl_off_t must be typedef'ed to a 64-bit | |
40 * wide signed integral data type. The width of this data type must remain | |
41 * constant and independent of any possible large file support settings. | |
42 * | |
43 * As an exception to the above, curl_off_t shall be typedef'ed to a 32-bit | |
44 * wide signed integral data type if there is no 64-bit type. | |
45 * | |
46 * As a general rule, curl_off_t shall not be mapped to off_t. This rule shall | |
47 * only be violated if off_t is the only 64-bit data type available and the | |
48 * size of off_t is independent of large file support settings. Keep your | |
49 * build on the safe side avoiding an off_t gating. If you have a 64-bit | |
50 * off_t then take for sure that another 64-bit data type exists, dig deeper | |
51 * and you will find it. | |
52 * | |
53 */ | |
54 | |
55 #if defined(__DJGPP__) || defined(__GO32__) | |
56 # if defined(__DJGPP__) && (__DJGPP__ > 1) | |
57 # define CURL_TYPEOF_CURL_OFF_T long long | |
58 # define CURL_FORMAT_CURL_OFF_T "lld" | |
59 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
60 # define CURL_SUFFIX_CURL_OFF_T LL | |
61 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
62 # else | |
63 # define CURL_TYPEOF_CURL_OFF_T long | |
64 # define CURL_FORMAT_CURL_OFF_T "ld" | |
65 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
66 # define CURL_SUFFIX_CURL_OFF_T L | |
67 # define CURL_SUFFIX_CURL_OFF_TU UL | |
68 # endif | |
69 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
70 | |
71 #elif defined(__SALFORDC__) | |
72 # define CURL_TYPEOF_CURL_OFF_T long | |
73 # define CURL_FORMAT_CURL_OFF_T "ld" | |
74 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
75 # define CURL_SUFFIX_CURL_OFF_T L | |
76 # define CURL_SUFFIX_CURL_OFF_TU UL | |
77 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
78 | |
79 #elif defined(__BORLANDC__) | |
80 # if (__BORLANDC__ < 0x520) | |
81 # define CURL_TYPEOF_CURL_OFF_T long | |
82 # define CURL_FORMAT_CURL_OFF_T "ld" | |
83 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
84 # define CURL_SUFFIX_CURL_OFF_T L | |
85 # define CURL_SUFFIX_CURL_OFF_TU UL | |
86 # else | |
87 # define CURL_TYPEOF_CURL_OFF_T __int64 | |
88 # define CURL_FORMAT_CURL_OFF_T "I64d" | |
89 # define CURL_FORMAT_CURL_OFF_TU "I64u" | |
90 # define CURL_SUFFIX_CURL_OFF_T i64 | |
91 # define CURL_SUFFIX_CURL_OFF_TU ui64 | |
92 # endif | |
93 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
94 | |
95 #elif defined(__TURBOC__) | |
96 # define CURL_TYPEOF_CURL_OFF_T long | |
97 # define CURL_FORMAT_CURL_OFF_T "ld" | |
98 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
99 # define CURL_SUFFIX_CURL_OFF_T L | |
100 # define CURL_SUFFIX_CURL_OFF_TU UL | |
101 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
102 | |
103 #elif defined(__POCC__) | |
104 # if (__POCC__ < 280) | |
105 # define CURL_TYPEOF_CURL_OFF_T long | |
106 # define CURL_FORMAT_CURL_OFF_T "ld" | |
107 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
108 # define CURL_SUFFIX_CURL_OFF_T L | |
109 # define CURL_SUFFIX_CURL_OFF_TU UL | |
110 # elif defined(_MSC_VER) | |
111 # define CURL_TYPEOF_CURL_OFF_T __int64 | |
112 # define CURL_FORMAT_CURL_OFF_T "I64d" | |
113 # define CURL_FORMAT_CURL_OFF_TU "I64u" | |
114 # define CURL_SUFFIX_CURL_OFF_T i64 | |
115 # define CURL_SUFFIX_CURL_OFF_TU ui64 | |
116 # else | |
117 # define CURL_TYPEOF_CURL_OFF_T long long | |
118 # define CURL_FORMAT_CURL_OFF_T "lld" | |
119 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
120 # define CURL_SUFFIX_CURL_OFF_T LL | |
121 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
122 # endif | |
123 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
124 | |
125 #elif defined(__LCC__) | |
126 # if defined(__MCST__) /* MCST eLbrus Compiler Collection */ | |
127 # define CURL_TYPEOF_CURL_OFF_T long | |
128 # define CURL_FORMAT_CURL_OFF_T "ld" | |
129 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
130 # define CURL_SUFFIX_CURL_OFF_T L | |
131 # define CURL_SUFFIX_CURL_OFF_TU UL | |
132 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
133 # define CURL_PULL_SYS_TYPES_H 1 | |
134 # define CURL_PULL_SYS_SOCKET_H 1 | |
135 # else /* Local (or Little) C Compiler */ | |
136 # define CURL_TYPEOF_CURL_OFF_T long | |
137 # define CURL_FORMAT_CURL_OFF_T "ld" | |
138 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
139 # define CURL_SUFFIX_CURL_OFF_T L | |
140 # define CURL_SUFFIX_CURL_OFF_TU UL | |
141 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
142 # endif | |
143 | |
144 #elif defined(__SYMBIAN32__) | |
145 # if defined(__EABI__) /* Treat all ARM compilers equally */ | |
146 # define CURL_TYPEOF_CURL_OFF_T long long | |
147 # define CURL_FORMAT_CURL_OFF_T "lld" | |
148 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
149 # define CURL_SUFFIX_CURL_OFF_T LL | |
150 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
151 # elif defined(__CW32__) | |
152 # pragma longlong on | |
153 # define CURL_TYPEOF_CURL_OFF_T long long | |
154 # define CURL_FORMAT_CURL_OFF_T "lld" | |
155 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
156 # define CURL_SUFFIX_CURL_OFF_T LL | |
157 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
158 # elif defined(__VC32__) | |
159 # define CURL_TYPEOF_CURL_OFF_T __int64 | |
160 # define CURL_FORMAT_CURL_OFF_T "lld" | |
161 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
162 # define CURL_SUFFIX_CURL_OFF_T LL | |
163 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
164 # endif | |
165 # define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int | |
166 | |
167 #elif defined(macintosh) | |
168 # include <ConditionalMacros.h> | |
169 # if TYPE_LONGLONG | |
170 # define CURL_TYPEOF_CURL_OFF_T long long | |
171 # define CURL_FORMAT_CURL_OFF_T "lld" | |
172 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
173 # define CURL_SUFFIX_CURL_OFF_T LL | |
174 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
175 # else | |
176 # define CURL_TYPEOF_CURL_OFF_T long | |
177 # define CURL_FORMAT_CURL_OFF_T "ld" | |
178 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
179 # define CURL_SUFFIX_CURL_OFF_T L | |
180 # define CURL_SUFFIX_CURL_OFF_TU UL | |
181 # endif | |
182 # define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int | |
183 | |
184 #elif defined(__TANDEM) | |
185 # if ! defined(__LP64) | |
186 /* Required for 32-bit NonStop builds only. */ | |
187 # define CURL_TYPEOF_CURL_OFF_T long long | |
188 # define CURL_FORMAT_CURL_OFF_T "lld" | |
189 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
190 # define CURL_SUFFIX_CURL_OFF_T LL | |
191 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
192 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
193 # endif | |
194 | |
195 #elif defined(_WIN32_WCE) | |
196 # define CURL_TYPEOF_CURL_OFF_T __int64 | |
197 # define CURL_FORMAT_CURL_OFF_T "I64d" | |
198 # define CURL_FORMAT_CURL_OFF_TU "I64u" | |
199 # define CURL_SUFFIX_CURL_OFF_T i64 | |
200 # define CURL_SUFFIX_CURL_OFF_TU ui64 | |
201 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
202 | |
203 #elif defined(__MINGW32__) | |
204 # define CURL_TYPEOF_CURL_OFF_T long long | |
205 # define CURL_FORMAT_CURL_OFF_T "I64d" | |
206 # define CURL_FORMAT_CURL_OFF_TU "I64u" | |
207 # define CURL_SUFFIX_CURL_OFF_T LL | |
208 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
209 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
210 # define CURL_PULL_SYS_TYPES_H 1 | |
211 # define CURL_PULL_WS2TCPIP_H 1 | |
212 | |
213 #elif defined(__VMS) | |
214 # if defined(__VAX) | |
215 # define CURL_TYPEOF_CURL_OFF_T long | |
216 # define CURL_FORMAT_CURL_OFF_T "ld" | |
217 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
218 # define CURL_SUFFIX_CURL_OFF_T L | |
219 # define CURL_SUFFIX_CURL_OFF_TU UL | |
220 # else | |
221 # define CURL_TYPEOF_CURL_OFF_T long long | |
222 # define CURL_FORMAT_CURL_OFF_T "lld" | |
223 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
224 # define CURL_SUFFIX_CURL_OFF_T LL | |
225 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
226 # endif | |
227 # define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int | |
228 | |
229 #elif defined(__OS400__) | |
230 # if defined(__ILEC400__) | |
231 # define CURL_TYPEOF_CURL_OFF_T long long | |
232 # define CURL_FORMAT_CURL_OFF_T "lld" | |
233 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
234 # define CURL_SUFFIX_CURL_OFF_T LL | |
235 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
236 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
237 # define CURL_PULL_SYS_TYPES_H 1 | |
238 # define CURL_PULL_SYS_SOCKET_H 1 | |
239 # endif | |
240 | |
241 #elif defined(__MVS__) | |
242 # if defined(__IBMC__) || defined(__IBMCPP__) | |
243 # if defined(_ILP32) | |
244 # elif defined(_LP64) | |
245 # endif | |
246 # if defined(_LONG_LONG) | |
247 # define CURL_TYPEOF_CURL_OFF_T long long | |
248 # define CURL_FORMAT_CURL_OFF_T "lld" | |
249 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
250 # define CURL_SUFFIX_CURL_OFF_T LL | |
251 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
252 # elif defined(_LP64) | |
253 # define CURL_TYPEOF_CURL_OFF_T long | |
254 # define CURL_FORMAT_CURL_OFF_T "ld" | |
255 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
256 # define CURL_SUFFIX_CURL_OFF_T L | |
257 # define CURL_SUFFIX_CURL_OFF_TU UL | |
258 # else | |
259 # define CURL_TYPEOF_CURL_OFF_T long | |
260 # define CURL_FORMAT_CURL_OFF_T "ld" | |
261 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
262 # define CURL_SUFFIX_CURL_OFF_T L | |
263 # define CURL_SUFFIX_CURL_OFF_TU UL | |
264 # endif | |
265 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
266 # define CURL_PULL_SYS_TYPES_H 1 | |
267 # define CURL_PULL_SYS_SOCKET_H 1 | |
268 # endif | |
269 | |
270 #elif defined(__370__) | |
271 # if defined(__IBMC__) || defined(__IBMCPP__) | |
272 # if defined(_ILP32) | |
273 # elif defined(_LP64) | |
274 # endif | |
275 # if defined(_LONG_LONG) | |
276 # define CURL_TYPEOF_CURL_OFF_T long long | |
277 # define CURL_FORMAT_CURL_OFF_T "lld" | |
278 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
279 # define CURL_SUFFIX_CURL_OFF_T LL | |
280 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
281 # elif defined(_LP64) | |
282 # define CURL_TYPEOF_CURL_OFF_T long | |
283 # define CURL_FORMAT_CURL_OFF_T "ld" | |
284 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
285 # define CURL_SUFFIX_CURL_OFF_T L | |
286 # define CURL_SUFFIX_CURL_OFF_TU UL | |
287 # else | |
288 # define CURL_TYPEOF_CURL_OFF_T long | |
289 # define CURL_FORMAT_CURL_OFF_T "ld" | |
290 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
291 # define CURL_SUFFIX_CURL_OFF_T L | |
292 # define CURL_SUFFIX_CURL_OFF_TU UL | |
293 # endif | |
294 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
295 # define CURL_PULL_SYS_TYPES_H 1 | |
296 # define CURL_PULL_SYS_SOCKET_H 1 | |
297 # endif | |
298 | |
299 #elif defined(TPF) | |
300 # define CURL_TYPEOF_CURL_OFF_T long | |
301 # define CURL_FORMAT_CURL_OFF_T "ld" | |
302 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
303 # define CURL_SUFFIX_CURL_OFF_T L | |
304 # define CURL_SUFFIX_CURL_OFF_TU UL | |
305 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
306 | |
307 #elif defined(__TINYC__) /* also known as tcc */ | |
308 # define CURL_TYPEOF_CURL_OFF_T long long | |
309 # define CURL_FORMAT_CURL_OFF_T "lld" | |
310 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
311 # define CURL_SUFFIX_CURL_OFF_T LL | |
312 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
313 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
314 # define CURL_PULL_SYS_TYPES_H 1 | |
315 # define CURL_PULL_SYS_SOCKET_H 1 | |
316 | |
317 #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* Oracle Solaris Studio */ | |
318 # if !defined(__LP64) && (defined(__ILP32) || \ | |
319 defined(__i386) || \ | |
320 defined(__sparcv8) || \ | |
321 defined(__sparcv8plus)) | |
322 # define CURL_TYPEOF_CURL_OFF_T long long | |
323 # define CURL_FORMAT_CURL_OFF_T "lld" | |
324 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
325 # define CURL_SUFFIX_CURL_OFF_T LL | |
326 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
327 # elif defined(__LP64) || \ | |
328 defined(__amd64) || defined(__sparcv9) | |
329 # define CURL_TYPEOF_CURL_OFF_T long | |
330 # define CURL_FORMAT_CURL_OFF_T "ld" | |
331 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
332 # define CURL_SUFFIX_CURL_OFF_T L | |
333 # define CURL_SUFFIX_CURL_OFF_TU UL | |
334 # endif | |
335 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
336 # define CURL_PULL_SYS_TYPES_H 1 | |
337 # define CURL_PULL_SYS_SOCKET_H 1 | |
338 | |
339 #elif defined(__xlc__) /* IBM xlc compiler */ | |
340 # if !defined(_LP64) | |
341 # define CURL_TYPEOF_CURL_OFF_T long long | |
342 # define CURL_FORMAT_CURL_OFF_T "lld" | |
343 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
344 # define CURL_SUFFIX_CURL_OFF_T LL | |
345 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
346 # else | |
347 # define CURL_TYPEOF_CURL_OFF_T long | |
348 # define CURL_FORMAT_CURL_OFF_T "ld" | |
349 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
350 # define CURL_SUFFIX_CURL_OFF_T L | |
351 # define CURL_SUFFIX_CURL_OFF_TU UL | |
352 # endif | |
353 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
354 # define CURL_PULL_SYS_TYPES_H 1 | |
355 # define CURL_PULL_SYS_SOCKET_H 1 | |
356 | |
357 /* ===================================== */ | |
358 /* KEEP MSVC THE PENULTIMATE ENTRY */ | |
359 /* ===================================== */ | |
360 | |
361 #elif defined(_MSC_VER) | |
362 # if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64) | |
363 # define CURL_TYPEOF_CURL_OFF_T __int64 | |
364 # define CURL_FORMAT_CURL_OFF_T "I64d" | |
365 # define CURL_FORMAT_CURL_OFF_TU "I64u" | |
366 # define CURL_SUFFIX_CURL_OFF_T i64 | |
367 # define CURL_SUFFIX_CURL_OFF_TU ui64 | |
368 # else | |
369 # define CURL_TYPEOF_CURL_OFF_T long | |
370 # define CURL_FORMAT_CURL_OFF_T "ld" | |
371 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
372 # define CURL_SUFFIX_CURL_OFF_T L | |
373 # define CURL_SUFFIX_CURL_OFF_TU UL | |
374 # endif | |
375 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
376 | |
377 /* ===================================== */ | |
378 /* KEEP GENERIC GCC THE LAST ENTRY */ | |
379 /* ===================================== */ | |
380 | |
381 #elif defined(__GNUC__) && !defined(_SCO_DS) | |
382 # if !defined(__LP64__) && \ | |
383 (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \ | |
384 defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \ | |
385 defined(__sparc__) || defined(__mips__) || defined(__sh__) || \ | |
386 defined(__XTENSA__) || \ | |
387 (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \ | |
388 (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L)) | |
389 # define CURL_TYPEOF_CURL_OFF_T long long | |
390 # define CURL_FORMAT_CURL_OFF_T "lld" | |
391 # define CURL_FORMAT_CURL_OFF_TU "llu" | |
392 # define CURL_SUFFIX_CURL_OFF_T LL | |
393 # define CURL_SUFFIX_CURL_OFF_TU ULL | |
394 # elif defined(__LP64__) || \ | |
395 defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \ | |
396 defined(__e2k__) || \ | |
397 (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \ | |
398 (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L) | |
399 # define CURL_TYPEOF_CURL_OFF_T long | |
400 # define CURL_FORMAT_CURL_OFF_T "ld" | |
401 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
402 # define CURL_SUFFIX_CURL_OFF_T L | |
403 # define CURL_SUFFIX_CURL_OFF_TU UL | |
404 # endif | |
405 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t | |
406 # define CURL_PULL_SYS_TYPES_H 1 | |
407 # define CURL_PULL_SYS_SOCKET_H 1 | |
408 | |
409 #else | |
410 /* generic "safe guess" on old 32 bit style */ | |
411 # define CURL_TYPEOF_CURL_OFF_T long | |
412 # define CURL_FORMAT_CURL_OFF_T "ld" | |
413 # define CURL_FORMAT_CURL_OFF_TU "lu" | |
414 # define CURL_SUFFIX_CURL_OFF_T L | |
415 # define CURL_SUFFIX_CURL_OFF_TU UL | |
416 # define CURL_TYPEOF_CURL_SOCKLEN_T int | |
417 #endif | |
418 | |
419 #ifdef _AIX | |
420 /* AIX needs <sys/poll.h> */ | |
421 #define CURL_PULL_SYS_POLL_H | |
422 #endif | |
423 | |
424 | |
425 /* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */ | |
426 /* ws2tcpip.h is required here to properly make type definitions below. */ | |
427 #ifdef CURL_PULL_WS2TCPIP_H | |
428 # include <winsock2.h> | |
429 # include <windows.h> | |
430 # include <ws2tcpip.h> | |
431 #endif | |
432 | |
433 /* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */ | |
434 /* sys/types.h is required here to properly make type definitions below. */ | |
435 #ifdef CURL_PULL_SYS_TYPES_H | |
436 # include <sys/types.h> | |
437 #endif | |
438 | |
439 /* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */ | |
440 /* sys/socket.h is required here to properly make type definitions below. */ | |
441 #ifdef CURL_PULL_SYS_SOCKET_H | |
442 # include <sys/socket.h> | |
443 #endif | |
444 | |
445 /* CURL_PULL_SYS_POLL_H is defined above when inclusion of header file */ | |
446 /* sys/poll.h is required here to properly make type definitions below. */ | |
447 #ifdef CURL_PULL_SYS_POLL_H | |
448 # include <sys/poll.h> | |
449 #endif | |
450 | |
451 /* Data type definition of curl_socklen_t. */ | |
452 #ifdef CURL_TYPEOF_CURL_SOCKLEN_T | |
453 typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; | |
454 #endif | |
455 | |
456 /* Data type definition of curl_off_t. */ | |
457 | |
458 #ifdef CURL_TYPEOF_CURL_OFF_T | |
459 typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; | |
460 #endif | |
461 | |
462 /* | |
463 * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow | |
464 * these to be visible and exported by the external libcurl interface API, | |
465 * while also making them visible to the library internals, simply including | |
466 * curl_setup.h, without actually needing to include curl.h internally. | |
467 * If some day this section would grow big enough, all this should be moved | |
468 * to its own header file. | |
469 */ | |
470 | |
471 /* | |
472 * Figure out if we can use the ## preprocessor operator, which is supported | |
473 * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__ | |
474 * or __cplusplus so we need to carefully check for them too. | |
475 */ | |
476 | |
477 #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \ | |
478 defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \ | |
479 defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \ | |
480 defined(__ILEC400__) | |
481 /* This compiler is believed to have an ISO compatible preprocessor */ | |
482 #define CURL_ISOCPP | |
483 #else | |
484 /* This compiler is believed NOT to have an ISO compatible preprocessor */ | |
485 #undef CURL_ISOCPP | |
486 #endif | |
487 | |
488 /* | |
489 * Macros for minimum-width signed and unsigned curl_off_t integer constants. | |
490 */ | |
491 | |
492 #if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551) | |
493 # define CURLINC_OFF_T_C_HLPR2(x) x | |
494 # define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x) | |
495 # define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \ | |
496 CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T) | |
497 # define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \ | |
498 CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU) | |
499 #else | |
500 # ifdef CURL_ISOCPP | |
501 # define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix | |
502 # else | |
503 # define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix | |
504 # endif | |
505 # define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix) | |
506 # define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T) | |
507 # define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU) | |
508 #endif | |
509 | |
510 #endif /* CURLINC_SYSTEM_H */ |