summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/asn1t.h
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2000-12-31 00:23:17 +0000
committerRichard Levitte <levitte@openssl.org>2000-12-31 00:23:17 +0000
commit26da3e65ac3ecf05c7567b0c62ee515814babf31 (patch)
tree3557bc2dd75f54f1727dc8bf7a2d96b1166e4cbf /crypto/asn1/asn1t.h
parent21cd437886f448858e166c149f40604dfe6b7b7c (diff)
If OPENSSL_BUILD_SHLIBCRYPTO (for files that end up as libcrypto
objects) or OPENSSL_BUILD_SHLIBSSL (for files that end up as libssl objects) is defined, redefine OPENSSL_EXTERN to be OPENSSL_EXPORT. This is actually only important on Win32, and can safely be ignored in all other cases, at least for now.
Diffstat (limited to 'crypto/asn1/asn1t.h')
-rw-r--r--crypto/asn1/asn1t.h40
1 files changed, 23 insertions, 17 deletions
diff --git a/crypto/asn1/asn1t.h b/crypto/asn1/asn1t.h
index ea880d5150..5e6efe2ccc 100644
--- a/crypto/asn1/asn1t.h
+++ b/crypto/asn1/asn1t.h
@@ -59,8 +59,14 @@
#define HEADER_ASN1T_H
#include <stddef.h>
+#include <openssl/e_os2.h>
#include <openssl/asn1.h>
+#ifdef OPENSSL_BUILD_SHLIBCRYPTO
+# undef OPENSSL_EXTERN
+# define OPENSSL_EXTERN OPENSSL_EXPORT
+#endif
+
/* ASN1 template defines, structures and functions */
#ifdef __cplusplus
@@ -74,7 +80,7 @@ extern "C" {
#define ASN1_ITEM_TEMPLATE_END(tname) \
;\
- const ASN1_ITEM tname##_it = { \
+ OPENSSL_GLOBAL const ASN1_ITEM tname##_it = { \
ASN1_ITYPE_PRIMITIVE,\
-1,\
&tname##_item_tt,\
@@ -114,7 +120,7 @@ extern "C" {
#define ASN1_SEQUENCE_END_name(stname, tname) \
;\
- const ASN1_ITEM tname##_it = { \
+ OPENSSL_GLOBAL const ASN1_ITEM tname##_it = { \
ASN1_ITYPE_SEQUENCE,\
V_ASN1_SEQUENCE,\
tname##_seq_tt,\
@@ -148,7 +154,7 @@ extern "C" {
#define ASN1_SEQUENCE_END_ref(stname, tname) \
;\
- const ASN1_ITEM tname##_it = { \
+ OPENSSL_GLOBAL const ASN1_ITEM tname##_it = { \
ASN1_ITYPE_SEQUENCE,\
V_ASN1_SEQUENCE,\
tname##_seq_tt,\
@@ -194,7 +200,7 @@ extern "C" {
#define ASN1_CHOICE_END_selector(stname, tname, selname) \
;\
- const ASN1_ITEM tname##_it = { \
+ OPENSSL_GLOBAL const ASN1_ITEM tname##_it = { \
ASN1_ITYPE_CHOICE,\
offsetof(stname,selname) ,\
tname##_ch_tt,\
@@ -206,7 +212,7 @@ extern "C" {
#define ASN1_CHOICE_END_cb(stname, tname, selname) \
;\
- const ASN1_ITEM tname##_it = { \
+ OPENSSL_GLOBAL const ASN1_ITEM tname##_it = { \
ASN1_ITYPE_CHOICE,\
offsetof(stname,selname) ,\
tname##_ch_tt,\
@@ -635,7 +641,7 @@ typedef struct ASN1_AUX_st {
(ASN1_d2i_func *)d2i_##sname, \
(ASN1_i2d_func *)i2d_##sname, \
}; \
- ASN1_ITEM const sname##_it = { \
+ OPENSSL_GLOBAL ASN1_ITEM const sname##_it = { \
ASN1_ITYPE_COMPAT, \
tag, \
NULL, \
@@ -646,7 +652,7 @@ typedef struct ASN1_AUX_st {
}
#define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \
- const ASN1_ITEM sname##_it = { \
+ OPENSSL_GLOBAL const ASN1_ITEM sname##_it = { \
ASN1_ITYPE_EXTERN, \
tag, \
NULL, \
@@ -711,16 +717,16 @@ typedef struct ASN1_AUX_st {
/* external definitions for primitive types */
-extern const ASN1_ITEM ASN1_BOOLEAN_it;
-extern const ASN1_ITEM ASN1_TBOOLEAN_it;
-extern const ASN1_ITEM ASN1_FBOOLEAN_it;
-extern const ASN1_ITEM ASN1_OBJECT_it;
-extern const ASN1_ITEM ASN1_ANY_it;
-extern const ASN1_ITEM ASN1_SEQUENCE_it;
-extern const ASN1_ITEM CBIGNUM_it;
-extern const ASN1_ITEM BIGNUM_it;
-extern const ASN1_ITEM LONG_it;
-extern const ASN1_ITEM ZLONG_it;
+OPENSSL_EXTERN const ASN1_ITEM ASN1_BOOLEAN_it;
+OPENSSL_EXTERN const ASN1_ITEM ASN1_TBOOLEAN_it;
+OPENSSL_EXTERN const ASN1_ITEM ASN1_FBOOLEAN_it;
+OPENSSL_EXTERN const ASN1_ITEM ASN1_OBJECT_it;
+OPENSSL_EXTERN const ASN1_ITEM ASN1_ANY_it;
+OPENSSL_EXTERN const ASN1_ITEM ASN1_SEQUENCE_it;
+OPENSSL_EXTERN const ASN1_ITEM CBIGNUM_it;
+OPENSSL_EXTERN const ASN1_ITEM BIGNUM_it;
+OPENSSL_EXTERN const ASN1_ITEM LONG_it;
+OPENSSL_EXTERN const ASN1_ITEM ZLONG_it;
DECLARE_STACK_OF(ASN1_VALUE)