| /* |
| * |
| * Copyright 2014, Google Inc. |
| * All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are |
| * met: |
| * |
| * * Redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer. |
| * * Redistributions in binary form must reproduce the above |
| * copyright notice, this list of conditions and the following disclaimer |
| * in the documentation and/or other materials provided with the |
| * distribution. |
| * * Neither the name of Google Inc. nor the names of its |
| * contributors may be used to endorse or promote products derived from |
| * this software without specific prior written permission. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| * |
| */ |
| |
| /* opensslconf.h */ |
| /* WARNING: Generated automatically from opensslconf.h.in by Configure. */ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| /* OpenSSL was configured with the following options: */ |
| #ifndef OPENSSL_SYSNAME_WIN32 |
| #define OPENSSL_SYSNAME_WIN32 |
| #endif |
| #ifndef OPENSSL_DOING_MAKEDEPEND |
| |
| #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 |
| #define OPENSSL_NO_EC_NISTP_64_GCC_128 |
| #endif |
| #ifndef OPENSSL_NO_GMP |
| #define OPENSSL_NO_GMP |
| #endif |
| #ifndef OPENSSL_NO_JPAKE |
| #define OPENSSL_NO_JPAKE |
| #endif |
| #ifndef OPENSSL_NO_KRB5 |
| #define OPENSSL_NO_KRB5 |
| #endif |
| #ifndef OPENSSL_NO_LIBUNBOUND |
| #define OPENSSL_NO_LIBUNBOUND |
| #endif |
| #ifndef OPENSSL_NO_MD2 |
| #define OPENSSL_NO_MD2 |
| #endif |
| #ifndef OPENSSL_NO_RC5 |
| #define OPENSSL_NO_RC5 |
| #endif |
| #ifndef OPENSSL_NO_RFC3779 |
| #define OPENSSL_NO_RFC3779 |
| #endif |
| #ifndef OPENSSL_NO_SCTP |
| #define OPENSSL_NO_SCTP |
| #endif |
| #ifndef OPENSSL_NO_SSL_TRACE |
| #define OPENSSL_NO_SSL_TRACE |
| #endif |
| #ifndef OPENSSL_NO_STORE |
| #define OPENSSL_NO_STORE |
| #endif |
| #ifndef OPENSSL_NO_UNIT_TEST |
| #define OPENSSL_NO_UNIT_TEST |
| #endif |
| |
| #endif /* OPENSSL_DOING_MAKEDEPEND */ |
| |
| #ifndef OPENSSL_THREADS |
| #define OPENSSL_THREADS |
| #endif |
| #ifndef OPENSSL_NO_ASM |
| #define OPENSSL_NO_ASM |
| #endif |
| |
| /* The OPENSSL_NO_* macros are also defined as NO_* if the application |
| asks for it. This is a transient feature that is provided for those |
| who haven't had the time to do the appropriate changes in their |
| applications. */ |
| #ifdef OPENSSL_ALGORITHM_DEFINES |
| #if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) |
| #define NO_EC_NISTP_64_GCC_128 |
| #endif |
| #if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) |
| #define NO_GMP |
| #endif |
| #if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) |
| #define NO_JPAKE |
| #endif |
| #if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) |
| #define NO_KRB5 |
| #endif |
| #if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) |
| #define NO_LIBUNBOUND |
| #endif |
| #if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) |
| #define NO_MD2 |
| #endif |
| #if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) |
| #define NO_RC5 |
| #endif |
| #if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) |
| #define NO_RFC3779 |
| #endif |
| #if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) |
| #define NO_SCTP |
| #endif |
| #if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) |
| #define NO_SSL_TRACE |
| #endif |
| #if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) |
| #define NO_STORE |
| #endif |
| #if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) |
| #define NO_UNIT_TEST |
| #endif |
| #endif |
| |
| /* crypto/opensslconf.h.in */ |
| |
| /* Generate 80386 code? */ |
| #undef I386_ONLY |
| |
| #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ |
| #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) |
| #define ENGINESDIR "/usr/local/ssl/lib/engines" |
| #define OPENSSLDIR "/usr/local/ssl" |
| #endif |
| #endif |
| |
| #undef OPENSSL_UNISTD |
| #define OPENSSL_UNISTD <unistd.h> |
| |
| #undef OPENSSL_EXPORT_VAR_AS_FUNCTION |
| #define OPENSSL_EXPORT_VAR_AS_FUNCTION |
| |
| #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) |
| #define IDEA_INT unsigned int |
| #endif |
| |
| #if defined(HEADER_MD2_H) && !defined(MD2_INT) |
| #define MD2_INT unsigned int |
| #endif |
| |
| #if defined(HEADER_RC2_H) && !defined(RC2_INT) |
| /* I need to put in a mod for the alpha - eay */ |
| #define RC2_INT unsigned int |
| #endif |
| |
| #if defined(HEADER_RC4_H) |
| #if !defined(RC4_INT) |
| /* using int types make the structure larger but make the code faster |
| * on most boxes I have tested - up to %20 faster. */ |
| /* |
| * I don't know what does "most" mean, but declaring "int" is a must on: |
| * - Intel P6 because partial register stalls are very expensive; |
| * - elder Alpha because it lacks byte load/store instructions; |
| */ |
| #define RC4_INT unsigned int |
| #endif |
| #if !defined(RC4_CHUNK) |
| /* |
| * This enables code handling data aligned at natural CPU word |
| * boundary. See crypto/rc4/rc4_enc.c for further details. |
| */ |
| #undef RC4_CHUNK |
| #endif |
| #endif |
| |
| #if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) |
| /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a |
| * %20 speed up (longs are 8 bytes, int's are 4). */ |
| #ifndef DES_LONG |
| #define DES_LONG unsigned long |
| #endif |
| #endif |
| |
| #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) |
| #define CONFIG_HEADER_BN_H |
| #define BN_LLONG |
| |
| /* Should we define BN_DIV2W here? */ |
| |
| /* Only one for the following should be defined */ |
| #undef SIXTY_FOUR_BIT_LONG |
| #undef SIXTY_FOUR_BIT |
| #define THIRTY_TWO_BIT |
| #endif |
| |
| #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) |
| #define CONFIG_HEADER_RC4_LOCL_H |
| /* if this is defined data[i] is used instead of *data, this is a %20 |
| * speedup on x86 */ |
| #define RC4_INDEX |
| #endif |
| |
| #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) |
| #define CONFIG_HEADER_BF_LOCL_H |
| #undef BF_PTR |
| #endif /* HEADER_BF_LOCL_H */ |
| |
| #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) |
| #define CONFIG_HEADER_DES_LOCL_H |
| #ifndef DES_DEFAULT_OPTIONS |
| /* the following is tweaked from a config script, that is why it is a |
| * protected undef/define */ |
| #ifndef DES_PTR |
| #undef DES_PTR |
| #endif |
| |
| /* This helps C compiler generate the correct code for multiple functional |
| * units. It reduces register dependancies at the expense of 2 more |
| * registers */ |
| #ifndef DES_RISC1 |
| #undef DES_RISC1 |
| #endif |
| |
| #ifndef DES_RISC2 |
| #undef DES_RISC2 |
| #endif |
| |
| #if defined(DES_RISC1) && defined(DES_RISC2) |
| YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED !!!!! |
| #endif |
| |
| /* Unroll the inner loop, this sometimes helps, sometimes hinders. |
| * Very mucy CPU dependant */ |
| #ifndef DES_UNROLL |
| #undef DES_UNROLL |
| #endif |
| |
| /* These default values were supplied by |
| * Peter Gutman <pgut001@cs.auckland.ac.nz> |
| * They are only used if nothing else has been defined */ |
| #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && \ |
| !defined(DES_UNROLL) |
| /* Special defines which change the way the code is built depending on the |
| CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find |
| even newer MIPS CPU's, but at the moment one size fits all for |
| optimization options. Older Sparc's work better with only UNROLL, but |
| there's no way to tell at compile time what it is you're running on */ |
| |
| #if defined(sun) /* Newer Sparc's */ |
| #define DES_PTR |
| #define DES_RISC1 |
| #define DES_UNROLL |
| #elif defined(__ultrix) /* Older MIPS */ |
| #define DES_PTR |
| #define DES_RISC2 |
| #define DES_UNROLL |
| #elif defined(__osf1__) /* Alpha */ |
| #define DES_PTR |
| #define DES_RISC2 |
| #elif defined(_AIX) /* RS6000 */ |
| /* Unknown */ |
| #elif defined(__hpux) /* HP-PA */ |
| /* Unknown */ |
| #elif defined(__aux) /* 68K */ |
| /* Unknown */ |
| #elif defined(__dgux) /* 88K (but P6 in latest boxes) */ |
| #define DES_UNROLL |
| #elif defined(__sgi) /* Newer MIPS */ |
| #define DES_PTR |
| #define DES_RISC2 |
| #define DES_UNROLL |
| #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ |
| #define DES_PTR |
| #define DES_RISC1 |
| #define DES_UNROLL |
| #endif /* Systems-specific speed defines */ |
| #endif |
| |
| #endif /* DES_DEFAULT_OPTIONS */ |
| #endif /* HEADER_DES_LOCL_H */ |
| #ifdef __cplusplus |
| } |
| #endif |