1 /* 2 * WARNING: do not edit! 3 * Generated by Makefile from include/openssl/opensslconf.h.in 4 * 5 * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. 6 * 7 * Licensed under the OpenSSL license (the "License"). You may not use 8 * this file except in compliance with the License. You can obtain a copy 9 * in the file LICENSE in the source distribution or at 10 * https://www.openssl.org/source/license.html 11 */ 12 13 #if defined(OPENSSL_ARM64_PLATFORM) || defined(OPENSSL_X86_64_PLATFORM) 14 #include <openssl/opensslv.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #ifdef OPENSSL_ALGORITHM_DEFINES 21 # error OPENSSL_ALGORITHM_DEFINES no longer supported 22 #endif 23 24 /* 25 * OpenSSL was configured with the following options: 26 */ 27 28 #ifndef OPENSSL_NO_BF 29 # define OPENSSL_NO_BF 30 #endif 31 #ifndef OPENSSL_NO_CAMELLIA 32 # define OPENSSL_NO_CAMELLIA 33 #endif 34 #ifndef OPENSSL_NO_CAST 35 # define OPENSSL_NO_CAST 36 #endif 37 #ifndef OPENSSL_NO_CT 38 # define OPENSSL_NO_CT 39 #endif 40 #ifndef OPENSSL_NO_MD2 41 # define OPENSSL_NO_MD2 42 #endif 43 #ifndef OPENSSL_NO_RC2 44 # define OPENSSL_NO_RC2 45 #endif 46 #ifndef OPENSSL_NO_RC5 47 # define OPENSSL_NO_RC5 48 #endif 49 #ifndef OPENSSL_NO_RMD160 50 # define OPENSSL_NO_RMD160 51 #endif 52 #ifndef OPENSSL_THREADS 53 # define OPENSSL_THREADS 54 #endif 55 #ifndef OPENSSL_RAND_SEED_OS 56 # define OPENSSL_RAND_SEED_OS 57 #endif 58 #ifndef OPENSSL_NO_AFALGENG 59 # define OPENSSL_NO_AFALGENG 60 #endif 61 #ifndef OPENSSL_NO_ASAN 62 # define OPENSSL_NO_ASAN 63 #endif 64 #ifndef OPENSSL_NO_CRYPTO_MDEBUG 65 # define OPENSSL_NO_CRYPTO_MDEBUG 66 #endif 67 #ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 68 # define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 69 #endif 70 #ifndef OPENSSL_NO_DEVCRYPTOENG 71 # define OPENSSL_NO_DEVCRYPTOENG 72 #endif 73 #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 74 # define OPENSSL_NO_EC_NISTP_64_GCC_128 75 #endif 76 #ifndef OPENSSL_NO_EGD 77 # define OPENSSL_NO_EGD 78 #endif 79 #ifndef OPENSSL_NO_EXTERNAL_TESTS 80 # define OPENSSL_NO_EXTERNAL_TESTS 81 #endif 82 #ifndef OPENSSL_NO_FUZZ_AFL 83 # define OPENSSL_NO_FUZZ_AFL 84 #endif 85 #ifndef OPENSSL_NO_FUZZ_LIBFUZZER 86 # define OPENSSL_NO_FUZZ_LIBFUZZER 87 #endif 88 #ifndef OPENSSL_NO_HEARTBEATS 89 # define OPENSSL_NO_HEARTBEATS 90 #endif 91 #ifndef OPENSSL_NO_MSAN 92 # define OPENSSL_NO_MSAN 93 #endif 94 #ifndef OPENSSL_NO_SCTP 95 # define OPENSSL_NO_SCTP 96 #endif 97 #ifndef OPENSSL_NO_SSL_TRACE 98 # define OPENSSL_NO_SSL_TRACE 99 #endif 100 #ifndef OPENSSL_NO_SSL3 101 # define OPENSSL_NO_SSL3 102 #endif 103 #ifndef OPENSSL_NO_SSL3_METHOD 104 # define OPENSSL_NO_SSL3_METHOD 105 #endif 106 #ifndef OPENSSL_NO_UBSAN 107 # define OPENSSL_NO_UBSAN 108 #endif 109 #ifndef OPENSSL_NO_UNIT_TEST 110 # define OPENSSL_NO_UNIT_TEST 111 #endif 112 #ifndef OPENSSL_NO_WEAK_SSL_CIPHERS 113 # define OPENSSL_NO_WEAK_SSL_CIPHERS 114 #endif 115 #ifndef OPENSSL_NO_STATIC_ENGINE 116 # define OPENSSL_NO_STATIC_ENGINE 117 #endif 118 119 120 /* 121 * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers 122 * don't like that. This will hopefully silence them. 123 */ 124 #define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; 125 126 /* 127 * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the 128 * declarations of functions deprecated in or before <version>. Otherwise, they 129 * still won't see them if the library has been built to disable deprecated 130 * functions. 131 */ 132 #ifndef DECLARE_DEPRECATED 133 # define DECLARE_DEPRECATED(f) f; 134 # ifdef __GNUC__ 135 # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) 136 # undef DECLARE_DEPRECATED 137 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 138 # endif 139 # elif defined(__SUNPRO_C) 140 # if (__SUNPRO_C >= 0x5130) 141 # undef DECLARE_DEPRECATED 142 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 143 # endif 144 # endif 145 #endif 146 147 #ifndef OPENSSL_FILE 148 # ifdef OPENSSL_NO_FILENAMES 149 # define OPENSSL_FILE "" 150 # define OPENSSL_LINE 0 151 # else 152 # define OPENSSL_FILE __FILE__ 153 # define OPENSSL_LINE __LINE__ 154 # endif 155 #endif 156 157 #ifndef OPENSSL_MIN_API 158 # define OPENSSL_MIN_API 0 159 #endif 160 161 #if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API 162 # undef OPENSSL_API_COMPAT 163 # define OPENSSL_API_COMPAT OPENSSL_MIN_API 164 #endif 165 166 /* 167 * Do not deprecate things to be deprecated in version 1.2.0 before the 168 * OpenSSL version number matches. 169 */ 170 #if OPENSSL_VERSION_NUMBER < 0x10200000L 171 # define DEPRECATEDIN_1_2_0(f) f; 172 #elif OPENSSL_API_COMPAT < 0x10200000L 173 # define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) 174 #else 175 # define DEPRECATEDIN_1_2_0(f) 176 #endif 177 178 #if OPENSSL_API_COMPAT < 0x10100000L 179 # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) 180 #else 181 # define DEPRECATEDIN_1_1_0(f) 182 #endif 183 184 #if OPENSSL_API_COMPAT < 0x10000000L 185 # define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) 186 #else 187 # define DEPRECATEDIN_1_0_0(f) 188 #endif 189 190 #if OPENSSL_API_COMPAT < 0x00908000L 191 # define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) 192 #else 193 # define DEPRECATEDIN_0_9_8(f) 194 #endif 195 196 /* Generate 80386 code? */ 197 #undef I386_ONLY 198 199 #undef OPENSSL_UNISTD 200 #define OPENSSL_UNISTD <unistd.h> 201 202 #undef OPENSSL_EXPORT_VAR_AS_FUNCTION 203 204 /* 205 * The following are cipher-specific, but are part of the public API. 206 */ 207 #if !defined(OPENSSL_SYS_UEFI) 208 # undef BN_LLONG 209 /* Only one for the following should be defined */ 210 # define SIXTY_FOUR_BIT_LONG 211 # undef SIXTY_FOUR_BIT 212 # undef THIRTY_TWO_BIT 213 #endif 214 215 #ifdef OPENSSL_ARM64_PLATFORM 216 #define RC4_INT unsigned char 217 #else 218 #define RC4_INT unsigned int 219 #endif 220 221 #ifdef __cplusplus 222 } 223 #endif 224 #endif // OPENSSL_ARM64_PLATFORM || OPENSSL_X86_64_PLATFORM 225 226 #ifdef OPENSSL_ARM_PLATFORM 227 #include <openssl/opensslv.h> 228 229 #ifdef __cplusplus 230 extern "C" { 231 #endif 232 233 #ifdef OPENSSL_ALGORITHM_DEFINES 234 # error OPENSSL_ALGORITHM_DEFINES no longer supported 235 #endif 236 237 /* 238 * OpenSSL was configured with the following options: 239 */ 240 241 #ifndef OPENSSL_NO_BF 242 # define OPENSSL_NO_BF 243 #endif 244 #ifndef OPENSSL_NO_CAMELLIA 245 # define OPENSSL_NO_CAMELLIA 246 #endif 247 #ifndef OPENSSL_NO_CAST 248 # define OPENSSL_NO_CAST 249 #endif 250 #ifndef OPENSSL_NO_CT 251 # define OPENSSL_NO_CT 252 #endif 253 #ifndef OPENSSL_NO_MD2 254 # define OPENSSL_NO_MD2 255 #endif 256 #ifndef OPENSSL_NO_RC2 257 # define OPENSSL_NO_RC2 258 #endif 259 #ifndef OPENSSL_NO_RC5 260 # define OPENSSL_NO_RC5 261 #endif 262 #ifndef OPENSSL_NO_RMD160 263 # define OPENSSL_NO_RMD160 264 #endif 265 #ifndef OPENSSL_THREADS 266 # define OPENSSL_THREADS 267 #endif 268 #ifndef OPENSSL_RAND_SEED_OS 269 # define OPENSSL_RAND_SEED_OS 270 #endif 271 #ifndef OPENSSL_NO_AFALGENG 272 # define OPENSSL_NO_AFALGENG 273 #endif 274 #ifndef OPENSSL_NO_ASAN 275 # define OPENSSL_NO_ASAN 276 #endif 277 #ifndef OPENSSL_NO_CRYPTO_MDEBUG 278 # define OPENSSL_NO_CRYPTO_MDEBUG 279 #endif 280 #ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 281 # define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 282 #endif 283 #ifndef OPENSSL_NO_DEVCRYPTOENG 284 # define OPENSSL_NO_DEVCRYPTOENG 285 #endif 286 #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 287 # define OPENSSL_NO_EC_NISTP_64_GCC_128 288 #endif 289 #ifndef OPENSSL_NO_EGD 290 # define OPENSSL_NO_EGD 291 #endif 292 #ifndef OPENSSL_NO_EXTERNAL_TESTS 293 # define OPENSSL_NO_EXTERNAL_TESTS 294 #endif 295 #ifndef OPENSSL_NO_FUZZ_AFL 296 # define OPENSSL_NO_FUZZ_AFL 297 #endif 298 #ifndef OPENSSL_NO_FUZZ_LIBFUZZER 299 # define OPENSSL_NO_FUZZ_LIBFUZZER 300 #endif 301 #ifndef OPENSSL_NO_HEARTBEATS 302 # define OPENSSL_NO_HEARTBEATS 303 #endif 304 #ifndef OPENSSL_NO_MSAN 305 # define OPENSSL_NO_MSAN 306 #endif 307 #ifndef OPENSSL_NO_SCTP 308 # define OPENSSL_NO_SCTP 309 #endif 310 #ifndef OPENSSL_NO_SSL_TRACE 311 # define OPENSSL_NO_SSL_TRACE 312 #endif 313 #ifndef OPENSSL_NO_SSL3 314 # define OPENSSL_NO_SSL3 315 #endif 316 #ifndef OPENSSL_NO_SSL3_METHOD 317 # define OPENSSL_NO_SSL3_METHOD 318 #endif 319 #ifndef OPENSSL_NO_UBSAN 320 # define OPENSSL_NO_UBSAN 321 #endif 322 #ifndef OPENSSL_NO_UNIT_TEST 323 # define OPENSSL_NO_UNIT_TEST 324 #endif 325 #ifndef OPENSSL_NO_WEAK_SSL_CIPHERS 326 # define OPENSSL_NO_WEAK_SSL_CIPHERS 327 #endif 328 #ifndef OPENSSL_NO_STATIC_ENGINE 329 # define OPENSSL_NO_STATIC_ENGINE 330 #endif 331 332 333 /* 334 * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers 335 * don't like that. This will hopefully silence them. 336 */ 337 #define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; 338 339 /* 340 * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the 341 * declarations of functions deprecated in or before <version>. Otherwise, they 342 * still won't see them if the library has been built to disable deprecated 343 * functions. 344 */ 345 #ifndef DECLARE_DEPRECATED 346 # define DECLARE_DEPRECATED(f) f; 347 # ifdef __GNUC__ 348 # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) 349 # undef DECLARE_DEPRECATED 350 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 351 # endif 352 # elif defined(__SUNPRO_C) 353 # if (__SUNPRO_C >= 0x5130) 354 # undef DECLARE_DEPRECATED 355 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 356 # endif 357 # endif 358 #endif 359 360 #ifndef OPENSSL_FILE 361 # ifdef OPENSSL_NO_FILENAMES 362 # define OPENSSL_FILE "" 363 # define OPENSSL_LINE 0 364 # else 365 # define OPENSSL_FILE __FILE__ 366 # define OPENSSL_LINE __LINE__ 367 # endif 368 #endif 369 370 #ifndef OPENSSL_MIN_API 371 # define OPENSSL_MIN_API 0 372 #endif 373 374 #if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API 375 # undef OPENSSL_API_COMPAT 376 # define OPENSSL_API_COMPAT OPENSSL_MIN_API 377 #endif 378 379 /* 380 * Do not deprecate things to be deprecated in version 1.2.0 before the 381 * OpenSSL version number matches. 382 */ 383 #if OPENSSL_VERSION_NUMBER < 0x10200000L 384 # define DEPRECATEDIN_1_2_0(f) f; 385 #elif OPENSSL_API_COMPAT < 0x10200000L 386 # define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) 387 #else 388 # define DEPRECATEDIN_1_2_0(f) 389 #endif 390 391 #if OPENSSL_API_COMPAT < 0x10100000L 392 # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) 393 #else 394 # define DEPRECATEDIN_1_1_0(f) 395 #endif 396 397 #if OPENSSL_API_COMPAT < 0x10000000L 398 # define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) 399 #else 400 # define DEPRECATEDIN_1_0_0(f) 401 #endif 402 403 #if OPENSSL_API_COMPAT < 0x00908000L 404 # define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) 405 #else 406 # define DEPRECATEDIN_0_9_8(f) 407 #endif 408 409 /* Generate 80386 code? */ 410 #undef I386_ONLY 411 412 #undef OPENSSL_UNISTD 413 #define OPENSSL_UNISTD <unistd.h> 414 415 #undef OPENSSL_EXPORT_VAR_AS_FUNCTION 416 417 /* 418 * The following are cipher-specific, but are part of the public API. 419 */ 420 #if !defined(OPENSSL_SYS_UEFI) 421 # define BN_LLONG 422 /* Only one for the following should be defined */ 423 # undef SIXTY_FOUR_BIT_LONG 424 # undef SIXTY_FOUR_BIT 425 # define THIRTY_TWO_BIT 426 #endif 427 428 #define RC4_INT unsigned char 429 430 #ifdef __cplusplus 431 } 432 #endif 433 #endif // OPENSSL_ARM_PLATFORM 434 435 #ifdef WINDOWS_PLATFORM 436 #include <openssl/opensslv.h> 437 438 #ifdef __cplusplus 439 extern "C" { 440 #endif 441 442 #ifdef OPENSSL_ALGORITHM_DEFINES 443 # error OPENSSL_ALGORITHM_DEFINES no longer supported 444 #endif 445 446 /* 447 * OpenSSL was configured with the following options: 448 */ 449 450 #ifndef OPENSSL_SYS_MINGW64 451 # define OPENSSL_SYS_MINGW64 1 452 #endif 453 #ifndef OPENSSL_NO_IDEA 454 # define OPENSSL_NO_IDEA 455 #endif 456 #ifndef OPENSSL_NO_MD2 457 # define OPENSSL_NO_MD2 458 #endif 459 #ifndef OPENSSL_NO_MDC2 460 # define OPENSSL_NO_MDC2 461 #endif 462 #ifndef OPENSSL_NO_RC5 463 # define OPENSSL_NO_RC5 464 #endif 465 #ifndef OPENSSL_THREADS 466 # define OPENSSL_THREADS 467 #endif 468 #ifndef OPENSSL_RAND_SEED_OS 469 # define OPENSSL_RAND_SEED_OS 470 #endif 471 #ifndef OPENSSL_NO_AFALGENG 472 # define OPENSSL_NO_AFALGENG 473 #endif 474 #ifndef OPENSSL_NO_ASAN 475 # define OPENSSL_NO_ASAN 476 #endif 477 #ifndef OPENSSL_NO_ASM 478 # define OPENSSL_NO_ASM 479 #endif 480 #ifndef OPENSSL_NO_CRYPTO_MDEBUG 481 # define OPENSSL_NO_CRYPTO_MDEBUG 482 #endif 483 #ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 484 # define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 485 #endif 486 #ifndef OPENSSL_NO_DEVCRYPTOENG 487 # define OPENSSL_NO_DEVCRYPTOENG 488 #endif 489 #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 490 # define OPENSSL_NO_EC_NISTP_64_GCC_128 491 #endif 492 #ifndef OPENSSL_NO_EGD 493 # define OPENSSL_NO_EGD 494 #endif 495 #ifndef OPENSSL_NO_EXTERNAL_TESTS 496 # define OPENSSL_NO_EXTERNAL_TESTS 497 #endif 498 #ifndef OPENSSL_NO_FUZZ_AFL 499 # define OPENSSL_NO_FUZZ_AFL 500 #endif 501 #ifndef OPENSSL_NO_FUZZ_LIBFUZZER 502 # define OPENSSL_NO_FUZZ_LIBFUZZER 503 #endif 504 #ifndef OPENSSL_NO_HEARTBEATS 505 # define OPENSSL_NO_HEARTBEATS 506 #endif 507 #ifndef OPENSSL_NO_MSAN 508 # define OPENSSL_NO_MSAN 509 #endif 510 #ifndef OPENSSL_NO_SCTP 511 # define OPENSSL_NO_SCTP 512 #endif 513 #ifndef OPENSSL_NO_SSL_TRACE 514 # define OPENSSL_NO_SSL_TRACE 515 #endif 516 #ifndef OPENSSL_NO_SSL3 517 # define OPENSSL_NO_SSL3 518 #endif 519 #ifndef OPENSSL_NO_SSL3_METHOD 520 # define OPENSSL_NO_SSL3_METHOD 521 #endif 522 #ifndef OPENSSL_NO_UBSAN 523 # define OPENSSL_NO_UBSAN 524 #endif 525 #ifndef OPENSSL_NO_UNIT_TEST 526 # define OPENSSL_NO_UNIT_TEST 527 #endif 528 #ifndef OPENSSL_NO_WEAK_SSL_CIPHERS 529 # define OPENSSL_NO_WEAK_SSL_CIPHERS 530 #endif 531 #ifndef OPENSSL_NO_STATIC_ENGINE 532 # define OPENSSL_NO_STATIC_ENGINE 533 #endif 534 535 536 /* 537 * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers 538 * don't like that. This will hopefully silence them. 539 */ 540 #define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; 541 542 /* 543 * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the 544 * declarations of functions deprecated in or before <version>. Otherwise, they 545 * still won't see them if the library has been built to disable deprecated 546 * functions. 547 */ 548 #ifndef DECLARE_DEPRECATED 549 # define DECLARE_DEPRECATED(f) f; 550 # ifdef __GNUC__ 551 # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) 552 # undef DECLARE_DEPRECATED 553 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 554 # endif 555 # elif defined(__SUNPRO_C) 556 # if (__SUNPRO_C >= 0x5130) 557 # undef DECLARE_DEPRECATED 558 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 559 # endif 560 # endif 561 #endif 562 563 #ifndef OPENSSL_FILE 564 # ifdef OPENSSL_NO_FILENAMES 565 # define OPENSSL_FILE "" 566 # define OPENSSL_LINE 0 567 # else 568 # define OPENSSL_FILE __FILE__ 569 # define OPENSSL_LINE __LINE__ 570 # endif 571 #endif 572 573 #ifndef OPENSSL_MIN_API 574 # define OPENSSL_MIN_API 0 575 #endif 576 577 #if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API 578 # undef OPENSSL_API_COMPAT 579 # define OPENSSL_API_COMPAT OPENSSL_MIN_API 580 #endif 581 582 /* 583 * Do not deprecate things to be deprecated in version 1.2.0 before the 584 * OpenSSL version number matches. 585 */ 586 #if OPENSSL_VERSION_NUMBER < 0x10200000L 587 # define DEPRECATEDIN_1_2_0(f) f; 588 #elif OPENSSL_API_COMPAT < 0x10200000L 589 # define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) 590 #else 591 # define DEPRECATEDIN_1_2_0(f) 592 #endif 593 594 #if OPENSSL_API_COMPAT < 0x10100000L 595 # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) 596 #else 597 # define DEPRECATEDIN_1_1_0(f) 598 #endif 599 600 #if OPENSSL_API_COMPAT < 0x10000000L 601 # define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) 602 #else 603 # define DEPRECATEDIN_1_0_0(f) 604 #endif 605 606 #if OPENSSL_API_COMPAT < 0x00908000L 607 # define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) 608 #else 609 # define DEPRECATEDIN_0_9_8(f) 610 #endif 611 612 /* Generate 80386 code? */ 613 #undef I386_ONLY 614 615 #undef OPENSSL_UNISTD 616 #define OPENSSL_UNISTD <unistd.h> 617 618 #define OPENSSL_EXPORT_VAR_AS_FUNCTION 619 620 /* 621 * The following are cipher-specific, but are part of the public API. 622 */ 623 #if !defined(OPENSSL_SYS_UEFI) 624 # undef BN_LLONG 625 /* Only one for the following should be defined */ 626 # undef SIXTY_FOUR_BIT_LONG 627 # define SIXTY_FOUR_BIT 628 # undef THIRTY_TWO_BIT 629 #endif 630 631 #define RC4_INT unsigned int 632 633 #ifdef __cplusplus 634 } 635 #endif 636 #endif // WINDOWS_PLATFORM 637 638 #ifdef MAC_PLATFORM 639 #include <openssl/opensslv.h> 640 641 #ifdef __cplusplus 642 extern "C" { 643 #endif 644 645 #ifdef OPENSSL_ALGORITHM_DEFINES 646 # error OPENSSL_ALGORITHM_DEFINES no longer supported 647 #endif 648 649 /* 650 * OpenSSL was configured with the following options: 651 */ 652 653 #ifndef OPENSSL_SYS_MACOSX 654 # define OPENSSL_SYS_MACOSX 1 655 #endif 656 #ifndef OPENSSL_NO_MD2 657 # define OPENSSL_NO_MD2 658 #endif 659 #ifndef OPENSSL_NO_RC5 660 # define OPENSSL_NO_RC5 661 #endif 662 #ifndef OPENSSL_THREADS 663 # define OPENSSL_THREADS 664 #endif 665 #ifndef OPENSSL_RAND_SEED_OS 666 # define OPENSSL_RAND_SEED_OS 667 #endif 668 #ifndef OPENSSL_NO_AFALGENG 669 # define OPENSSL_NO_AFALGENG 670 #endif 671 #ifndef OPENSSL_NO_ASAN 672 # define OPENSSL_NO_ASAN 673 #endif 674 #ifndef OPENSSL_NO_ASM 675 # define OPENSSL_NO_ASM 676 #endif 677 #ifndef OPENSSL_NO_CRYPTO_MDEBUG 678 # define OPENSSL_NO_CRYPTO_MDEBUG 679 #endif 680 #ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 681 # define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE 682 #endif 683 #ifndef OPENSSL_NO_DEVCRYPTOENG 684 # define OPENSSL_NO_DEVCRYPTOENG 685 #endif 686 #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 687 # define OPENSSL_NO_EC_NISTP_64_GCC_128 688 #endif 689 #ifndef OPENSSL_NO_EGD 690 # define OPENSSL_NO_EGD 691 #endif 692 #ifndef OPENSSL_NO_EXTERNAL_TESTS 693 # define OPENSSL_NO_EXTERNAL_TESTS 694 #endif 695 #ifndef OPENSSL_NO_FUZZ_AFL 696 # define OPENSSL_NO_FUZZ_AFL 697 #endif 698 #ifndef OPENSSL_NO_FUZZ_LIBFUZZER 699 # define OPENSSL_NO_FUZZ_LIBFUZZER 700 #endif 701 #ifndef OPENSSL_NO_HEARTBEATS 702 # define OPENSSL_NO_HEARTBEATS 703 #endif 704 #ifndef OPENSSL_NO_MSAN 705 # define OPENSSL_NO_MSAN 706 #endif 707 #ifndef OPENSSL_NO_SCTP 708 # define OPENSSL_NO_SCTP 709 #endif 710 #ifndef OPENSSL_NO_SSL_TRACE 711 # define OPENSSL_NO_SSL_TRACE 712 #endif 713 #ifndef OPENSSL_NO_SSL3 714 # define OPENSSL_NO_SSL3 715 #endif 716 #ifndef OPENSSL_NO_SSL3_METHOD 717 # define OPENSSL_NO_SSL3_METHOD 718 #endif 719 #ifndef OPENSSL_NO_UBSAN 720 # define OPENSSL_NO_UBSAN 721 #endif 722 #ifndef OPENSSL_NO_UNIT_TEST 723 # define OPENSSL_NO_UNIT_TEST 724 #endif 725 #ifndef OPENSSL_NO_WEAK_SSL_CIPHERS 726 # define OPENSSL_NO_WEAK_SSL_CIPHERS 727 #endif 728 #ifndef OPENSSL_NO_STATIC_ENGINE 729 # define OPENSSL_NO_STATIC_ENGINE 730 #endif 731 732 733 /* 734 * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers 735 * don't like that. This will hopefully silence them. 736 */ 737 #define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; 738 739 /* 740 * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the 741 * declarations of functions deprecated in or before <version>. Otherwise, they 742 * still won't see them if the library has been built to disable deprecated 743 * functions. 744 */ 745 #ifndef DECLARE_DEPRECATED 746 # define DECLARE_DEPRECATED(f) f; 747 # ifdef __GNUC__ 748 # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) 749 # undef DECLARE_DEPRECATED 750 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 751 # endif 752 # elif defined(__SUNPRO_C) 753 # if (__SUNPRO_C >= 0x5130) 754 # undef DECLARE_DEPRECATED 755 # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); 756 # endif 757 # endif 758 #endif 759 760 #ifndef OPENSSL_FILE 761 # ifdef OPENSSL_NO_FILENAMES 762 # define OPENSSL_FILE "" 763 # define OPENSSL_LINE 0 764 # else 765 # define OPENSSL_FILE __FILE__ 766 # define OPENSSL_LINE __LINE__ 767 # endif 768 #endif 769 770 #ifndef OPENSSL_MIN_API 771 # define OPENSSL_MIN_API 0 772 #endif 773 774 #if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API 775 # undef OPENSSL_API_COMPAT 776 # define OPENSSL_API_COMPAT OPENSSL_MIN_API 777 #endif 778 779 /* 780 * Do not deprecate things to be deprecated in version 1.2.0 before the 781 * OpenSSL version number matches. 782 */ 783 #if OPENSSL_VERSION_NUMBER < 0x10200000L 784 # define DEPRECATEDIN_1_2_0(f) f; 785 #elif OPENSSL_API_COMPAT < 0x10200000L 786 # define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) 787 #else 788 # define DEPRECATEDIN_1_2_0(f) 789 #endif 790 791 #if OPENSSL_API_COMPAT < 0x10100000L 792 # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) 793 #else 794 # define DEPRECATEDIN_1_1_0(f) 795 #endif 796 797 #if OPENSSL_API_COMPAT < 0x10000000L 798 # define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) 799 #else 800 # define DEPRECATEDIN_1_0_0(f) 801 #endif 802 803 #if OPENSSL_API_COMPAT < 0x00908000L 804 # define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) 805 #else 806 # define DEPRECATEDIN_0_9_8(f) 807 #endif 808 809 /* Generate 80386 code? */ 810 #undef I386_ONLY 811 812 #undef OPENSSL_UNISTD 813 #define OPENSSL_UNISTD <unistd.h> 814 815 #undef OPENSSL_EXPORT_VAR_AS_FUNCTION 816 817 /* 818 * The following are cipher-specific, but are part of the public API. 819 */ 820 #if !defined(OPENSSL_SYS_UEFI) 821 # undef BN_LLONG 822 /* Only one for the following should be defined */ 823 # define SIXTY_FOUR_BIT_LONG 824 # undef SIXTY_FOUR_BIT 825 # undef THIRTY_TWO_BIT 826 #endif 827 828 #define RC4_INT unsigned int 829 830 #ifdef __cplusplus 831 } 832 #endif 833 #endif // MAC_PLATFORM