1#ifndef __CURL_CURLBUILD_H 2#define __CURL_CURLBUILD_H 3/*************************************************************************** 4 * _ _ ____ _ 5 * Project ___| | | | _ \| | 6 * / __| | | | |_) | | 7 * | (__| |_| | _ <| |___ 8 * \___|\___/|_| \_\_____| 9 * 10 * Copyright (C) 1998 - 2016, 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.haxx.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/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */ 27/* ================================================================ */ 28 29/* 30 * NOTE 1: 31 * ------- 32 * 33 * See file include/curl/curlbuild.h.in, run configure, and forget 34 * that this file exists it is only used for non-configure systems. 35 * But you can keep reading if you want ;-) 36 * 37 */ 38 39/* ================================================================ */ 40/* NOTES FOR NON-CONFIGURE SYSTEMS */ 41/* ================================================================ */ 42 43/* 44 * NOTE 1: 45 * ------- 46 * 47 * Nothing in this file is intended to be modified or adjusted by the 48 * curl library user nor by the curl library builder. 49 * 50 * If you think that something actually needs to be changed, adjusted 51 * or fixed in this file, then, report it on the libcurl development 52 * mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/ 53 * 54 * Try to keep one section per platform, compiler and architecture, 55 * otherwise, if an existing section is reused for a different one and 56 * later on the original is adjusted, probably the piggybacking one can 57 * be adversely changed. 58 * 59 * In order to differentiate between platforms/compilers/architectures 60 * use only compiler built in predefined preprocessor symbols. 61 * 62 * This header file shall only export symbols which are 'curl' or 'CURL' 63 * prefixed, otherwise public name space would be polluted. 64 * 65 * NOTE 2: 66 * ------- 67 * 68 * For any given platform/compiler curl_off_t must be typedef'ed to a 69 * 64-bit wide signed integral data type. The width of this data type 70 * must remain constant and independent of any possible large file 71 * support settings. 72 * 73 * As an exception to the above, curl_off_t shall be typedef'ed to a 74 * 32-bit wide signed integral data type if there is no 64-bit type. 75 * 76 * As a general rule, curl_off_t shall not be mapped to off_t. This 77 * rule shall only be violated if off_t is the only 64-bit data type 78 * available and the size of off_t is independent of large file support 79 * settings. Keep your build on the safe side avoiding an off_t gating. 80 * If you have a 64-bit off_t then take for sure that another 64-bit 81 * data type exists, dig deeper and you will find it. 82 * 83 * NOTE 3: 84 * ------- 85 * 86 * Right now you might be staring at file include/curl/curlbuild.h.dist or 87 * at file include/curl/curlbuild.h, this is due to the following reason: 88 * file include/curl/curlbuild.h.dist is renamed to include/curl/curlbuild.h 89 * when the libcurl source code distribution archive file is created. 90 * 91 * File include/curl/curlbuild.h.dist is not included in the distribution 92 * archive. File include/curl/curlbuild.h is not present in the git tree. 93 * 94 * The distributed include/curl/curlbuild.h file is only intended to be used 95 * on systems which can not run the also distributed configure script. 96 * 97 * On systems capable of running the configure script, the configure process 98 * will overwrite the distributed include/curl/curlbuild.h file with one that 99 * is suitable and specific to the library being configured and built, which 100 * is generated from the include/curl/curlbuild.h.in template file. 101 * 102 * If you check out from git on a non-configure platform, you must run the 103 * appropriate buildconf* script to set up curlbuild.h and other local files. 104 * 105 */ 106 107/* ================================================================ */ 108/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */ 109/* ================================================================ */ 110 111#ifdef CURL_SIZEOF_LONG 112# error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h" 113 Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined 114#endif 115 116#ifdef CURL_TYPEOF_CURL_SOCKLEN_T 117# error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" 118 Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined 119#endif 120 121#ifdef CURL_SIZEOF_CURL_SOCKLEN_T 122# error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" 123 Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined 124#endif 125 126#ifdef CURL_TYPEOF_CURL_OFF_T 127# error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h" 128 Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined 129#endif 130 131#ifdef CURL_FORMAT_CURL_OFF_T 132# error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h" 133 Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined 134#endif 135 136#ifdef CURL_FORMAT_CURL_OFF_TU 137# error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h" 138 Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined 139#endif 140 141#ifdef CURL_FORMAT_OFF_T 142# error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h" 143 Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined 144#endif 145 146#ifdef CURL_SIZEOF_CURL_OFF_T 147# error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h" 148 Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined 149#endif 150 151#ifdef CURL_SUFFIX_CURL_OFF_T 152# error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h" 153 Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined 154#endif 155 156#ifdef CURL_SUFFIX_CURL_OFF_TU 157# error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h" 158 Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined 159#endif 160 161/* ================================================================ */ 162/* EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY */ 163/* ================================================================ */ 164 165#if defined(__DJGPP__) || defined(__GO32__) 166# if defined(__DJGPP__) && (__DJGPP__ > 1) 167# define CURL_SIZEOF_LONG 4 168# define CURL_TYPEOF_CURL_OFF_T long long 169# define CURL_FORMAT_CURL_OFF_T "lld" 170# define CURL_FORMAT_CURL_OFF_TU "llu" 171# define CURL_FORMAT_OFF_T "%lld" 172# define CURL_SIZEOF_CURL_OFF_T 8 173# define CURL_SUFFIX_CURL_OFF_T LL 174# define CURL_SUFFIX_CURL_OFF_TU ULL 175# else 176# define CURL_SIZEOF_LONG 4 177# define CURL_TYPEOF_CURL_OFF_T long 178# define CURL_FORMAT_CURL_OFF_T "ld" 179# define CURL_FORMAT_CURL_OFF_TU "lu" 180# define CURL_FORMAT_OFF_T "%ld" 181# define CURL_SIZEOF_CURL_OFF_T 4 182# define CURL_SUFFIX_CURL_OFF_T L 183# define CURL_SUFFIX_CURL_OFF_TU UL 184# endif 185# define CURL_TYPEOF_CURL_SOCKLEN_T int 186# define CURL_SIZEOF_CURL_SOCKLEN_T 4 187 188#elif defined(__SALFORDC__) 189# define CURL_SIZEOF_LONG 4 190# define CURL_TYPEOF_CURL_OFF_T long 191# define CURL_FORMAT_CURL_OFF_T "ld" 192# define CURL_FORMAT_CURL_OFF_TU "lu" 193# define CURL_FORMAT_OFF_T "%ld" 194# define CURL_SIZEOF_CURL_OFF_T 4 195# define CURL_SUFFIX_CURL_OFF_T L 196# define CURL_SUFFIX_CURL_OFF_TU UL 197# define CURL_TYPEOF_CURL_SOCKLEN_T int 198# define CURL_SIZEOF_CURL_SOCKLEN_T 4 199 200#elif defined(__BORLANDC__) 201# if (__BORLANDC__ < 0x520) 202# define CURL_SIZEOF_LONG 4 203# define CURL_TYPEOF_CURL_OFF_T long 204# define CURL_FORMAT_CURL_OFF_T "ld" 205# define CURL_FORMAT_CURL_OFF_TU "lu" 206# define CURL_FORMAT_OFF_T "%ld" 207# define CURL_SIZEOF_CURL_OFF_T 4 208# define CURL_SUFFIX_CURL_OFF_T L 209# define CURL_SUFFIX_CURL_OFF_TU UL 210# else 211# define CURL_SIZEOF_LONG 4 212# define CURL_TYPEOF_CURL_OFF_T __int64 213# define CURL_FORMAT_CURL_OFF_T "I64d" 214# define CURL_FORMAT_CURL_OFF_TU "I64u" 215# define CURL_FORMAT_OFF_T "%I64d" 216# define CURL_SIZEOF_CURL_OFF_T 8 217# define CURL_SUFFIX_CURL_OFF_T i64 218# define CURL_SUFFIX_CURL_OFF_TU ui64 219# endif 220# define CURL_TYPEOF_CURL_SOCKLEN_T int 221# define CURL_SIZEOF_CURL_SOCKLEN_T 4 222 223#elif defined(__TURBOC__) 224# define CURL_SIZEOF_LONG 4 225# define CURL_TYPEOF_CURL_OFF_T long 226# define CURL_FORMAT_CURL_OFF_T "ld" 227# define CURL_FORMAT_CURL_OFF_TU "lu" 228# define CURL_FORMAT_OFF_T "%ld" 229# define CURL_SIZEOF_CURL_OFF_T 4 230# define CURL_SUFFIX_CURL_OFF_T L 231# define CURL_SUFFIX_CURL_OFF_TU UL 232# define CURL_TYPEOF_CURL_SOCKLEN_T int 233# define CURL_SIZEOF_CURL_SOCKLEN_T 4 234 235#elif defined(__WATCOMC__) 236# if defined(__386__) 237# define CURL_SIZEOF_LONG 4 238# define CURL_TYPEOF_CURL_OFF_T __int64 239# define CURL_FORMAT_CURL_OFF_T "I64d" 240# define CURL_FORMAT_CURL_OFF_TU "I64u" 241# define CURL_FORMAT_OFF_T "%I64d" 242# define CURL_SIZEOF_CURL_OFF_T 8 243# define CURL_SUFFIX_CURL_OFF_T i64 244# define CURL_SUFFIX_CURL_OFF_TU ui64 245# else 246# define CURL_SIZEOF_LONG 4 247# define CURL_TYPEOF_CURL_OFF_T long 248# define CURL_FORMAT_CURL_OFF_T "ld" 249# define CURL_FORMAT_CURL_OFF_TU "lu" 250# define CURL_FORMAT_OFF_T "%ld" 251# define CURL_SIZEOF_CURL_OFF_T 4 252# define CURL_SUFFIX_CURL_OFF_T L 253# define CURL_SUFFIX_CURL_OFF_TU UL 254# endif 255# define CURL_TYPEOF_CURL_SOCKLEN_T int 256# define CURL_SIZEOF_CURL_SOCKLEN_T 4 257 258#elif defined(__POCC__) 259# if (__POCC__ < 280) 260# define CURL_SIZEOF_LONG 4 261# define CURL_TYPEOF_CURL_OFF_T long 262# define CURL_FORMAT_CURL_OFF_T "ld" 263# define CURL_FORMAT_CURL_OFF_TU "lu" 264# define CURL_FORMAT_OFF_T "%ld" 265# define CURL_SIZEOF_CURL_OFF_T 4 266# define CURL_SUFFIX_CURL_OFF_T L 267# define CURL_SUFFIX_CURL_OFF_TU UL 268# elif defined(_MSC_VER) 269# define CURL_SIZEOF_LONG 4 270# define CURL_TYPEOF_CURL_OFF_T __int64 271# define CURL_FORMAT_CURL_OFF_T "I64d" 272# define CURL_FORMAT_CURL_OFF_TU "I64u" 273# define CURL_FORMAT_OFF_T "%I64d" 274# define CURL_SIZEOF_CURL_OFF_T 8 275# define CURL_SUFFIX_CURL_OFF_T i64 276# define CURL_SUFFIX_CURL_OFF_TU ui64 277# else 278# define CURL_SIZEOF_LONG 4 279# define CURL_TYPEOF_CURL_OFF_T long long 280# define CURL_FORMAT_CURL_OFF_T "lld" 281# define CURL_FORMAT_CURL_OFF_TU "llu" 282# define CURL_FORMAT_OFF_T "%lld" 283# define CURL_SIZEOF_CURL_OFF_T 8 284# define CURL_SUFFIX_CURL_OFF_T LL 285# define CURL_SUFFIX_CURL_OFF_TU ULL 286# endif 287# define CURL_TYPEOF_CURL_SOCKLEN_T int 288# define CURL_SIZEOF_CURL_SOCKLEN_T 4 289 290#elif defined(__LCC__) 291# define CURL_SIZEOF_LONG 4 292# define CURL_TYPEOF_CURL_OFF_T long 293# define CURL_FORMAT_CURL_OFF_T "ld" 294# define CURL_FORMAT_CURL_OFF_TU "lu" 295# define CURL_FORMAT_OFF_T "%ld" 296# define CURL_SIZEOF_CURL_OFF_T 4 297# define CURL_SUFFIX_CURL_OFF_T L 298# define CURL_SUFFIX_CURL_OFF_TU UL 299# define CURL_TYPEOF_CURL_SOCKLEN_T int 300# define CURL_SIZEOF_CURL_SOCKLEN_T 4 301 302#elif defined(__SYMBIAN32__) 303# if defined(__EABI__) /* Treat all ARM compilers equally */ 304# define CURL_SIZEOF_LONG 4 305# define CURL_TYPEOF_CURL_OFF_T long long 306# define CURL_FORMAT_CURL_OFF_T "lld" 307# define CURL_FORMAT_CURL_OFF_TU "llu" 308# define CURL_FORMAT_OFF_T "%lld" 309# define CURL_SIZEOF_CURL_OFF_T 8 310# define CURL_SUFFIX_CURL_OFF_T LL 311# define CURL_SUFFIX_CURL_OFF_TU ULL 312# elif defined(__CW32__) 313# pragma longlong on 314# define CURL_SIZEOF_LONG 4 315# define CURL_TYPEOF_CURL_OFF_T long long 316# define CURL_FORMAT_CURL_OFF_T "lld" 317# define CURL_FORMAT_CURL_OFF_TU "llu" 318# define CURL_FORMAT_OFF_T "%lld" 319# define CURL_SIZEOF_CURL_OFF_T 8 320# define CURL_SUFFIX_CURL_OFF_T LL 321# define CURL_SUFFIX_CURL_OFF_TU ULL 322# elif defined(__VC32__) 323# define CURL_SIZEOF_LONG 4 324# define CURL_TYPEOF_CURL_OFF_T __int64 325# define CURL_FORMAT_CURL_OFF_T "lld" 326# define CURL_FORMAT_CURL_OFF_TU "llu" 327# define CURL_FORMAT_OFF_T "%lld" 328# define CURL_SIZEOF_CURL_OFF_T 8 329# define CURL_SUFFIX_CURL_OFF_T LL 330# define CURL_SUFFIX_CURL_OFF_TU ULL 331# endif 332# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int 333# define CURL_SIZEOF_CURL_SOCKLEN_T 4 334 335#elif defined(__MWERKS__) 336# define CURL_SIZEOF_LONG 4 337# define CURL_TYPEOF_CURL_OFF_T long long 338# define CURL_FORMAT_CURL_OFF_T "lld" 339# define CURL_FORMAT_CURL_OFF_TU "llu" 340# define CURL_FORMAT_OFF_T "%lld" 341# define CURL_SIZEOF_CURL_OFF_T 8 342# define CURL_SUFFIX_CURL_OFF_T LL 343# define CURL_SUFFIX_CURL_OFF_TU ULL 344# define CURL_TYPEOF_CURL_SOCKLEN_T int 345# define CURL_SIZEOF_CURL_SOCKLEN_T 4 346 347#elif defined(_WIN32_WCE) 348# define CURL_SIZEOF_LONG 4 349# define CURL_TYPEOF_CURL_OFF_T __int64 350# define CURL_FORMAT_CURL_OFF_T "I64d" 351# define CURL_FORMAT_CURL_OFF_TU "I64u" 352# define CURL_FORMAT_OFF_T "%I64d" 353# define CURL_SIZEOF_CURL_OFF_T 8 354# define CURL_SUFFIX_CURL_OFF_T i64 355# define CURL_SUFFIX_CURL_OFF_TU ui64 356# define CURL_TYPEOF_CURL_SOCKLEN_T int 357# define CURL_SIZEOF_CURL_SOCKLEN_T 4 358 359#elif defined(__MINGW32__) 360# define CURL_SIZEOF_LONG 4 361# define CURL_TYPEOF_CURL_OFF_T long long 362# define CURL_FORMAT_CURL_OFF_T "I64d" 363# define CURL_FORMAT_CURL_OFF_TU "I64u" 364# define CURL_FORMAT_OFF_T "%I64d" 365# define CURL_SIZEOF_CURL_OFF_T 8 366# define CURL_SUFFIX_CURL_OFF_T LL 367# define CURL_SUFFIX_CURL_OFF_TU ULL 368# define CURL_TYPEOF_CURL_SOCKLEN_T int 369# define CURL_SIZEOF_CURL_SOCKLEN_T 4 370 371#elif defined(__VMS) 372# if defined(__VAX) 373# define CURL_SIZEOF_LONG 4 374# define CURL_TYPEOF_CURL_OFF_T long 375# define CURL_FORMAT_CURL_OFF_T "ld" 376# define CURL_FORMAT_CURL_OFF_TU "lu" 377# define CURL_FORMAT_OFF_T "%ld" 378# define CURL_SIZEOF_CURL_OFF_T 4 379# define CURL_SUFFIX_CURL_OFF_T L 380# define CURL_SUFFIX_CURL_OFF_TU UL 381# else 382# define CURL_SIZEOF_LONG 4 383# define CURL_TYPEOF_CURL_OFF_T long long 384# define CURL_FORMAT_CURL_OFF_T "lld" 385# define CURL_FORMAT_CURL_OFF_TU "llu" 386# define CURL_FORMAT_OFF_T "%lld" 387# define CURL_SIZEOF_CURL_OFF_T 8 388# define CURL_SUFFIX_CURL_OFF_T LL 389# define CURL_SUFFIX_CURL_OFF_TU ULL 390# endif 391# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int 392# define CURL_SIZEOF_CURL_SOCKLEN_T 4 393 394#elif defined(__OS400__) 395# if defined(__ILEC400__) 396# define CURL_SIZEOF_LONG 4 397# define CURL_TYPEOF_CURL_OFF_T long long 398# define CURL_FORMAT_CURL_OFF_T "lld" 399# define CURL_FORMAT_CURL_OFF_TU "llu" 400# define CURL_FORMAT_OFF_T "%lld" 401# define CURL_SIZEOF_CURL_OFF_T 8 402# define CURL_SUFFIX_CURL_OFF_T LL 403# define CURL_SUFFIX_CURL_OFF_TU ULL 404# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t 405# define CURL_SIZEOF_CURL_SOCKLEN_T 4 406# define CURL_PULL_SYS_TYPES_H 1 407# define CURL_PULL_SYS_SOCKET_H 1 408# endif 409 410#elif defined(__MVS__) 411# if defined(__IBMC__) || defined(__IBMCPP__) 412# if defined(_ILP32) 413# define CURL_SIZEOF_LONG 4 414# elif defined(_LP64) 415# define CURL_SIZEOF_LONG 8 416# endif 417# if defined(_LONG_LONG) 418# define CURL_TYPEOF_CURL_OFF_T long long 419# define CURL_FORMAT_CURL_OFF_T "lld" 420# define CURL_FORMAT_CURL_OFF_TU "llu" 421# define CURL_FORMAT_OFF_T "%lld" 422# define CURL_SIZEOF_CURL_OFF_T 8 423# define CURL_SUFFIX_CURL_OFF_T LL 424# define CURL_SUFFIX_CURL_OFF_TU ULL 425# elif defined(_LP64) 426# define CURL_TYPEOF_CURL_OFF_T long 427# define CURL_FORMAT_CURL_OFF_T "ld" 428# define CURL_FORMAT_CURL_OFF_TU "lu" 429# define CURL_FORMAT_OFF_T "%ld" 430# define CURL_SIZEOF_CURL_OFF_T 8 431# define CURL_SUFFIX_CURL_OFF_T L 432# define CURL_SUFFIX_CURL_OFF_TU UL 433# else 434# define CURL_TYPEOF_CURL_OFF_T long 435# define CURL_FORMAT_CURL_OFF_T "ld" 436# define CURL_FORMAT_CURL_OFF_TU "lu" 437# define CURL_FORMAT_OFF_T "%ld" 438# define CURL_SIZEOF_CURL_OFF_T 4 439# define CURL_SUFFIX_CURL_OFF_T L 440# define CURL_SUFFIX_CURL_OFF_TU UL 441# endif 442# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t 443# define CURL_SIZEOF_CURL_SOCKLEN_T 4 444# define CURL_PULL_SYS_TYPES_H 1 445# define CURL_PULL_SYS_SOCKET_H 1 446# endif 447 448#elif defined(__370__) 449# if defined(__IBMC__) || defined(__IBMCPP__) 450# if defined(_ILP32) 451# define CURL_SIZEOF_LONG 4 452# elif defined(_LP64) 453# define CURL_SIZEOF_LONG 8 454# endif 455# if defined(_LONG_LONG) 456# define CURL_TYPEOF_CURL_OFF_T long long 457# define CURL_FORMAT_CURL_OFF_T "lld" 458# define CURL_FORMAT_CURL_OFF_TU "llu" 459# define CURL_FORMAT_OFF_T "%lld" 460# define CURL_SIZEOF_CURL_OFF_T 8 461# define CURL_SUFFIX_CURL_OFF_T LL 462# define CURL_SUFFIX_CURL_OFF_TU ULL 463# elif defined(_LP64) 464# define CURL_TYPEOF_CURL_OFF_T long 465# define CURL_FORMAT_CURL_OFF_T "ld" 466# define CURL_FORMAT_CURL_OFF_TU "lu" 467# define CURL_FORMAT_OFF_T "%ld" 468# define CURL_SIZEOF_CURL_OFF_T 8 469# define CURL_SUFFIX_CURL_OFF_T L 470# define CURL_SUFFIX_CURL_OFF_TU UL 471# else 472# define CURL_TYPEOF_CURL_OFF_T long 473# define CURL_FORMAT_CURL_OFF_T "ld" 474# define CURL_FORMAT_CURL_OFF_TU "lu" 475# define CURL_FORMAT_OFF_T "%ld" 476# define CURL_SIZEOF_CURL_OFF_T 4 477# define CURL_SUFFIX_CURL_OFF_T L 478# define CURL_SUFFIX_CURL_OFF_TU UL 479# endif 480# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t 481# define CURL_SIZEOF_CURL_SOCKLEN_T 4 482# define CURL_PULL_SYS_TYPES_H 1 483# define CURL_PULL_SYS_SOCKET_H 1 484# endif 485 486#elif defined(TPF) 487# define CURL_SIZEOF_LONG 8 488# define CURL_TYPEOF_CURL_OFF_T long 489# define CURL_FORMAT_CURL_OFF_T "ld" 490# define CURL_FORMAT_CURL_OFF_TU "lu" 491# define CURL_FORMAT_OFF_T "%ld" 492# define CURL_SIZEOF_CURL_OFF_T 8 493# define CURL_SUFFIX_CURL_OFF_T L 494# define CURL_SUFFIX_CURL_OFF_TU UL 495# define CURL_TYPEOF_CURL_SOCKLEN_T int 496# define CURL_SIZEOF_CURL_SOCKLEN_T 4 497 498/* ===================================== */ 499/* KEEP MSVC THE PENULTIMATE ENTRY */ 500/* ===================================== */ 501 502#elif defined(_MSC_VER) 503# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64) 504# define CURL_SIZEOF_LONG 4 505# define CURL_TYPEOF_CURL_OFF_T __int64 506# define CURL_FORMAT_CURL_OFF_T "I64d" 507# define CURL_FORMAT_CURL_OFF_TU "I64u" 508# define CURL_FORMAT_OFF_T "%I64d" 509# define CURL_SIZEOF_CURL_OFF_T 8 510# define CURL_SUFFIX_CURL_OFF_T i64 511# define CURL_SUFFIX_CURL_OFF_TU ui64 512# else 513# define CURL_SIZEOF_LONG 4 514# define CURL_TYPEOF_CURL_OFF_T long 515# define CURL_FORMAT_CURL_OFF_T "ld" 516# define CURL_FORMAT_CURL_OFF_TU "lu" 517# define CURL_FORMAT_OFF_T "%ld" 518# define CURL_SIZEOF_CURL_OFF_T 4 519# define CURL_SUFFIX_CURL_OFF_T L 520# define CURL_SUFFIX_CURL_OFF_TU UL 521# endif 522# define CURL_TYPEOF_CURL_SOCKLEN_T int 523# define CURL_SIZEOF_CURL_SOCKLEN_T 4 524 525/* ===================================== */ 526/* KEEP GENERIC GCC THE LAST ENTRY */ 527/* ===================================== */ 528 529#elif defined(__GNUC__) 530# if !defined(__LP64__) && (defined(__ILP32__) || \ 531 defined(__i386__) || defined(__ppc__) || defined(__arm__) || \ 532 defined(__sparc__) || defined(__mips__) || defined(__sh__)) 533# define CURL_SIZEOF_LONG 4 534# define CURL_TYPEOF_CURL_OFF_T long long 535# define CURL_FORMAT_CURL_OFF_T "lld" 536# define CURL_FORMAT_CURL_OFF_TU "llu" 537# define CURL_FORMAT_OFF_T "%lld" 538# define CURL_SIZEOF_CURL_OFF_T 8 539# define CURL_SUFFIX_CURL_OFF_T LL 540# define CURL_SUFFIX_CURL_OFF_TU ULL 541# elif defined(__LP64__) || \ 542 defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) 543# define CURL_SIZEOF_LONG 8 544# define CURL_TYPEOF_CURL_OFF_T long 545# define CURL_FORMAT_CURL_OFF_T "ld" 546# define CURL_FORMAT_CURL_OFF_TU "lu" 547# define CURL_FORMAT_OFF_T "%ld" 548# define CURL_SIZEOF_CURL_OFF_T 8 549# define CURL_SUFFIX_CURL_OFF_T L 550# define CURL_SUFFIX_CURL_OFF_TU UL 551# endif 552# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t 553# define CURL_SIZEOF_CURL_SOCKLEN_T 4 554# define CURL_PULL_SYS_TYPES_H 1 555# define CURL_PULL_SYS_SOCKET_H 1 556 557#else 558# error "Unknown non-configure build target!" 559 Error Compilation_aborted_Unknown_non_configure_build_target 560#endif 561 562/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */ 563/* sys/types.h is required here to properly make type definitions below. */ 564#ifdef CURL_PULL_SYS_TYPES_H 565# include <sys/types.h> 566#endif 567 568/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */ 569/* sys/socket.h is required here to properly make type definitions below. */ 570#ifdef CURL_PULL_SYS_SOCKET_H 571# include <sys/socket.h> 572#endif 573 574/* Data type definition of curl_socklen_t. */ 575 576#ifdef CURL_TYPEOF_CURL_SOCKLEN_T 577 typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; 578#endif 579 580/* Data type definition of curl_off_t. */ 581 582#ifdef CURL_TYPEOF_CURL_OFF_T 583 typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; 584#endif 585 586#endif /* __CURL_CURLBUILD_H */ 587