diff --git a/include/polarssl/aes.h b/include/polarssl/aes.h index 30fdf617a6..dfb9a0af2d 100644 --- a/include/polarssl/aes.h +++ b/include/polarssl/aes.h @@ -48,6 +48,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief AES context structure */ @@ -59,10 +63,6 @@ typedef struct } aes_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief AES key schedule (encryption) * diff --git a/include/polarssl/arc4.h b/include/polarssl/arc4.h index 1672fa2334..aa8feaaf7a 100644 --- a/include/polarssl/arc4.h +++ b/include/polarssl/arc4.h @@ -35,6 +35,10 @@ // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief ARC4 context structure */ @@ -46,10 +50,6 @@ typedef struct } arc4_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief ARC4 key schedule * diff --git a/include/polarssl/asn1.h b/include/polarssl/asn1.h index 8c7579dabb..61ea908ab9 100644 --- a/include/polarssl/asn1.h +++ b/include/polarssl/asn1.h @@ -3,7 +3,7 @@ * * \brief Generic ASN.1 parsing * - * Copyright (C) 2006-2011, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker diff --git a/include/polarssl/asn1write.h b/include/polarssl/asn1write.h index f7efb20cdb..459b282560 100644 --- a/include/polarssl/asn1write.h +++ b/include/polarssl/asn1write.h @@ -3,7 +3,7 @@ * * \brief ASN.1 buffer writing functionality * - * Copyright (C) 2006-2012, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -31,6 +31,10 @@ #define ASN1_CHK_ADD(g, f) if( ( ret = f ) < 0 ) return( ret ); else g += ret +#ifdef __cplusplus +extern "C" { +#endif + int asn1_write_len( unsigned char **p, unsigned char *start, size_t len ); int asn1_write_tag( unsigned char **p, unsigned char *start, unsigned char tag ); #if defined(POLARSSL_BIGNUM_C) @@ -45,4 +49,8 @@ int asn1_write_printable_string( unsigned char **p, unsigned char *start, int asn1_write_ia5_string( unsigned char **p, unsigned char *start, char *text ); +#ifdef __cplusplus +} +#endif + #endif /* POLARSSL_ASN1_WRITE_H */ diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h index afa9e61d87..b1c43b75c2 100644 --- a/include/polarssl/bignum.h +++ b/include/polarssl/bignum.h @@ -158,6 +158,10 @@ typedef uint32_t t_udbl; #endif /* POLARSSL_HAVE_INT16 */ #endif /* POLARSSL_HAVE_INT8 */ +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief MPI structure */ @@ -169,10 +173,6 @@ typedef struct } mpi; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Initialize one MPI * diff --git a/include/polarssl/blowfish.h b/include/polarssl/blowfish.h index 9b269b71cb..b1932e7325 100644 --- a/include/polarssl/blowfish.h +++ b/include/polarssl/blowfish.h @@ -52,6 +52,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief Blowfish context structure */ @@ -62,10 +66,6 @@ typedef struct } blowfish_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Blowfish key schedule * diff --git a/include/polarssl/camellia.h b/include/polarssl/camellia.h index 050c6cdb8b..e46e17523f 100644 --- a/include/polarssl/camellia.h +++ b/include/polarssl/camellia.h @@ -48,6 +48,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief CAMELLIA context structure */ @@ -58,10 +62,6 @@ typedef struct } camellia_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief CAMELLIA key schedule (encryption) * diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h index 2ffdf668ff..8aa8cb0909 100644 --- a/include/polarssl/cipher.h +++ b/include/polarssl/cipher.h @@ -46,6 +46,10 @@ #define POLARSSL_ERR_CIPHER_INVALID_PADDING -0x6200 /**< Input data contains invalid padding and is rejected. */ #define POLARSSL_ERR_CIPHER_FULL_BLOCK_EXPECTED -0x6280 /**< Decryption of block requires a full block. */ +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { POLARSSL_CIPHER_ID_NONE = 0, POLARSSL_CIPHER_ID_NULL, @@ -207,10 +211,6 @@ typedef struct { void *cipher_ctx; } cipher_context_t; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Returns the list of ciphers supported by the generic cipher module. * diff --git a/include/polarssl/des.h b/include/polarssl/des.h index d78b568c84..0dedf6299c 100644 --- a/include/polarssl/des.h +++ b/include/polarssl/des.h @@ -49,6 +49,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief DES context structure */ @@ -69,10 +73,6 @@ typedef struct } des3_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Set key parity on the given key to odd. * diff --git a/include/polarssl/dhm.h b/include/polarssl/dhm.h index 48d926856d..da787c3463 100644 --- a/include/polarssl/dhm.h +++ b/include/polarssl/dhm.h @@ -3,7 +3,7 @@ * * \brief Diffie-Hellman-Merkle key exchange * - * Copyright (C) 2006-2010, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -130,6 +130,10 @@ "EDFE72FE9B6AA4BD7B5A0F1C71CFFF4C19C418E1F6EC0179"\ "81BC087F2A7065B384B890D3191F2BFA" +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief DHM context structure */ @@ -146,10 +150,6 @@ typedef struct } dhm_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Parse the ServerKeyExchange parameters * diff --git a/include/polarssl/ecdh.h b/include/polarssl/ecdh.h index 7f6f4cb281..2184ab95f0 100644 --- a/include/polarssl/ecdh.h +++ b/include/polarssl/ecdh.h @@ -29,6 +29,10 @@ #include "polarssl/ecp.h" +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief ECDH context structure */ @@ -43,10 +47,6 @@ typedef struct } ecdh_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Generate a public key * diff --git a/include/polarssl/ecp.h b/include/polarssl/ecp.h index 8debda44ac..1d6310a685 100644 --- a/include/polarssl/ecp.h +++ b/include/polarssl/ecp.h @@ -36,6 +36,10 @@ #define POLARSSL_ERR_ECP_BUFFER_TOO_SMALL -0x4F80 /**< The buffer is too small to write to. */ #define POLARSSL_ERR_ECP_GENERIC -0x4F00 /**< Generic ECP error */ +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief ECP point structure (jacobian coordinates) * @@ -134,11 +138,6 @@ ecp_group; */ #define POLARSSL_ECP_TLS_NAMED_CURVE 3 /**< ECCurveType's named_curve */ - -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Initialize a point (as zero) */ diff --git a/include/polarssl/gcm.h b/include/polarssl/gcm.h index c703f3bf05..2bed342884 100644 --- a/include/polarssl/gcm.h +++ b/include/polarssl/gcm.h @@ -3,7 +3,7 @@ * * \brief Galois/Counter mode for AES * - * Copyright (C) 2006-2012, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -42,6 +42,10 @@ typedef UINT64 uint64_t; #define POLARSSL_ERR_GCM_AUTH_FAILED -0x0012 /**< Authenticated decryption failed. */ #define POLARSSL_ERR_GCM_BAD_INPUT -0x0014 /**< Bad input parameters to function. */ +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief GCM context structure */ @@ -58,10 +62,6 @@ typedef struct { } gcm_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief GCM initialization (encryption) * diff --git a/include/polarssl/havege.h b/include/polarssl/havege.h index 53c4f38cf6..5998903ec3 100644 --- a/include/polarssl/havege.h +++ b/include/polarssl/havege.h @@ -3,7 +3,7 @@ * * \brief HAVEGE: HArdware Volatile Entropy Gathering and Expansion * - * Copyright (C) 2006-2010, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -31,6 +31,10 @@ #define COLLECT_SIZE 1024 +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief HAVEGE state structure */ @@ -42,10 +46,6 @@ typedef struct } havege_state; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief HAVEGE initialization * diff --git a/include/polarssl/md.h b/include/polarssl/md.h index d9ab5e74b7..f7b8bd3274 100644 --- a/include/polarssl/md.h +++ b/include/polarssl/md.h @@ -5,7 +5,7 @@ * * \author Adriaan de Jong * - * Copyright (C) 2006-2011, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -44,6 +44,10 @@ #define POLARSSL_ERR_MD_ALLOC_FAILED -0x5180 /**< Failed to allocate memory. */ #define POLARSSL_ERR_MD_FILE_IO_ERROR -0x5200 /**< Opening or reading of file failed. */ +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { POLARSSL_MD_NONE=0, POLARSSL_MD_MD2, @@ -131,10 +135,6 @@ typedef struct { NULL, /* md_ctx */ \ } -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Returns the list of digests supported by the generic digest module. * diff --git a/include/polarssl/md2.h b/include/polarssl/md2.h index 1dc77c2809..a8e23d0dae 100644 --- a/include/polarssl/md2.h +++ b/include/polarssl/md2.h @@ -37,6 +37,10 @@ // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief MD2 context structure */ @@ -52,10 +56,6 @@ typedef struct } md2_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief MD2 context setup * diff --git a/include/polarssl/md4.h b/include/polarssl/md4.h index a08ea70e37..a5c9142e97 100644 --- a/include/polarssl/md4.h +++ b/include/polarssl/md4.h @@ -44,6 +44,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief MD4 context structure */ @@ -58,10 +62,6 @@ typedef struct } md4_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief MD4 context setup * diff --git a/include/polarssl/md5.h b/include/polarssl/md5.h index c90789d6aa..87474a79d0 100644 --- a/include/polarssl/md5.h +++ b/include/polarssl/md5.h @@ -44,6 +44,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief MD5 context structure */ @@ -58,10 +62,6 @@ typedef struct } md5_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief MD5 context setup * diff --git a/include/polarssl/pem.h b/include/polarssl/pem.h index 801c57b0c0..969faa2838 100644 --- a/include/polarssl/pem.h +++ b/include/polarssl/pem.h @@ -46,6 +46,10 @@ #define POLARSSL_ERR_PEM_BAD_INPUT_DATA -0x1480 /**< Bad input parameters to function. */ /* \} name */ +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief PEM context structure */ @@ -57,10 +61,6 @@ typedef struct } pem_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief PEM context setup * diff --git a/include/polarssl/pkcs11.h b/include/polarssl/pkcs11.h index 003d3f52df..270eb6d8d0 100644 --- a/include/polarssl/pkcs11.h +++ b/include/polarssl/pkcs11.h @@ -5,7 +5,7 @@ * * \author Adriaan de Jong * - * Copyright (C) 2006-2011, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -45,6 +45,10 @@ #endif /* __ARMCC_VERSION */ #endif /*_MSC_VER */ +#ifdef __cplusplus +extern "C" { +#endif + /** * Context for PKCS #11 private keys. */ @@ -156,6 +160,10 @@ static inline size_t ssl_pkcs11_key_len( void *ctx ) return ( (pkcs11_context *) ctx )->len; } +#ifdef __cplusplus +} +#endif + #endif /* POLARSSL_PKCS11_C */ #endif /* POLARSSL_PKCS11_H */ diff --git a/include/polarssl/rsa.h b/include/polarssl/rsa.h index 9078111646..7daa05a412 100644 --- a/include/polarssl/rsa.h +++ b/include/polarssl/rsa.h @@ -3,7 +3,7 @@ * * \brief The RSA public-key cryptosystem * - * Copyright (C) 2006-2010, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -59,6 +59,10 @@ #define RSA_SIGN 1 #define RSA_CRYPT 2 +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief RSA context structure */ @@ -90,10 +94,6 @@ typedef struct } rsa_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief Initialize an RSA context * diff --git a/include/polarssl/sha1.h b/include/polarssl/sha1.h index 81ea77d978..1c18f8aab7 100644 --- a/include/polarssl/sha1.h +++ b/include/polarssl/sha1.h @@ -44,6 +44,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief SHA-1 context structure */ @@ -58,10 +62,6 @@ typedef struct } sha1_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief SHA-1 context setup * diff --git a/include/polarssl/sha2.h b/include/polarssl/sha2.h index 795299ee69..9df46fb387 100644 --- a/include/polarssl/sha2.h +++ b/include/polarssl/sha2.h @@ -44,6 +44,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief SHA-256 context structure */ @@ -59,10 +63,6 @@ typedef struct } sha2_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief SHA-256 context setup * diff --git a/include/polarssl/sha4.h b/include/polarssl/sha4.h index e2ff3cc442..450ef5998c 100644 --- a/include/polarssl/sha4.h +++ b/include/polarssl/sha4.h @@ -45,6 +45,10 @@ // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief SHA-512 context structure */ @@ -60,10 +64,6 @@ typedef struct } sha4_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief SHA-512 context setup * diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h index f95219c3c1..1bc589369d 100644 --- a/include/polarssl/ssl.h +++ b/include/polarssl/ssl.h @@ -254,6 +254,10 @@ #define POLARSSL_PREMASTER_SIZE POLARSSL_MPI_MAX_SIZE #endif +#ifdef __cplusplus +extern "C" { +#endif + /* * Generic function pointers for allowing external RSA private key * implementations. @@ -547,10 +551,6 @@ struct _ssl_context char peer_verify_data[36]; /*!< previous handshake verify data */ }; -#ifdef __cplusplus -extern "C" { -#endif - #if defined(POLARSSL_SSL_HW_RECORD_ACCEL) #define SSL_CHANNEL_OUTBOUND 0 diff --git a/include/polarssl/timing.h b/include/polarssl/timing.h index 355c63c779..5ab000e10c 100644 --- a/include/polarssl/timing.h +++ b/include/polarssl/timing.h @@ -3,7 +3,7 @@ * * \brief Portable interface to the CPU cycle counter * - * Copyright (C) 2006-2010, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -27,6 +27,10 @@ #ifndef POLARSSL_TIMING_H #define POLARSSL_TIMING_H +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief timer structure */ @@ -35,10 +39,6 @@ struct hr_time unsigned char opaque[32]; }; -#ifdef __cplusplus -extern "C" { -#endif - extern volatile int alarmed; /** diff --git a/include/polarssl/version.h b/include/polarssl/version.h index 4f73ee2910..9bab3cadd2 100644 --- a/include/polarssl/version.h +++ b/include/polarssl/version.h @@ -3,7 +3,7 @@ * * \brief Run-time version information * - * Copyright (C) 2006-2012, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -52,6 +52,10 @@ #if defined(POLARSSL_VERSION_C) +#ifdef __cplusplus +extern "C" { +#endif + /** * Get the version number. * @@ -76,6 +80,10 @@ void version_get_string( char *string ); */ void version_get_string_full( char *string ); +#ifdef __cplusplus +} +#endif + #endif /* POLARSSL_VERSION_C */ #endif /* version.h */ diff --git a/include/polarssl/x509.h b/include/polarssl/x509.h index 8baee15794..86624ecb01 100644 --- a/include/polarssl/x509.h +++ b/include/polarssl/x509.h @@ -3,7 +3,7 @@ * * \brief X.509 certificate and private key decoding * - * Copyright (C) 2006-2011, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -140,6 +140,10 @@ #define X509_FORMAT_DER 1 #define X509_FORMAT_PEM 2 +#ifdef __cplusplus +extern "C" { +#endif + /** * \addtogroup x509_module * \{ */ @@ -320,10 +324,6 @@ typedef struct _x509_raw x509_raw; */ -#ifdef __cplusplus -extern "C" { -#endif - /** * \name Functions to read in DHM parameters, a certificate, CRL or private RSA key * \{ diff --git a/include/polarssl/x509write.h b/include/polarssl/x509write.h index 35b318f0c8..0d94f01544 100644 --- a/include/polarssl/x509write.h +++ b/include/polarssl/x509write.h @@ -3,7 +3,7 @@ * * \brief X509 buffer writing functionality * - * Copyright (C) 2006-2012, Brainspark B.V. + * Copyright (C) 2006-2013, Brainspark B.V. * * This file is part of PolarSSL (http://www.polarssl.org) * Lead Maintainer: Paul Bakker @@ -33,6 +33,10 @@ #include "rsa.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct _x509_req_name { char oid[128]; @@ -47,6 +51,10 @@ int x509_write_key_der( unsigned char *buf, size_t size, rsa_context *rsa ); int x509_write_cert_req( unsigned char *buf, size_t size, rsa_context *rsa, x509_req_name *req_name, md_type_t md_alg ); +#ifdef __cplusplus +} +#endif + #endif /* POLARSSL_X509_WRITE_C */ #endif /* POLARSSL_X509_WRITE_H */ diff --git a/include/polarssl/xtea.h b/include/polarssl/xtea.h index 207e188d79..4b435aeb25 100644 --- a/include/polarssl/xtea.h +++ b/include/polarssl/xtea.h @@ -47,6 +47,10 @@ typedef UINT32 uint32_t; // Regular implementation // +#ifdef __cplusplus +extern "C" { +#endif + /** * \brief XTEA context structure */ @@ -56,10 +60,6 @@ typedef struct } xtea_context; -#ifdef __cplusplus -extern "C" { -#endif - /** * \brief XTEA key schedule *