diff --git a/include/polarssl/aes.h b/include/polarssl/aes.h
index 30fdf61..dfb9a0a 100644
--- a/include/polarssl/aes.h
+++ b/include/polarssl/aes.h
@@ -48,6 +48,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          AES context structure
  */
@@ -59,10 +63,6 @@
 }
 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 1672fa2..aa8feaa 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 @@
 }
 arc4_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief          ARC4 key schedule
  *
diff --git a/include/polarssl/asn1.h b/include/polarssl/asn1.h
index 8c7579d..61ea908 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 <polarssl_maintainer at polarssl.org>
diff --git a/include/polarssl/asn1write.h b/include/polarssl/asn1write.h
index f7efb20..459b282 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 <polarssl_maintainer at polarssl.org>
@@ -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_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 afa9e61..b1c43b7 100644
--- a/include/polarssl/bignum.h
+++ b/include/polarssl/bignum.h
@@ -158,6 +158,10 @@
 #endif /* POLARSSL_HAVE_INT16 */
 #endif /* POLARSSL_HAVE_INT8  */
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          MPI structure
  */
@@ -169,10 +173,6 @@
 }
 mpi;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief           Initialize one MPI
  *
diff --git a/include/polarssl/blowfish.h b/include/polarssl/blowfish.h
index 9b269b7..b1932e7 100644
--- a/include/polarssl/blowfish.h
+++ b/include/polarssl/blowfish.h
@@ -52,6 +52,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          Blowfish context structure
  */
@@ -62,10 +66,6 @@
 }
 blowfish_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief          Blowfish key schedule
  *
diff --git a/include/polarssl/camellia.h b/include/polarssl/camellia.h
index 050c6cd..e46e175 100644
--- a/include/polarssl/camellia.h
+++ b/include/polarssl/camellia.h
@@ -48,6 +48,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          CAMELLIA context structure
  */
@@ -58,10 +62,6 @@
 }
 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 2ffdf66..8aa8cb0 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 @@
     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 d78b568..0dedf62 100644
--- a/include/polarssl/des.h
+++ b/include/polarssl/des.h
@@ -49,6 +49,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          DES context structure
  */
@@ -69,10 +73,6 @@
 }
 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 48d9268..da787c3 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 <polarssl_maintainer at polarssl.org>
@@ -130,6 +130,10 @@
     "EDFE72FE9B6AA4BD7B5A0F1C71CFFF4C19C418E1F6EC0179"\
     "81BC087F2A7065B384B890D3191F2BFA"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          DHM context structure
  */
@@ -146,10 +150,6 @@
 }
 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 7f6f4cb..2184ab9 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 @@
 }
 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 8debda4..1d6310a 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 @@
  */
 #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 c703f3b..2bed342 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 <polarssl_maintainer at polarssl.org>
@@ -42,6 +42,10 @@
 #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 @@
 }
 gcm_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief           GCM initialization (encryption)
  *
diff --git a/include/polarssl/havege.h b/include/polarssl/havege.h
index 53c4f38..5998903 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 <polarssl_maintainer at polarssl.org>
@@ -31,6 +31,10 @@
 
 #define COLLECT_SIZE 1024
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          HAVEGE state structure
  */
@@ -42,10 +46,6 @@
 }
 havege_state;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief          HAVEGE initialization
  *
diff --git a/include/polarssl/md.h b/include/polarssl/md.h
index d9ab5e7..f7b8bd3 100644
--- a/include/polarssl/md.h
+++ b/include/polarssl/md.h
@@ -5,7 +5,7 @@
  *
  * \author Adriaan de Jong <dejong@fox-it.com>
  *
- *  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 <polarssl_maintainer at polarssl.org>
@@ -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 @@
     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 1dc77c2..a8e23d0 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 @@
 }
 md2_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief          MD2 context setup
  *
diff --git a/include/polarssl/md4.h b/include/polarssl/md4.h
index a08ea70..a5c9142 100644
--- a/include/polarssl/md4.h
+++ b/include/polarssl/md4.h
@@ -44,6 +44,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          MD4 context structure
  */
@@ -58,10 +62,6 @@
 }
 md4_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief          MD4 context setup
  *
diff --git a/include/polarssl/md5.h b/include/polarssl/md5.h
index c90789d..87474a7 100644
--- a/include/polarssl/md5.h
+++ b/include/polarssl/md5.h
@@ -44,6 +44,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          MD5 context structure
  */
@@ -58,10 +62,6 @@
 }
 md5_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief          MD5 context setup
  *
diff --git a/include/polarssl/pem.h b/include/polarssl/pem.h
index 801c57b..969faa2 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 @@
 }
 pem_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief       PEM context setup
  *
diff --git a/include/polarssl/pkcs11.h b/include/polarssl/pkcs11.h
index 003d3f5..270eb6d 100644
--- a/include/polarssl/pkcs11.h
+++ b/include/polarssl/pkcs11.h
@@ -5,7 +5,7 @@
  *
  * \author Adriaan de Jong <dejong@fox-it.com>
  *
- *  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 <polarssl_maintainer at polarssl.org>
@@ -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 @@
     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 9078111..7daa05a 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 <polarssl_maintainer at polarssl.org>
@@ -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 @@
 }
 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 81ea77d..1c18f8a 100644
--- a/include/polarssl/sha1.h
+++ b/include/polarssl/sha1.h
@@ -44,6 +44,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          SHA-1 context structure
  */
@@ -58,10 +62,6 @@
 }
 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 795299e..9df46fb 100644
--- a/include/polarssl/sha2.h
+++ b/include/polarssl/sha2.h
@@ -44,6 +44,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          SHA-256 context structure
  */
@@ -59,10 +63,6 @@
 }
 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 e2ff3cc..450ef59 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 @@
 }
 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 f95219c..1bc5893 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 @@
     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 355c63c..5ab000e 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 <polarssl_maintainer at polarssl.org>
@@ -27,6 +27,10 @@
 #ifndef POLARSSL_TIMING_H
 #define POLARSSL_TIMING_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          timer structure
  */
@@ -35,10 +39,6 @@
     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 4f73ee2..9bab3ca 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 <polarssl_maintainer at polarssl.org>
@@ -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_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 8baee15..86624ec 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 <polarssl_maintainer at polarssl.org>
@@ -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 @@
 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 35b318f..0d94f01 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 <polarssl_maintainer at polarssl.org>
@@ -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_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 207e188..4b435ae 100644
--- a/include/polarssl/xtea.h
+++ b/include/polarssl/xtea.h
@@ -47,6 +47,10 @@
 // Regular implementation
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * \brief          XTEA context structure
  */
@@ -56,10 +60,6 @@
 }
 xtea_context;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  * \brief          XTEA key schedule
  *
