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 (a] 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