eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h
changeset 52 c23bdf5a328a
parent 33 938269283a16
--- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h	Fri Sep 17 08:30:11 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h	Mon Oct 04 00:19:54 2010 +0300
@@ -25,6 +25,27 @@
 #include "eap_am_types.h"
 #include "eap_variable_data.h"
 #include "eap_am_export.h"
+// Start: added by script change_export_macros.sh.
+#if defined(EAP_NO_EXPORT_EAP_AM_CRYPTO_OPENSSL_H)
+	#define EAP_CLASS_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H EAP_NONSHARABLE 
+	#define EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H 
+	#define EAP_C_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H 
+	#define EAP_FUNC_EXPORT_EAP_AM_CRYPTO_OPENSSL_H 
+	#define EAP_C_FUNC_EXPORT_EAP_AM_CRYPTO_OPENSSL_H 
+#elif defined(EAP_EXPORT_EAP_AM_CRYPTO_OPENSSL_H)
+	#define EAP_CLASS_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H EAP_EXPORT 
+	#define EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H EAP_FUNC_EXPORT 
+	#define EAP_C_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H EAP_C_FUNC_EXPORT 
+	#define EAP_FUNC_EXPORT_EAP_AM_CRYPTO_OPENSSL_H EAP_FUNC_EXPORT 
+	#define EAP_C_FUNC_EXPORT_EAP_AM_CRYPTO_OPENSSL_H EAP_C_FUNC_EXPORT 
+#else
+	#define EAP_CLASS_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H EAP_IMPORT 
+	#define EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H EAP_FUNC_IMPORT 
+	#define EAP_C_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H EAP_C_FUNC_IMPORT 
+	#define EAP_FUNC_EXPORT_EAP_AM_CRYPTO_OPENSSL_H 
+	#define EAP_C_FUNC_EXPORT_EAP_AM_CRYPTO_OPENSSL_H 
+#endif
+// End: added by script change_export_macros.sh.
 #include "eap_am_tools.h"
 #include "eap_array.h"
 #include "abs_eap_am_crypto.h"
@@ -45,7 +66,7 @@
 /// Class eap_am_crypto_openssl_c offers services to authenticate data,
 /// encrypt data, decrypt data, generate keys and generate cryptographically
 /// strong random data.
-class EAP_EXPORT eap_am_crypto_openssl_c 
+class EAP_CLASS_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_am_crypto_openssl_c 
 : public abs_eap_am_crypto_c
 {
 private:
@@ -76,12 +97,12 @@
 	/**
 	 * Destructor does nothing special.
 	 */
-	EAP_FUNC_IMPORT virtual ~eap_am_crypto_openssl_c();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H virtual ~eap_am_crypto_openssl_c();
 
 	/**
 	 * Constructor initializes the member attributes.
 	 */
-	EAP_FUNC_IMPORT eap_am_crypto_openssl_c(abs_eap_am_tools_c * const tools);
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_am_crypto_openssl_c(abs_eap_am_tools_c * const tools);
 
 	/**
 	 * The configure() function is called after the constructor of the 
@@ -89,15 +110,15 @@
 	 * could query the configuration. Each derived class must define this
 	 * function. Needed configuration depends on the implementation.
 	 */
-	EAP_FUNC_IMPORT eap_status_e configure();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e configure();
 
 	// - - - - - - - - - - - - - - - - - - - - - - - -
 
-	EAP_FUNC_IMPORT bool get_is_valid() const
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H bool get_is_valid() const
 	{
 		return m_is_valid;
 	}
-	EAP_FUNC_IMPORT void set_is_valid()
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H void set_is_valid()
 	{
 		m_is_valid = true;
 	}
@@ -106,7 +127,7 @@
 	 * This function activates random generator for test use.
 	 * It does generate predictive pseudorandom data.
 	 */
-	EAP_FUNC_IMPORT void use_test_random(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H void use_test_random(
 		const u8_t * const seed,
 		const u32_t seed_length,
 		const bool does_continuous_seeding_when_true);
@@ -114,7 +135,7 @@
 	/**
 	 * The get_rand_bytes() function fills count random bytes to buffer.
 	 */
-	EAP_FUNC_IMPORT eap_status_e get_rand_bytes(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e get_rand_bytes(
 		u8_t * const buffer,
 		const u32_t count);
 
@@ -125,7 +146,7 @@
 	 * and received messages, likewise addresses, cookies and nonces
 	 * included in messages.
 	 */
-	EAP_FUNC_IMPORT eap_status_e add_rand_seed(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e add_rand_seed(
 		const u8_t * const buffer,
 		const u32_t count);
 
@@ -134,7 +155,7 @@
 	 * the abs_eap_am_tools::get_hardware_ticks()  function. This could be
 	 * used to seed the random data pool with time stamps.
 	 */
-	EAP_FUNC_IMPORT eap_status_e add_rand_seed_hw_ticks();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e add_rand_seed_hw_ticks();
 
 	// - - - - - - - - - - - - - - - - - - - - - - - -
 
@@ -144,7 +165,7 @@
 	 * @param dh_context Saves context here. It is private key in OpenSSL
 	 * and CDHKey in Symbian.
 	 */
-	EAP_FUNC_IMPORT eap_status_e generate_diffie_hellman_keys(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e generate_diffie_hellman_keys(
 		eap_variable_data_c * const dh_context,
 		eap_variable_data_c * const own_public_dh_key,
 		const u8_t * const prime,
@@ -158,7 +179,7 @@
 	 * @param dh_context Gets context. Is private key in OpenSSL and
 	 * CDHKey in Symbian.
 	 */
-	EAP_FUNC_IMPORT eap_status_e generate_g_power_to_xy(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e generate_g_power_to_xy(
 		const eap_variable_data_c * const dh_context,
 		const eap_variable_data_c * const peer_public_dh_key,
 		eap_variable_data_c * const shared_dh_key,
@@ -171,7 +192,7 @@
 	 * This functions cleans up the diffie-hellman context.
 	 */
 	
-	EAP_FUNC_IMPORT eap_status_e dh_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e dh_cleanup(
 		const eap_variable_data_c * const dh_context);
 
 	// - - - - - - - - - - - - - - - - - - - - - - - -
@@ -179,27 +200,27 @@
 	/**
 	 * This function returns the size of message digest of SHA1-algorithm.
 	 */
-	 EAP_FUNC_IMPORT u32_t get_sha_256_digest_length(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_sha_256_digest_length(
 		eap_variable_data_c * const sha_256_context);
 
 	/**
 	 * This function returns the block size of SHA1-algorithm.
 	 */
-	 EAP_FUNC_IMPORT u32_t get_sha_256_block_size(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_sha_256_block_size(
 		eap_variable_data_c * const sha_256_context);
 
 	/**
 	 * The sha_256_init() function initializes SHA1.
 	 * Internal context of SHA1 is stored to sha_256_context.
 	 */
-	 EAP_FUNC_IMPORT eap_status_e sha_256_init(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha_256_init(
 		eap_variable_data_c * const sha_256_context);
 
 	/**
 	 * The sha_256_update() function updates the context of 
 	 * sha_256_context with data_length bytes of data.
 	 */
-	 EAP_FUNC_IMPORT eap_status_e sha_256_update(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha_256_update(
 		eap_variable_data_c * const sha_256_context,
 		const u8_t * const data,
 		const u32_t data_length);
@@ -209,7 +230,7 @@
 	 * (MAC) to buffer pointed by message_digest. The length of MAC is stored 
 	 * to buffer pointed by md_length_or_null, If md_length_or_null is non NULL.
 	 */
-	 EAP_FUNC_IMPORT eap_status_e sha_256_final(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha_256_final(
 		eap_variable_data_c * const sha_256_context,
 		u8_t * const message_digest,
 		u32_t *md_length_or_null);
@@ -217,13 +238,13 @@
 	/**
 	 * The hmac_sha_256_cleanup() cleanups the SHA1 context.
 	 */
-	 EAP_FUNC_IMPORT eap_status_e sha_256_cleanup(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha_256_cleanup(
 		eap_variable_data_c * const sha_256_context);
 
 	/**
 	 * The sha_256_copy_context() copies the SHA1 context.
 	 */
-	 EAP_FUNC_IMPORT eap_status_e sha_256_copy_context(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha_256_copy_context(
 		eap_variable_data_c * const copied_sha_256_context,
 		const eap_variable_data_c * const original_sha_256_context);
 
@@ -232,27 +253,27 @@
 	/**
 	 * This function returns the size of message digest of SHA1-algorithm.
 	 */
-	EAP_FUNC_IMPORT u32_t get_sha1_digest_length(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_sha1_digest_length(
 		eap_variable_data_c * const sha1_context);
 
 	/**
 	 * This function returns the block size of SHA1-algorithm.
 	 */
-	EAP_FUNC_IMPORT u32_t get_sha1_block_size(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_sha1_block_size(
 		eap_variable_data_c * const sha1_context);
 
 	/**
 	 * The sha1_init() function initializes SHA1.
 	 * Internal context of SHA1 is stored to sha1_context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e sha1_init(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha1_init(
 		eap_variable_data_c * const sha1_context);
 
 	/**
 	 * The sha1_update() function updates the context of 
 	 * sha1_context with data_length bytes of data.
 	 */
-	EAP_FUNC_IMPORT eap_status_e sha1_update(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha1_update(
 		eap_variable_data_c * const sha1_context,
 		const u8_t * const data,
 		const u32_t data_length);
@@ -263,7 +284,7 @@
 	 * to buffer pointed by md_length_or_null, If md_length_or_null is non
 	 * NULL.
 	 */
-	EAP_FUNC_IMPORT eap_status_e sha1_final(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha1_final(
 		eap_variable_data_c * const sha1_context,
 		u8_t * const message_digest,
 		u32_t *md_length_or_null);
@@ -271,13 +292,13 @@
 	/**
 	 * The hmac_sha1_cleanup() cleanups the SHA1 context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e sha1_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha1_cleanup(
 		eap_variable_data_c * const sha1_context);
 
 	/**
 	 * The sha1_copy_context() copies the SHA1 context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e sha1_copy_context(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e sha1_copy_context(
 		eap_variable_data_c * const copied_sha1_context,
 		const eap_variable_data_c * const original_sha1_context);
 
@@ -288,14 +309,14 @@
 	 * This will be constant 16 bytes (128 bits). Still it is better use
 	 * function to help changes if the length of key is changed in future. 
 	 */
-	EAP_FUNC_IMPORT u32_t aes_key_length();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t aes_key_length();
 
 	/**
 	 * The aes_block_size() function returns the block size of AES-algorithm. 
 	 * This will be constant 16 bytes (128 bits). Still it is better use
 	 * function to help changes if the size is changed in future.
 	 */
-	EAP_FUNC_IMPORT u32_t aes_block_size();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t aes_block_size();
 
 
 	/**
@@ -303,7 +324,7 @@
 	 * context of AES-algorithm to the aes_context using key_length bytes
 	 * from buffer key. 
 	 */
-	EAP_FUNC_IMPORT eap_status_e aes_set_encryption_key(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e aes_set_encryption_key(
 		eap_variable_data_c * const aes_context,
 		const u8_t * const key,
 		const u32_t key_length);
@@ -313,12 +334,12 @@
 	 * context of 
 	 * AES-algorithm to the aes_context using key_length bytes from buffer key.
 	 */
-	EAP_FUNC_IMPORT eap_status_e aes_set_decryption_key(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e aes_set_decryption_key(
 		eap_variable_data_c * const aes_context,
 		const u8_t * const key,
 		const u32_t key_length);
 
-	EAP_FUNC_IMPORT eap_status_e aes_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e aes_cleanup(
 		eap_variable_data_c * const aes_context);
 
 	/**
@@ -329,7 +350,7 @@
 	 * Those buffers must be fully separated. Some optimizations are used
 	 * taking advance from separate buffers. 
 	 */
-	EAP_FUNC_IMPORT eap_status_e aes_encrypt_block(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e aes_encrypt_block(
 		eap_variable_data_c * const aes_context,
 		const u8_t * const data_in,
 		u8_t * const data_out,
@@ -343,7 +364,7 @@
 	 * Those buffers must be fully separated. Some optimizations are used 
 	 * taking advance from separate buffers.
 	 */
-	EAP_FUNC_IMPORT eap_status_e aes_decrypt_block(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e aes_decrypt_block(
 		eap_variable_data_c * const aes_context,
 		const u8_t * const data_in,
 		u8_t * const data_out,
@@ -356,14 +377,14 @@
 	 * This will be constant 16 bytes (128 bits). Still it is better use
 	 * function to help changes if the length of key is changed in future. 
 	 */
-	EAP_FUNC_IMPORT u32_t key_length_3des_ede();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t key_length_3des_ede();
 
 	/**
 	 * The block_size() function returns the block size of 3DES-EDE-algorithm. 
 	 * This will be constant 16 bytes (128 bits). Still it is better use
 	 * function to help changes if the size is changed in future.
 	 */
-	EAP_FUNC_IMPORT u32_t block_size_3des_ede();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t block_size_3des_ede();
 
 
 	/**
@@ -371,7 +392,7 @@
 	 * context of 3DES-EDE-algorithm to the context using key_length bytes
 	 * from buffer key. 
 	 */
-	EAP_FUNC_IMPORT eap_status_e set_encryption_key_3des_ede(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e set_encryption_key_3des_ede(
 		eap_variable_data_c * const context,
 		const u8_t * const key,
 		const u32_t key_length);
@@ -381,12 +402,12 @@
 	 * context of 3DES-EDE-algorithm to the context using key_length bytes
 	 * from buffer key.
 	 */
-	EAP_FUNC_IMPORT eap_status_e set_decryption_key_3des_ede(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e set_decryption_key_3des_ede(
 		eap_variable_data_c * const context,
 		const u8_t * const key,
 		const u32_t key_length);
 
-	EAP_FUNC_IMPORT eap_status_e cleanup_3des_ede(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e cleanup_3des_ede(
 		eap_variable_data_c * const context);
 
 	/**
@@ -397,7 +418,7 @@
 	 * Those buffers must be fully separated. Some optimizations are used
 	 * taking advance from separate buffers. 
 	 */
-	EAP_FUNC_IMPORT eap_status_e encrypt_block_3des_ede(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e encrypt_block_3des_ede(
 		eap_variable_data_c * const context,
 		const u8_t * const data_in,
 		u8_t * const data_out,
@@ -411,7 +432,7 @@
 	 * Those buffers must be fully separated. Some optimizations are used 
 	 * taking advance from separate buffers.
 	 */
-	EAP_FUNC_IMPORT eap_status_e decrypt_block_3des_ede(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e decrypt_block_3des_ede(
 		eap_variable_data_c * const context,
 		const u8_t * const data_in,
 		u8_t * const data_out,
@@ -446,7 +467,7 @@
 	 *             d. XKEY = (1 + XKEY + xj) mod 2^b.
 	 * @endcode
 	 */
-	EAP_FUNC_IMPORT eap_status_e dss_pseudo_random(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e dss_pseudo_random(
 		u8_t *out,
 		u32_t out_length,
 		u8_t *xkey,
@@ -457,27 +478,27 @@
 	/**
 	 * This function returns the size of message digest of MD5-algorithm.
 	 */
-	EAP_FUNC_IMPORT u32_t get_md5_digest_length(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_md5_digest_length(
 		eap_variable_data_c * const md5_context);
 
 	/**
 	 * This function returns the block size of MD5-algorithm.
 	 */
-	EAP_FUNC_IMPORT u32_t get_md5_block_size(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_md5_block_size(
 		eap_variable_data_c * const md5_context);
 
 	/**
 	 * The sha1_init() function initializes MD5.
 	 * Internal context of MD5 is stored to sha1_context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md5_init(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md5_init(
 		eap_variable_data_c * const md5_context);
 
 	/**
 	 * The md5_update() function updates the context of 
 	 * md5_context with data_length bytes of data.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md5_update(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md5_update(
 		eap_variable_data_c * const md5_context,
 		const u8_t * const data,
 		const u32_t data_length);
@@ -488,7 +509,7 @@
 	 * to buffer pointed by md_length_or_null, If md_length_or_null is non
 	 * NULL.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md5_final(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md5_final(
 		eap_variable_data_c * const md5_context,
 		u8_t * const message_digest,
 		u32_t *md_length_or_null);
@@ -496,13 +517,13 @@
 	/**
 	 * The hmac_md5_cleanup() cleanups the MD5 context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md5_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md5_cleanup(
 		eap_variable_data_c * const md5_context);
 
 	/**
 	 * The md5_copy_context() copies the MD5 context.
 	 */
-	 EAP_FUNC_IMPORT eap_status_e md5_copy_context(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md5_copy_context(
 		eap_variable_data_c * const copied_md5_context,
 		const eap_variable_data_c * const original_md5_context);
 
@@ -511,27 +532,27 @@
 	/**
 	 * This function returns the size of message digest of MD4-algorithm.
 	 */
-	EAP_FUNC_IMPORT u32_t get_md4_digest_length(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_md4_digest_length(
 		eap_variable_data_c * const md4_context);
 
 	/**
 	 * This function returns the block size of MD4-algorithm.
 	 */
-	EAP_FUNC_IMPORT u32_t get_md4_block_size(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H u32_t get_md4_block_size(
 		eap_variable_data_c * const md4_context);
 
 	/**
 	 * The sha1_init() function initializes MD4.
 	 * Internal context of MD4 is stored to sha1_context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md4_init(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md4_init(
 		eap_variable_data_c * const md4_context);
 
 	/**
 	 * The md4_update() function updates the context of 
 	 * md5_context with data_length bytes of data.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md4_update(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md4_update(
 		eap_variable_data_c * const md4_context,
 		const u8_t * const data,
 		const u32_t data_length);
@@ -542,7 +563,7 @@
 	 * to buffer pointed by md_length_or_null, If md_length_or_null is non
 	 * NULL.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md4_final(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md4_final(
 		eap_variable_data_c * const md4_context,
 		u8_t * const message_digest,
 		u32_t *md_length_or_null);
@@ -550,13 +571,13 @@
 	/**
 	 * The hmac_md5_cleanup() cleanups the MD4 context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e md4_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md4_cleanup(
 		eap_variable_data_c * const md4_context);
 
 	/**
 	 * The md4_copy_context() copies the MD4 context.
 	 */
-	 EAP_FUNC_IMPORT eap_status_e md4_copy_context(
+	 EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e md4_copy_context(
 		eap_variable_data_c * const copied_md4_context,
 		const eap_variable_data_c * const original_md4_context);
 
@@ -565,20 +586,20 @@
 	/**
 	* Used to set the RC4 key.
 	*/
-	EAP_FUNC_IMPORT eap_status_e rc4_set_key(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rc4_set_key(
 		eap_variable_data_c * const rc4_context, 
 		const eap_variable_data_c * const key);
 
 	/**
 	* Used to clean up the RC4 context.
 	*/
-	EAP_FUNC_IMPORT eap_status_e rc4_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rc4_cleanup(
 		eap_variable_data_c * const rc4_context);
 
 	/**
 	* Encrypts RC4 data.
 	*/
-	EAP_FUNC_IMPORT eap_status_e rc4_encrypt(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rc4_encrypt(
 		const eap_variable_data_c * const rc4_context, 
 		void * const data_in_out,
 		const u32_t data_length);
@@ -586,7 +607,7 @@
 	/**
 	* Encrypts RC4 data.
 	*/
-	EAP_FUNC_IMPORT eap_status_e rc4_encrypt(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rc4_encrypt(
 		const eap_variable_data_c * const rc4_context, 
 		const void * const data_in, 
 		void * const data_out,
@@ -595,7 +616,7 @@
 	/**
 	* Decrypts RC4 data.
 	*/
-	EAP_FUNC_IMPORT eap_status_e rc4_decrypt(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rc4_decrypt(
 		const eap_variable_data_c * const rc4_context, 
 		void * const data_in_out,
 		const u32_t data_length);
@@ -603,7 +624,7 @@
 	/**
 	* Decrypts RC4 data.
 	*/
-	EAP_FUNC_IMPORT eap_status_e rc4_decrypt(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rc4_decrypt(
 		const eap_variable_data_c * const rc4_context, 
 		const void * const data_in, 
 		void * const data_out,
@@ -615,40 +636,40 @@
 	 * The rsa_init() function initializes context of RSA.
 	 * Internal context of RSA is stored to rsa_context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e rsa_init(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_init(
 		eap_variable_data_c * const rsa_context);
 
-	EAP_FUNC_IMPORT eap_status_e rsa_encrypt_with_public_key(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_encrypt_with_public_key(
 		eap_variable_data_c * const rsa_context,
 		const eap_variable_data_c * const public_rsa_key,
 		const eap_variable_data_c * const input_data,
 		eap_variable_data_c * const output_data);
 
-	EAP_FUNC_IMPORT eap_status_e rsa_decrypt_with_public_key(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_decrypt_with_public_key(
 		eap_variable_data_c * const rsa_context,
 		const eap_variable_data_c * const public_rsa_key,
 		const eap_variable_data_c * const input_data,
 		eap_variable_data_c * const output_data);
 
-	EAP_FUNC_IMPORT eap_status_e rsa_encrypt_with_private_key(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_encrypt_with_private_key(
 		eap_variable_data_c * const rsa_context,
 		const eap_variable_data_c * const private_rsa_key,
 		const eap_variable_data_c * const input_data,
 		eap_variable_data_c * const output_data);
 
-	EAP_FUNC_IMPORT eap_status_e rsa_decrypt_with_private_key(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_decrypt_with_private_key(
 		eap_variable_data_c * const rsa_context,
 		const eap_variable_data_c * const private_rsa_key,
 		const eap_variable_data_c * const input_data,
 		eap_variable_data_c * const output_data);
 
-	EAP_FUNC_IMPORT eap_status_e rsa_sign(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_sign(
 		eap_variable_data_c * const rsa_context,
 		const eap_variable_data_c * const private_rsa_key,
 		const eap_variable_data_c * const hash,
 		eap_variable_data_c * const signed_hash);
 
-	EAP_FUNC_IMPORT eap_status_e rsa_verify(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_verify(
 		eap_variable_data_c * const rsa_context,
 		const eap_variable_data_c * const public_rsa_key,
 		const eap_variable_data_c * const hash,
@@ -658,7 +679,7 @@
 	 * The rsa_cleanup() function cleans up context of RSA.
 	 * Internal context of RSA is stored to rsa_context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e rsa_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e rsa_cleanup(
 		eap_variable_data_c * const rsa_context);
 
 	// - - - - - - - - - - - - - - - - - - - - - - - -
@@ -667,16 +688,16 @@
 	 * The dsa_init() function initializes context of DSA.
 	 * Internal context of DSA is stored to dsa_context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e dsa_init(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e dsa_init(
 		eap_variable_data_c * const dsa_context);
 
-	EAP_FUNC_IMPORT eap_status_e dsa_sign(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e dsa_sign(
 		eap_variable_data_c * const dsa_context,
 		const eap_variable_data_c * const private_dsa_key,
 		const eap_variable_data_c * const hash,
 		eap_variable_data_c * const signed_hash);
 
-	EAP_FUNC_IMPORT eap_status_e dsa_verify(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e dsa_verify(
 		eap_variable_data_c * const dsa_context,		
 		const eap_variable_data_c * const public_dsa_key,
 		const eap_variable_data_c * const dsa_param_p,
@@ -689,13 +710,13 @@
 	 * The dsa_cleanup() function cleans up context of DSA.
 	 * Internal context of DSA is stored to dsa_context.
 	 */
-	EAP_FUNC_IMPORT eap_status_e dsa_cleanup(
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H eap_status_e dsa_cleanup(
 		eap_variable_data_c * const dsa_context);
 
 	// - - - - - - - - - - - - - - - - - - - - - - - -
 
-	EAP_FUNC_IMPORT void open_crypto_memory_leaks();
-	EAP_FUNC_IMPORT void close_crypto_memory_leaks();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H void open_crypto_memory_leaks();
+	EAP_FUNC_VISIBILITY_EAP_AM_CRYPTO_OPENSSL_H void close_crypto_memory_leaks();
 };
 
 #endif //#if !defined( _EAP_AM_CRYPTO_OPENSSL_H_ )