LTKCPP-- LLRP Toolkit C Plus Plus Library
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
win
include
openssl
e_os2.h
1
/* e_os2.h */
2
/* ====================================================================
3
* Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* 2. Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in
14
* the documentation and/or other materials provided with the
15
* distribution.
16
*
17
* 3. All advertising materials mentioning features or use of this
18
* software must display the following acknowledgment:
19
* "This product includes software developed by the OpenSSL Project
20
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
21
*
22
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
23
* endorse or promote products derived from this software without
24
* prior written permission. For written permission, please contact
25
* openssl-core@openssl.org.
26
*
27
* 5. Products derived from this software may not be called "OpenSSL"
28
* nor may "OpenSSL" appear in their names without prior written
29
* permission of the OpenSSL Project.
30
*
31
* 6. Redistributions of any form whatsoever must retain the following
32
* acknowledgment:
33
* "This product includes software developed by the OpenSSL Project
34
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
35
*
36
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
37
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
38
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
39
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
40
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
42
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
43
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
44
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
45
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
47
* OF THE POSSIBILITY OF SUCH DAMAGE.
48
* ====================================================================
49
*
50
* This product includes cryptographic software written by Eric Young
51
* (eay@cryptsoft.com). This product includes software written by Tim
52
* Hudson (tjh@cryptsoft.com).
53
*
54
*/
55
56
#include <openssl/opensslconf.h>
57
58
#ifndef HEADER_E_OS2_H
59
# define HEADER_E_OS2_H
60
61
#ifdef __cplusplus
62
extern
"C"
{
63
#endif
64
65
/******************************************************************************
66
* Detect operating systems. This probably needs completing.
67
* The result is that at least one OPENSSL_SYS_os macro should be defined.
68
* However, if none is defined, Unix is assumed.
69
**/
70
71
# define OPENSSL_SYS_UNIX
72
73
/* ---------------------- Macintosh, before MacOS X ----------------------- */
74
# if defined(__MWERKS__) && defined(macintosh) || defined(OPENSSL_SYSNAME_MAC)
75
# undef OPENSSL_SYS_UNIX
76
# define OPENSSL_SYS_MACINTOSH_CLASSIC
77
# endif
78
79
/* ---------------------- NetWare ----------------------------------------- */
80
# if defined(NETWARE) || defined(OPENSSL_SYSNAME_NETWARE)
81
# undef OPENSSL_SYS_UNIX
82
# define OPENSSL_SYS_NETWARE
83
# endif
84
85
/* --------------------- Microsoft operating systems ---------------------- */
86
87
/*
88
* Note that MSDOS actually denotes 32-bit environments running on top of
89
* MS-DOS, such as DJGPP one.
90
*/
91
# if defined(OPENSSL_SYSNAME_MSDOS)
92
# undef OPENSSL_SYS_UNIX
93
# define OPENSSL_SYS_MSDOS
94
# endif
95
96
/*
97
* For 32 bit environment, there seems to be the CygWin environment and then
98
* all the others that try to do the same thing Microsoft does...
99
*/
100
# if defined(OPENSSL_SYSNAME_UWIN)
101
# undef OPENSSL_SYS_UNIX
102
# define OPENSSL_SYS_WIN32_UWIN
103
# else
104
# if defined(__CYGWIN__) || defined(OPENSSL_SYSNAME_CYGWIN)
105
# undef OPENSSL_SYS_UNIX
106
# define OPENSSL_SYS_WIN32_CYGWIN
107
# else
108
# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32)
109
# undef OPENSSL_SYS_UNIX
110
# define OPENSSL_SYS_WIN32
111
# endif
112
# if defined(_WIN64) || defined(OPENSSL_SYSNAME_WIN64)
113
# undef OPENSSL_SYS_UNIX
114
# if !defined(OPENSSL_SYS_WIN64)
115
# define OPENSSL_SYS_WIN64
116
# endif
117
# endif
118
# if defined(OPENSSL_SYSNAME_WINNT)
119
# undef OPENSSL_SYS_UNIX
120
# define OPENSSL_SYS_WINNT
121
# endif
122
# if defined(OPENSSL_SYSNAME_WINCE)
123
# undef OPENSSL_SYS_UNIX
124
# define OPENSSL_SYS_WINCE
125
# endif
126
# endif
127
# endif
128
129
/* Anything that tries to look like Microsoft is "Windows" */
130
# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE)
131
# undef OPENSSL_SYS_UNIX
132
# define OPENSSL_SYS_WINDOWS
133
# ifndef OPENSSL_SYS_MSDOS
134
# define OPENSSL_SYS_MSDOS
135
# endif
136
# endif
137
138
/*
139
* DLL settings. This part is a bit tough, because it's up to the
140
* application implementor how he or she will link the application, so it
141
* requires some macro to be used.
142
*/
143
# ifdef OPENSSL_SYS_WINDOWS
144
# ifndef OPENSSL_OPT_WINDLL
145
# if defined(_WINDLL)
/* This is used when building OpenSSL to
146
* indicate that DLL linkage should be used */
147
# define OPENSSL_OPT_WINDLL
148
# endif
149
# endif
150
# endif
151
152
/* ------------------------------- OpenVMS -------------------------------- */
153
# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYSNAME_VMS)
154
# undef OPENSSL_SYS_UNIX
155
# define OPENSSL_SYS_VMS
156
# if defined(__DECC)
157
# define OPENSSL_SYS_VMS_DECC
158
# elif defined(__DECCXX)
159
# define OPENSSL_SYS_VMS_DECC
160
# define OPENSSL_SYS_VMS_DECCXX
161
# else
162
# define OPENSSL_SYS_VMS_NODECC
163
# endif
164
# endif
165
166
/* -------------------------------- OS/2 ---------------------------------- */
167
# if defined(__EMX__) || defined(__OS2__)
168
# undef OPENSSL_SYS_UNIX
169
# define OPENSSL_SYS_OS2
170
# endif
171
172
/* -------------------------------- Unix ---------------------------------- */
173
# ifdef OPENSSL_SYS_UNIX
174
# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX)
175
# define OPENSSL_SYS_LINUX
176
# endif
177
# ifdef OPENSSL_SYSNAME_MPE
178
# define OPENSSL_SYS_MPE
179
# endif
180
# ifdef OPENSSL_SYSNAME_SNI
181
# define OPENSSL_SYS_SNI
182
# endif
183
# ifdef OPENSSL_SYSNAME_ULTRASPARC
184
# define OPENSSL_SYS_ULTRASPARC
185
# endif
186
# ifdef OPENSSL_SYSNAME_NEWS4
187
# define OPENSSL_SYS_NEWS4
188
# endif
189
# ifdef OPENSSL_SYSNAME_MACOSX
190
# define OPENSSL_SYS_MACOSX
191
# endif
192
# ifdef OPENSSL_SYSNAME_MACOSX_RHAPSODY
193
# define OPENSSL_SYS_MACOSX_RHAPSODY
194
# define OPENSSL_SYS_MACOSX
195
# endif
196
# ifdef OPENSSL_SYSNAME_SUNOS
197
# define OPENSSL_SYS_SUNOS
198
# endif
199
# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY)
200
# define OPENSSL_SYS_CRAY
201
# endif
202
# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX)
203
# define OPENSSL_SYS_AIX
204
# endif
205
# endif
206
207
/* -------------------------------- VOS ----------------------------------- */
208
# if defined(__VOS__) || defined(OPENSSL_SYSNAME_VOS)
209
# define OPENSSL_SYS_VOS
210
# ifdef __HPPA__
211
# define OPENSSL_SYS_VOS_HPPA
212
# endif
213
# ifdef __IA32__
214
# define OPENSSL_SYS_VOS_IA32
215
# endif
216
# endif
217
218
/* ------------------------------ VxWorks --------------------------------- */
219
# ifdef OPENSSL_SYSNAME_VXWORKS
220
# define OPENSSL_SYS_VXWORKS
221
# endif
222
223
/* -------------------------------- BeOS ---------------------------------- */
224
# if defined(__BEOS__)
225
# define OPENSSL_SYS_BEOS
226
# include <sys/socket.h>
227
# if defined(BONE_VERSION)
228
# define OPENSSL_SYS_BEOS_BONE
229
# else
230
# define OPENSSL_SYS_BEOS_R5
231
# endif
232
# endif
233
238
/* Specials for I/O an exit */
239
# ifdef OPENSSL_SYS_MSDOS
240
# define OPENSSL_UNISTD_IO <io.h>
241
# define OPENSSL_DECLARE_EXIT extern void exit(int);
242
# else
243
# define OPENSSL_UNISTD_IO OPENSSL_UNISTD
244
# define OPENSSL_DECLARE_EXIT
/* declared in unistd.h */
245
# endif
246
247
/*-
248
* Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare
249
* certain global symbols that, with some compilers under VMS, have to be
250
* defined and declared explicitely with globaldef and globalref.
251
* Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare
252
* DLL exports and imports for compilers under Win32. These are a little
253
* more complicated to use. Basically, for any library that exports some
254
* global variables, the following code must be present in the header file
255
* that declares them, before OPENSSL_EXTERN is used:
256
*
257
* #ifdef SOME_BUILD_FLAG_MACRO
258
* # undef OPENSSL_EXTERN
259
* # define OPENSSL_EXTERN OPENSSL_EXPORT
260
* #endif
261
*
262
* The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL
263
* have some generally sensible values, and for OPENSSL_EXTERN to have the
264
* value OPENSSL_IMPORT.
265
*/
266
267
# if defined(OPENSSL_SYS_VMS_NODECC)
268
# define OPENSSL_EXPORT globalref
269
# define OPENSSL_IMPORT globalref
270
# define OPENSSL_GLOBAL globaldef
271
# elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL)
272
# define OPENSSL_EXPORT extern __declspec(dllexport)
273
# define OPENSSL_IMPORT extern __declspec(dllimport)
274
# define OPENSSL_GLOBAL
275
# else
276
# define OPENSSL_EXPORT extern
277
# define OPENSSL_IMPORT extern
278
# define OPENSSL_GLOBAL
279
# endif
280
# define OPENSSL_EXTERN OPENSSL_IMPORT
281
282
/*-
283
* Macros to allow global variables to be reached through function calls when
284
* required (if a shared library version requires it, for example.
285
* The way it's done allows definitions like this:
286
*
287
* // in foobar.c
288
* OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0)
289
* // in foobar.h
290
* OPENSSL_DECLARE_GLOBAL(int,foobar);
291
* #define foobar OPENSSL_GLOBAL_REF(foobar)
292
*/
293
# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
294
# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \
295
type *_shadow_##name(void) \
296
{ static type _hide_##name=value; return &_hide_##name; }
297
# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
298
# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
299
# else
300
# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) OPENSSL_GLOBAL type _shadow_##name=value;
301
# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name
302
# define OPENSSL_GLOBAL_REF(name) _shadow_##name
303
# endif
304
305
# if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && macintosh==1 && !defined(MAC_OS_GUSI_SOURCE)
306
# define ossl_ssize_t long
307
# endif
308
309
# ifdef OPENSSL_SYS_MSDOS
310
# define ossl_ssize_t long
311
# endif
312
313
# if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) || defined(OPENSSL_SYS_SUNOS)
314
# define ssize_t int
315
# endif
316
317
# if defined(__ultrix) && !defined(ssize_t)
318
# define ossl_ssize_t int
319
# endif
320
321
# ifndef ossl_ssize_t
322
# define ossl_ssize_t ssize_t
323
# endif
324
325
#ifdef __cplusplus
326
}
327
#endif
328
#endif
Generated on Mon Oct 17 2016 23:16:07 for LTKCPP-- LLRP Toolkit C Plus Plus Library by
1.8.6