VirtualBox

source: vbox/trunk/src/libs/curl-8.7.1/include/curl/system.h

Last change on this file was 104083, checked in by vboxsync, 8 months ago

curl-8.7.1: Applied and adjusted our curl changes to 8.4.0. bugref:10639

  • Property svn:eol-style set to native
File size: 18.9 KB
Line 
1#ifndef CURLINC_SYSTEM_H
2#define CURLINC_SYSTEM_H
3/***************************************************************************
4 * _ _ ____ _
5 * Project ___| | | | _ \| |
6 * / __| | | | |_) | |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
9 *
10 * Copyright (C) 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(macintosh)
145# include <ConditionalMacros.h>
146# if TYPE_LONGLONG
147# define CURL_TYPEOF_CURL_OFF_T long long
148# define CURL_FORMAT_CURL_OFF_T "lld"
149# define CURL_FORMAT_CURL_OFF_TU "llu"
150# define CURL_SUFFIX_CURL_OFF_T LL
151# define CURL_SUFFIX_CURL_OFF_TU ULL
152# else
153# define CURL_TYPEOF_CURL_OFF_T long
154# define CURL_FORMAT_CURL_OFF_T "ld"
155# define CURL_FORMAT_CURL_OFF_TU "lu"
156# define CURL_SUFFIX_CURL_OFF_T L
157# define CURL_SUFFIX_CURL_OFF_TU UL
158# endif
159# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
160
161#elif defined(__TANDEM)
162# if ! defined(__LP64)
163 /* Required for 32-bit NonStop builds only. */
164# define CURL_TYPEOF_CURL_OFF_T long long
165# define CURL_FORMAT_CURL_OFF_T "lld"
166# define CURL_FORMAT_CURL_OFF_TU "llu"
167# define CURL_SUFFIX_CURL_OFF_T LL
168# define CURL_SUFFIX_CURL_OFF_TU ULL
169# define CURL_TYPEOF_CURL_SOCKLEN_T int
170# endif
171
172#elif defined(_WIN32_WCE)
173# define CURL_TYPEOF_CURL_OFF_T __int64
174# define CURL_FORMAT_CURL_OFF_T "I64d"
175# define CURL_FORMAT_CURL_OFF_TU "I64u"
176# define CURL_SUFFIX_CURL_OFF_T i64
177# define CURL_SUFFIX_CURL_OFF_TU ui64
178# define CURL_TYPEOF_CURL_SOCKLEN_T int
179
180#elif defined(__MINGW32__)
181# include <inttypes.h>
182# define CURL_TYPEOF_CURL_OFF_T long long
183# define CURL_FORMAT_CURL_OFF_T PRId64
184# define CURL_FORMAT_CURL_OFF_TU PRIu64
185# define CURL_SUFFIX_CURL_OFF_T LL
186# define CURL_SUFFIX_CURL_OFF_TU ULL
187# define CURL_TYPEOF_CURL_SOCKLEN_T int
188# define CURL_PULL_SYS_TYPES_H 1
189
190#elif defined(__VMS)
191# if defined(__VAX)
192# define CURL_TYPEOF_CURL_OFF_T long
193# define CURL_FORMAT_CURL_OFF_T "ld"
194# define CURL_FORMAT_CURL_OFF_TU "lu"
195# define CURL_SUFFIX_CURL_OFF_T L
196# define CURL_SUFFIX_CURL_OFF_TU UL
197# else
198# define CURL_TYPEOF_CURL_OFF_T long long
199# define CURL_FORMAT_CURL_OFF_T "lld"
200# define CURL_FORMAT_CURL_OFF_TU "llu"
201# define CURL_SUFFIX_CURL_OFF_T LL
202# define CURL_SUFFIX_CURL_OFF_TU ULL
203# endif
204# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
205
206#elif defined(__OS400__)
207# define CURL_TYPEOF_CURL_OFF_T long long
208# define CURL_FORMAT_CURL_OFF_T "lld"
209# define CURL_FORMAT_CURL_OFF_TU "llu"
210# define CURL_SUFFIX_CURL_OFF_T LL
211# define CURL_SUFFIX_CURL_OFF_TU ULL
212# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
213# define CURL_PULL_SYS_TYPES_H 1
214# define CURL_PULL_SYS_SOCKET_H 1
215
216#elif defined(__MVS__)
217# if defined(_LONG_LONG)
218# define CURL_TYPEOF_CURL_OFF_T long long
219# define CURL_FORMAT_CURL_OFF_T "lld"
220# define CURL_FORMAT_CURL_OFF_TU "llu"
221# define CURL_SUFFIX_CURL_OFF_T LL
222# define CURL_SUFFIX_CURL_OFF_TU ULL
223# elif defined(_LP64)
224# define CURL_TYPEOF_CURL_OFF_T long
225# define CURL_FORMAT_CURL_OFF_T "ld"
226# define CURL_FORMAT_CURL_OFF_TU "lu"
227# define CURL_SUFFIX_CURL_OFF_T L
228# define CURL_SUFFIX_CURL_OFF_TU UL
229# else
230# define CURL_TYPEOF_CURL_OFF_T long
231# define CURL_FORMAT_CURL_OFF_T "ld"
232# define CURL_FORMAT_CURL_OFF_TU "lu"
233# define CURL_SUFFIX_CURL_OFF_T L
234# define CURL_SUFFIX_CURL_OFF_TU UL
235# endif
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
240#elif defined(__370__)
241# if defined(__IBMC__) || defined(__IBMCPP__)
242# if defined(_ILP32)
243# elif defined(_LP64)
244# endif
245# if defined(_LONG_LONG)
246# define CURL_TYPEOF_CURL_OFF_T long long
247# define CURL_FORMAT_CURL_OFF_T "lld"
248# define CURL_FORMAT_CURL_OFF_TU "llu"
249# define CURL_SUFFIX_CURL_OFF_T LL
250# define CURL_SUFFIX_CURL_OFF_TU ULL
251# elif defined(_LP64)
252# define CURL_TYPEOF_CURL_OFF_T long
253# define CURL_FORMAT_CURL_OFF_T "ld"
254# define CURL_FORMAT_CURL_OFF_TU "lu"
255# define CURL_SUFFIX_CURL_OFF_T L
256# define CURL_SUFFIX_CURL_OFF_TU UL
257# else
258# define CURL_TYPEOF_CURL_OFF_T long
259# define CURL_FORMAT_CURL_OFF_T "ld"
260# define CURL_FORMAT_CURL_OFF_TU "lu"
261# define CURL_SUFFIX_CURL_OFF_T L
262# define CURL_SUFFIX_CURL_OFF_TU UL
263# endif
264# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
265# define CURL_PULL_SYS_TYPES_H 1
266# define CURL_PULL_SYS_SOCKET_H 1
267# endif
268
269#elif defined(TPF)
270# define CURL_TYPEOF_CURL_OFF_T long
271# define CURL_FORMAT_CURL_OFF_T "ld"
272# define CURL_FORMAT_CURL_OFF_TU "lu"
273# define CURL_SUFFIX_CURL_OFF_T L
274# define CURL_SUFFIX_CURL_OFF_TU UL
275# define CURL_TYPEOF_CURL_SOCKLEN_T int
276
277#elif defined(__TINYC__) /* also known as tcc */
278# define CURL_TYPEOF_CURL_OFF_T long long
279# define CURL_FORMAT_CURL_OFF_T "lld"
280# define CURL_FORMAT_CURL_OFF_TU "llu"
281# define CURL_SUFFIX_CURL_OFF_T LL
282# define CURL_SUFFIX_CURL_OFF_TU ULL
283# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
284# define CURL_PULL_SYS_TYPES_H 1
285# define CURL_PULL_SYS_SOCKET_H 1
286
287#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* Oracle Solaris Studio */
288# if !defined(__LP64) && (defined(__ILP32) || \
289 defined(__i386) || \
290 defined(__sparcv8) || \
291 defined(__sparcv8plus))
292# define CURL_TYPEOF_CURL_OFF_T long long
293# define CURL_FORMAT_CURL_OFF_T "lld"
294# define CURL_FORMAT_CURL_OFF_TU "llu"
295# define CURL_SUFFIX_CURL_OFF_T LL
296# define CURL_SUFFIX_CURL_OFF_TU ULL
297# elif defined(__LP64) || \
298 defined(__amd64) || defined(__sparcv9)
299# define CURL_TYPEOF_CURL_OFF_T long
300# define CURL_FORMAT_CURL_OFF_T "ld"
301# define CURL_FORMAT_CURL_OFF_TU "lu"
302# define CURL_SUFFIX_CURL_OFF_T L
303# define CURL_SUFFIX_CURL_OFF_TU UL
304# endif
305# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
306# define CURL_PULL_SYS_TYPES_H 1
307# define CURL_PULL_SYS_SOCKET_H 1
308
309#elif defined(__xlc__) /* IBM xlc compiler */
310# if !defined(_LP64)
311# define CURL_TYPEOF_CURL_OFF_T long long
312# define CURL_FORMAT_CURL_OFF_T "lld"
313# define CURL_FORMAT_CURL_OFF_TU "llu"
314# define CURL_SUFFIX_CURL_OFF_T LL
315# define CURL_SUFFIX_CURL_OFF_TU ULL
316# else
317# define CURL_TYPEOF_CURL_OFF_T long
318# define CURL_FORMAT_CURL_OFF_T "ld"
319# define CURL_FORMAT_CURL_OFF_TU "lu"
320# define CURL_SUFFIX_CURL_OFF_T L
321# define CURL_SUFFIX_CURL_OFF_TU UL
322# endif
323# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
324# define CURL_PULL_SYS_TYPES_H 1
325# define CURL_PULL_SYS_SOCKET_H 1
326
327#elif defined(__hpux) /* HP aCC compiler */
328# if !defined(_LP64)
329# define CURL_TYPEOF_CURL_OFF_T long long
330# define CURL_FORMAT_CURL_OFF_T "lld"
331# define CURL_FORMAT_CURL_OFF_TU "llu"
332# define CURL_SUFFIX_CURL_OFF_T LL
333# define CURL_SUFFIX_CURL_OFF_TU ULL
334# else
335# define CURL_TYPEOF_CURL_OFF_T long
336# define CURL_FORMAT_CURL_OFF_T "ld"
337# define CURL_FORMAT_CURL_OFF_TU "lu"
338# define CURL_SUFFIX_CURL_OFF_T L
339# define CURL_SUFFIX_CURL_OFF_TU UL
340# endif
341# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
342# define CURL_PULL_SYS_TYPES_H 1
343# define CURL_PULL_SYS_SOCKET_H 1
344
345/* ===================================== */
346/* KEEP MSVC THE PENULTIMATE ENTRY */
347/* ===================================== */
348
349#elif defined(_MSC_VER)
350# if (_MSC_VER >= 1800)
351# include <inttypes.h>
352# define CURL_TYPEOF_CURL_OFF_T __int64
353# define CURL_FORMAT_CURL_OFF_T PRId64
354# define CURL_FORMAT_CURL_OFF_TU PRIu64
355# define CURL_SUFFIX_CURL_OFF_T i64
356# define CURL_SUFFIX_CURL_OFF_TU ui64
357# elif (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
358# define CURL_TYPEOF_CURL_OFF_T __int64
359# define CURL_FORMAT_CURL_OFF_T "I64d"
360# define CURL_FORMAT_CURL_OFF_TU "I64u"
361# define CURL_SUFFIX_CURL_OFF_T i64
362# define CURL_SUFFIX_CURL_OFF_TU ui64
363# else
364# define CURL_TYPEOF_CURL_OFF_T long
365# define CURL_FORMAT_CURL_OFF_T "ld"
366# define CURL_FORMAT_CURL_OFF_TU "lu"
367# define CURL_SUFFIX_CURL_OFF_T L
368# define CURL_SUFFIX_CURL_OFF_TU UL
369# endif
370# define CURL_TYPEOF_CURL_SOCKLEN_T int
371
372/* ===================================== */
373/* KEEP GENERIC GCC THE LAST ENTRY */
374/* ===================================== */
375
376#elif defined(__GNUC__) && !defined(_SCO_DS)
377# if !defined(__LP64__) && \
378 (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \
379 defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
380 defined(__sparc__) || defined(__mips__) || defined(__sh__) || \
381 defined(__XTENSA__) || \
382 (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \
383 (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L))
384# define CURL_TYPEOF_CURL_OFF_T long long
385# define CURL_FORMAT_CURL_OFF_T "lld"
386# define CURL_FORMAT_CURL_OFF_TU "llu"
387# define CURL_SUFFIX_CURL_OFF_T LL
388# define CURL_SUFFIX_CURL_OFF_TU ULL
389# elif defined(__LP64__) || \
390 defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \
391 defined(__e2k__) || \
392 (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \
393 (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L)
394# define CURL_TYPEOF_CURL_OFF_T long
395# define CURL_FORMAT_CURL_OFF_T "ld"
396# define CURL_FORMAT_CURL_OFF_TU "lu"
397# define CURL_SUFFIX_CURL_OFF_T L
398# define CURL_SUFFIX_CURL_OFF_TU UL
399# endif
400# ifdef RT_OS_OS2 /* VBOX */
401# define CURL_TYPEOF_CURL_SOCKLEN_T int /* VBOX */
402# else /* VBOX */
403# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
404# endif /* VBOX */
405# define CURL_PULL_SYS_TYPES_H 1
406# define CURL_PULL_SYS_SOCKET_H 1
407
408#else
409/* generic "safe guess" on old 32 bit style */
410# define CURL_TYPEOF_CURL_OFF_T long
411# define CURL_FORMAT_CURL_OFF_T "ld"
412# define CURL_FORMAT_CURL_OFF_TU "lu"
413# define CURL_SUFFIX_CURL_OFF_T L
414# define CURL_SUFFIX_CURL_OFF_TU UL
415# define CURL_TYPEOF_CURL_SOCKLEN_T int
416#endif
417
418#ifdef _AIX
419/* AIX needs <sys/poll.h> */
420#define CURL_PULL_SYS_POLL_H
421#endif
422
423
424/* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */
425/* ws2tcpip.h is required here to properly make type definitions below. */
426#ifdef CURL_PULL_WS2TCPIP_H
427# ifdef VBOX
428# include <iprt/win/winsock2.h>
429# include <iprt/win/windows.h>
430# include <iprt/win/ws2tcpip.h>
431# else
432# include <winsock2.h>
433# include <windows.h>
434# include <ws2tcpip.h>
435# endif
436#endif
437
438/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */
439/* sys/types.h is required here to properly make type definitions below. */
440#ifdef CURL_PULL_SYS_TYPES_H
441# include <sys/types.h>
442#endif
443
444/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */
445/* sys/socket.h is required here to properly make type definitions below. */
446#ifdef CURL_PULL_SYS_SOCKET_H
447# include <sys/socket.h>
448#endif
449
450/* CURL_PULL_SYS_POLL_H is defined above when inclusion of header file */
451/* sys/poll.h is required here to properly make type definitions below. */
452#ifdef CURL_PULL_SYS_POLL_H
453# include <sys/poll.h>
454#endif
455
456/* Data type definition of curl_socklen_t. */
457#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
458 typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
459#endif
460
461/* Data type definition of curl_off_t. */
462
463#ifdef CURL_TYPEOF_CURL_OFF_T
464 typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
465#endif
466
467/*
468 * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
469 * these to be visible and exported by the external libcurl interface API,
470 * while also making them visible to the library internals, simply including
471 * curl_setup.h, without actually needing to include curl.h internally.
472 * If some day this section would grow big enough, all this should be moved
473 * to its own header file.
474 */
475
476/*
477 * Figure out if we can use the ## preprocessor operator, which is supported
478 * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
479 * or __cplusplus so we need to carefully check for them too.
480 */
481
482#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
483 defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
484 defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
485 defined(__ILEC400__)
486 /* This compiler is believed to have an ISO compatible preprocessor */
487#define CURL_ISOCPP
488#else
489 /* This compiler is believed NOT to have an ISO compatible preprocessor */
490#undef CURL_ISOCPP
491#endif
492
493/*
494 * Macros for minimum-width signed and unsigned curl_off_t integer constants.
495 */
496
497#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
498# define CURLINC_OFF_T_C_HLPR2(x) x
499# define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x)
500# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
501 CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
502# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
503 CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
504#else
505# ifdef CURL_ISOCPP
506# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
507# else
508# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
509# endif
510# define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix)
511# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
512# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
513#endif
514
515#endif /* CURLINC_SYSTEM_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette