mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
293 lines
8.2 KiB
293 lines
8.2 KiB
/* |
|
* |
|
* Copyright 2015, 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
|
|
|