Defines for UEFI environment under MSVC added
diff --git a/include/polarssl/aes.h b/include/polarssl/aes.h
index 27ba373..1b93e2a 100644
--- a/include/polarssl/aes.h
+++ b/include/polarssl/aes.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h
index c4680a7..9bed027 100644
--- a/include/polarssl/bignum.h
+++ b/include/polarssl/bignum.h
@@ -32,7 +32,7 @@
 
 #include "config.h"
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 #if (_MSC_VER <= 1200)
 typedef   signed short  int16_t;
diff --git a/include/polarssl/blowfish.h b/include/polarssl/blowfish.h
index f8d79c5..45b1387 100644
--- a/include/polarssl/blowfish.h
+++ b/include/polarssl/blowfish.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/camellia.h b/include/polarssl/camellia.h
index 4ce10dc..c98512f 100644
--- a/include/polarssl/camellia.h
+++ b/include/polarssl/camellia.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/compat-1.2.h b/include/polarssl/compat-1.2.h
index ce4566c..3e9c396 100644
--- a/include/polarssl/compat-1.2.h
+++ b/include/polarssl/compat-1.2.h
@@ -32,7 +32,14 @@
 // Comment out to disable prototype change warnings
 #define SHOW_PROTOTYPE_CHANGE_WARNINGS
 
-#if defined _MSC_VER
+#if defined(_MSC_VER) && !defined(inline)
+#define inline _inline
+#else
+#if defined(__ARMCC_VERSION) && !defined(inline)
+#define inline __inline
+#endif /* __ARMCC_VERSION */
+
+#if defined(_MSC_VER)
 // MSVC does not support #warning
 #undef SHOW_PROTOTYPE_CHANGE_WARNINGS
 #endif
diff --git a/include/polarssl/des.h b/include/polarssl/des.h
index 74d5acb..d29bd1d 100644
--- a/include/polarssl/des.h
+++ b/include/polarssl/des.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/gcm.h b/include/polarssl/gcm.h
index 279e84b..e4267c6 100644
--- a/include/polarssl/gcm.h
+++ b/include/polarssl/gcm.h
@@ -29,7 +29,7 @@
 
 #include "cipher.h"
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 typedef UINT64 uint64_t;
diff --git a/include/polarssl/md4.h b/include/polarssl/md4.h
index a5c9142..a1b5d45 100644
--- a/include/polarssl/md4.h
+++ b/include/polarssl/md4.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/md5.h b/include/polarssl/md5.h
index 87474a7..df2a61b 100644
--- a/include/polarssl/md5.h
+++ b/include/polarssl/md5.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/padlock.h b/include/polarssl/padlock.h
index 9df75cc..8df93c0 100644
--- a/include/polarssl/padlock.h
+++ b/include/polarssl/padlock.h
@@ -37,7 +37,7 @@
 #define POLARSSL_HAVE_X86
 #endif
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef INT32 int32_t;
 #else
diff --git a/include/polarssl/pbkdf2.h b/include/polarssl/pbkdf2.h
index e2e61b5..5ccb2fa 100644
--- a/include/polarssl/pbkdf2.h
+++ b/include/polarssl/pbkdf2.h
@@ -34,7 +34,7 @@
 
 #include "md.h"
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/pkcs5.h b/include/polarssl/pkcs5.h
index dfff381..34e824b 100644
--- a/include/polarssl/pkcs5.h
+++ b/include/polarssl/pkcs5.h
@@ -34,7 +34,7 @@
 #include "asn1.h"
 #include "md.h"
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/sha1.h b/include/polarssl/sha1.h
index 1c18f8a..e1d8e27 100644
--- a/include/polarssl/sha1.h
+++ b/include/polarssl/sha1.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/sha256.h b/include/polarssl/sha256.h
index 7d964b8..89df578 100644
--- a/include/polarssl/sha256.h
+++ b/include/polarssl/sha256.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else
diff --git a/include/polarssl/xtea.h b/include/polarssl/xtea.h
index 7521993..95854d1 100644
--- a/include/polarssl/xtea.h
+++ b/include/polarssl/xtea.h
@@ -31,7 +31,7 @@
 
 #include <string.h>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 #include <basetsd.h>
 typedef UINT32 uint32_t;
 #else