e_os2.h is used for things that must be visible when external applications
[openssl.git] / e_os2.h
1 /* e_os2.h */
2
3 #ifndef HEADER_E_OS2_H
4 #define HEADER_E_OS2_H
5
6 #ifdef  __cplusplus
7 extern "C" {
8 #endif
9
10 /* Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN,
11    to define and declare certain global
12    symbols that, with some compilers under VMS, have to be defined and
13    declared explicitely with globaldef and globalref.  On other OS:es,
14    these macros are defined with something sensible. */
15
16 #if defined(VMS) && !defined(__DECC)
17 # define OPENSSL_EXTERN globalref
18 # define OPENSSL_GLOBAL globaldef
19 #else
20 # define OPENSSL_EXTERN extern
21 # define OPENSSL_GLOBAL
22 #endif
23
24 /* The above definitions should be used throughout the library,
25  * but as long as EXTERN and GLOBAL occur there, we keep the following
26  * definitions, too: */
27 #if defined(VMS) && !defined(__DECC)
28 # define EXTERN globalref
29 # define GLOBAL globaldef
30 #else
31 # define EXTERN extern
32 # define GLOBAL
33 #endif
34
35
36 #ifdef  __cplusplus
37 }
38 #endif
39 #endif
40