VirtualBox

source: vbox/trunk/src/libs/curl-7.83.1/include/curl/system.h@ 95312

Last change on this file since 95312 was 95312, checked in by vboxsync, 2 years ago

libs/{curl,libxml2}: OSE export fixes, bugref:8515

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