summaryrefslogtreecommitdiff
path: root/Cryptlib/Include/openssl/e_os2.h
diff options
context:
space:
mode:
Diffstat (limited to 'Cryptlib/Include/openssl/e_os2.h')
-rw-r--r--Cryptlib/Include/openssl/e_os2.h275
1 files changed, 149 insertions, 126 deletions
diff --git a/Cryptlib/Include/openssl/e_os2.h b/Cryptlib/Include/openssl/e_os2.h
index f11cffe6..909e22f7 100644
--- a/Cryptlib/Include/openssl/e_os2.h
+++ b/Cryptlib/Include/openssl/e_os2.h
@@ -1,17 +1,63 @@
-/*
- * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+/* e_os2.h */
+/* ====================================================================
+ * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. 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.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For written permission, please contact
+ * openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ * nor may "OpenSSL" appear in their names without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED 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 OpenSSL PROJECT OR
+ * ITS 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.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com). This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
*
- * Licensed under the OpenSSL license (the "License"). You may not use
- * this file except in compliance with the License. You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
*/
+#include <openssl/opensslconf.h>
+
#ifndef HEADER_E_OS2_H
# define HEADER_E_OS2_H
-# include <openssl/opensslconf.h>
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -24,14 +70,27 @@ extern "C" {
# define OPENSSL_SYS_UNIX
+/* ---------------------- Macintosh, before MacOS X ----------------------- */
+# if defined(__MWERKS__) && defined(macintosh) || defined(OPENSSL_SYSNAME_MAC)
+# undef OPENSSL_SYS_UNIX
+# define OPENSSL_SYS_MACINTOSH_CLASSIC
+# endif
+
+/* ---------------------- NetWare ----------------------------------------- */
+# if defined(NETWARE) || defined(OPENSSL_SYSNAME_NETWARE)
+# undef OPENSSL_SYS_UNIX
+# define OPENSSL_SYS_NETWARE
+# endif
+
/* --------------------- Microsoft operating systems ---------------------- */
/*
* Note that MSDOS actually denotes 32-bit environments running on top of
* MS-DOS, such as DJGPP one.
*/
-# if defined(OPENSSL_SYS_MSDOS)
+# if defined(OPENSSL_SYSNAME_MSDOS)
# undef OPENSSL_SYS_UNIX
+# define OPENSSL_SYS_MSDOS
# endif
/*
@@ -42,33 +101,34 @@ extern "C" {
* UEFI lives here because it might be built with a Microsoft toolchain and
* we need to avoid the false positive match on Windows.
*/
-# if defined(OPENSSL_SYS_UEFI)
+# if defined(OPENSSL_SYSNAME_UEFI)
# undef OPENSSL_SYS_UNIX
-# elif defined(OPENSSL_SYS_UWIN)
+# define OPENSSL_SYS_UEFI
+# elif defined(OPENSSL_SYSNAME_UWIN)
# undef OPENSSL_SYS_UNIX
# define OPENSSL_SYS_WIN32_UWIN
# else
-# if defined(__CYGWIN__) || defined(OPENSSL_SYS_CYGWIN)
+# if defined(__CYGWIN__) || defined(OPENSSL_SYSNAME_CYGWIN)
# undef OPENSSL_SYS_UNIX
# define OPENSSL_SYS_WIN32_CYGWIN
# else
-# if defined(_WIN32) || defined(OPENSSL_SYS_WIN32)
+# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32)
# undef OPENSSL_SYS_UNIX
-# if !defined(OPENSSL_SYS_WIN32)
-# define OPENSSL_SYS_WIN32
-# endif
+# define OPENSSL_SYS_WIN32
# endif
-# if defined(_WIN64) || defined(OPENSSL_SYS_WIN64)
+# if defined(_WIN64) || defined(OPENSSL_SYSNAME_WIN64)
# undef OPENSSL_SYS_UNIX
# if !defined(OPENSSL_SYS_WIN64)
# define OPENSSL_SYS_WIN64
# endif
# endif
-# if defined(OPENSSL_SYS_WINNT)
+# if defined(OPENSSL_SYSNAME_WINNT)
# undef OPENSSL_SYS_UNIX
+# define OPENSSL_SYS_WINNT
# endif
-# if defined(OPENSSL_SYS_WINCE)
+# if defined(OPENSSL_SYSNAME_WINCE)
# undef OPENSSL_SYS_UNIX
+# define OPENSSL_SYS_WINCE
# endif
# endif
# endif
@@ -97,10 +157,8 @@ extern "C" {
# endif
/* ------------------------------- OpenVMS -------------------------------- */
-# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYS_VMS)
-# if !defined(OPENSSL_SYS_VMS)
-# undef OPENSSL_SYS_UNIX
-# endif
+# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYSNAME_VMS)
+# undef OPENSSL_SYS_UNIX
# define OPENSSL_SYS_VMS
# if defined(__DECC)
# define OPENSSL_SYS_VMS_DECC
@@ -112,18 +170,49 @@ extern "C" {
# endif
# endif
+/* -------------------------------- OS/2 ---------------------------------- */
+# if defined(__EMX__) || defined(__OS2__)
+# undef OPENSSL_SYS_UNIX
+# define OPENSSL_SYS_OS2
+# endif
+
/* -------------------------------- Unix ---------------------------------- */
# ifdef OPENSSL_SYS_UNIX
-# if defined(linux) || defined(__linux__) && !defined(OPENSSL_SYS_LINUX)
+# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX)
# define OPENSSL_SYS_LINUX
# endif
-# if defined(_AIX) && !defined(OPENSSL_SYS_AIX)
+# ifdef OPENSSL_SYSNAME_MPE
+# define OPENSSL_SYS_MPE
+# endif
+# ifdef OPENSSL_SYSNAME_SNI
+# define OPENSSL_SYS_SNI
+# endif
+# ifdef OPENSSL_SYSNAME_ULTRASPARC
+# define OPENSSL_SYS_ULTRASPARC
+# endif
+# ifdef OPENSSL_SYSNAME_NEWS4
+# define OPENSSL_SYS_NEWS4
+# endif
+# ifdef OPENSSL_SYSNAME_MACOSX
+# define OPENSSL_SYS_MACOSX
+# endif
+# ifdef OPENSSL_SYSNAME_MACOSX_RHAPSODY
+# define OPENSSL_SYS_MACOSX_RHAPSODY
+# define OPENSSL_SYS_MACOSX
+# endif
+# ifdef OPENSSL_SYSNAME_SUNOS
+# define OPENSSL_SYS_SUNOS
+# endif
+# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY)
+# define OPENSSL_SYS_CRAY
+# endif
+# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX)
# define OPENSSL_SYS_AIX
# endif
# endif
/* -------------------------------- VOS ----------------------------------- */
-# if defined(__VOS__) && !defined(OPENSSL_SYS_VOS)
+# if defined(__VOS__) || defined(OPENSSL_SYSNAME_VOS)
# define OPENSSL_SYS_VOS
# ifdef __HPPA__
# define OPENSSL_SYS_VOS_HPPA
@@ -133,6 +222,22 @@ extern "C" {
# endif
# endif
+/* ------------------------------ VxWorks --------------------------------- */
+# ifdef OPENSSL_SYSNAME_VXWORKS
+# define OPENSSL_SYS_VXWORKS
+# endif
+
+/* -------------------------------- BeOS ---------------------------------- */
+# if defined(__BEOS__)
+# define OPENSSL_SYS_BEOS
+# include <sys/socket.h>
+# if defined(BONE_VERSION)
+# define OPENSSL_SYS_BEOS_BONE
+# else
+# define OPENSSL_SYS_BEOS_R5
+# endif
+# endif
+
/**
* That's it for OS-specific stuff
*****************************************************************************/
@@ -149,7 +254,7 @@ extern "C" {
/*-
* Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare
* certain global symbols that, with some compilers under VMS, have to be
- * defined and declared explicitly with globaldef and globalref.
+ * defined and declared explicitely with globaldef and globalref.
* Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare
* DLL exports and imports for compilers under Win32. These are a little
* more complicated to use. Basically, for any library that exports some
@@ -161,23 +266,25 @@ extern "C" {
* # define OPENSSL_EXTERN OPENSSL_EXPORT
* #endif
*
- * The default is to have OPENSSL_EXPORT, OPENSSL_EXTERN and OPENSSL_GLOBAL
- * have some generally sensible values.
+ * The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL
+ * have some generally sensible values, and for OPENSSL_EXTERN to have the
+ * value OPENSSL_IMPORT.
*/
# if defined(OPENSSL_SYS_VMS_NODECC)
# define OPENSSL_EXPORT globalref
-# define OPENSSL_EXTERN globalref
+# define OPENSSL_IMPORT globalref
# define OPENSSL_GLOBAL globaldef
# elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL)
# define OPENSSL_EXPORT extern __declspec(dllexport)
-# define OPENSSL_EXTERN extern __declspec(dllimport)
+# define OPENSSL_IMPORT extern __declspec(dllimport)
# define OPENSSL_GLOBAL
# else
# define OPENSSL_EXPORT extern
-# define OPENSSL_EXTERN extern
+# define OPENSSL_IMPORT extern
# define OPENSSL_GLOBAL
# endif
+# define OPENSSL_EXTERN OPENSSL_IMPORT
/*-
* Macros to allow global variables to be reached through function calls when
@@ -202,108 +309,24 @@ extern "C" {
# define OPENSSL_GLOBAL_REF(name) _shadow_##name
# endif
-# ifdef _WIN32
-# ifdef _WIN64
-# define ossl_ssize_t __int64
-# define OSSL_SSIZE_MAX _I64_MAX
-# else
-# define ossl_ssize_t int
-# define OSSL_SSIZE_MAX INT_MAX
-# endif
+# if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && macintosh==1 && !defined(MAC_OS_GUSI_SOURCE)
+# define ossl_ssize_t long
# endif
-# if defined(OPENSSL_SYS_UEFI) && !defined(ssize_t)
-# define ossl_ssize_t int
-# define OSSL_SSIZE_MAX INT_MAX
-# endif
-
-# ifndef ossl_ssize_t
-# define ossl_ssize_t ssize_t
-# if defined(SSIZE_MAX)
-# define OSSL_SSIZE_MAX SSIZE_MAX
-# elif defined(_POSIX_SSIZE_MAX)
-# define OSSL_SSIZE_MAX _POSIX_SSIZE_MAX
-# endif
-# endif
-
-# ifdef DEBUG_UNUSED
-# define __owur __attribute__((__warn_unused_result__))
-# else
-# define __owur
-# endif
-
-/* Standard integer types */
-# if defined(OPENSSL_SYS_UEFI)
-#include <efi.h>
-typedef INT8 int8_t;
-typedef UINT8 uint8_t;
-typedef INT16 int16_t;
-typedef UINT16 uint16_t;
-typedef INT32 int32_t;
-typedef UINT32 uint32_t;
-typedef INT64 int64_t;
-typedef UINT64 uint64_t;
-# define PRIu64 "%Lu"
-# elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
- defined(__osf__) || defined(__sgi) || defined(__hpux) || \
- defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__)
-# include <inttypes.h>
-# elif defined(_MSC_VER) && _MSC_VER<=1500
-/*
- * minimally required typdefs for systems not supporting inttypes.h or
- * stdint.h: currently just older VC++
- */
-typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef short int16_t;
-typedef unsigned short uint16_t;
-typedef int int32_t;
-typedef unsigned int uint32_t;
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-# else
-# include <stdint.h>
+# ifdef OPENSSL_SYS_MSDOS
+# define ossl_ssize_t long
# endif
-/*
- * We need a format operator for some client tools for uint64_t. If inttypes.h
- * isn't available or did not define it, just go with hard-coded.
- */
-# ifndef PRIu64
-# ifdef SIXTY_FOUR_BIT_LONG
-# define PRIu64 "lu"
-# else
-# define PRIu64 "llu"
-# endif
+# if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) || defined(OPENSSL_SYS_SUNOS)
+# define ssize_t int
# endif
-/* ossl_inline: portable inline definition usable in public headers */
-# if !defined(inline) && !defined(__cplusplus)
-# if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L
- /* just use inline */
-# define ossl_inline inline
-# elif defined(__GNUC__) && __GNUC__>=2
-# define ossl_inline __inline__
-# elif defined(_MSC_VER)
- /*
- * Visual Studio: inline is available in C++ only, however
- * __inline is available for C, see
- * http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx
- */
-# define ossl_inline __inline
-# else
-# define ossl_inline
-# endif
-# else
-# define ossl_inline inline
+# if defined(__ultrix) && !defined(ssize_t)
+# define ossl_ssize_t int
# endif
-# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
-# define ossl_noreturn _Noreturn
-# elif defined(__GNUC__) && __GNUC__ >= 2
-# define ossl_noreturn __attribute__((noreturn))
-# else
-# define ossl_noreturn
+# ifndef ossl_ssize_t
+# define ossl_ssize_t ssize_t
# endif
#ifdef __cplusplus