Commit 17e80c6b authored by Rich Salz's avatar Rich Salz
Browse files

RT2308: Add extern "C" { ... } wrapper



Add the wrapper to all public header files (Configure
generates one).  Don't bother for those that are just
lists of #define's that do renaming.

Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
parent 7b3e11c5
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1887,6 +1887,9 @@ open(OUT,'>crypto/opensslconf.h.new') || die "unable to create crypto/opensslcon
print OUT "/* opensslconf.h */\n";
print OUT "/* WARNING: Generated automatically from opensslconf.h.in by Configure. */\n\n";

print OUT "#ifdef  __cplusplus\n";
print OUT "extern \"C\" {\n";
print OUT "#endif\n";
print OUT "/* OpenSSL was configured with the following options: */\n";
my $openssl_algorithm_defines_trans = $openssl_algorithm_defines;
$openssl_experimental_defines =~ s/^\s*#\s*define\s+OPENSSL_NO_(.*)/#ifndef OPENSSL_EXPERIMENTAL_$1\n# ifndef OPENSSL_NO_$1\n#  define OPENSSL_NO_$1\n# endif\n#endif/mg;
@@ -1991,6 +1994,9 @@ while (<IN>)
		{ print OUT $_; }
	}
close(IN);
print OUT "#ifdef  __cplusplus\n";
print OUT "}\n";
print OUT "#endif\n";
close(OUT);
rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h";
rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n";
+7 −0
Original line number Diff line number Diff line
@@ -5,6 +5,10 @@

#include <sys/types.h>

#ifdef  __cplusplus
extern "C" {
#endif

/* Avoid name clashes with other applications */
#define os_toascii   _openssl_os_toascii
#define os_toebcdic  _openssl_os_toebcdic
@@ -16,4 +20,7 @@ extern const unsigned char os_toebcdic[256];
void *ebcdic2ascii(void *dest, const void *srce, size_t count);
void *ascii2ebcdic(void *dest, const void *srce, size_t count);

#ifdef  __cplusplus
}
#endif
#endif
+6 −0
Original line number Diff line number Diff line
@@ -7,6 +7,9 @@

#include <stddef.h>

#ifdef  __cplusplus
extern "C" {
#endif
typedef void (*block128_f)(const unsigned char in[16],
			unsigned char out[16],
			const void *key);
@@ -147,3 +150,6 @@ size_t CRYPTO_128_wrap_pad(void *key, const unsigned char *icv,
size_t CRYPTO_128_unwrap_pad(void *key, const unsigned char *icv,
		unsigned char *out,
		const unsigned char *in, size_t inlen, block128_f block);
#ifdef  __cplusplus
}
#endif
+7 −0
Original line number Diff line number Diff line
#ifndef HEADER_OPENSSLV_H
#define HEADER_OPENSSLV_H

#ifdef  __cplusplus
extern "C" {
#endif

/* Numeric release version identifier:
 * MNNFFPPS: major minor fix patch status
 * The status nibble has one of the values 0 for development, 1 to e for betas
@@ -86,4 +90,7 @@
#define SHLIB_VERSION_NUMBER "1.1.0"


#ifdef  __cplusplus
}
#endif
#endif /* HEADER_OPENSSLV_H */
+7 −0
Original line number Diff line number Diff line
@@ -55,6 +55,10 @@
#ifndef HEADER_OPENSSL_TYPES_H
#define HEADER_OPENSSL_TYPES_H

#ifdef  __cplusplus
extern "C" {
#endif

#include <openssl/e_os2.h>

#ifdef NO_ASN1_TYPEDEFS
@@ -202,4 +206,7 @@ typedef struct ocsp_req_ctx_st OCSP_REQ_CTX;
typedef struct ocsp_response_st OCSP_RESPONSE;
typedef struct ocsp_responder_id_st OCSP_RESPID;

#ifdef  __cplusplus
}
#endif
#endif /* def HEADER_OPENSSL_TYPES_H */
Loading