Type sanity: add compile time check that integers are of the expected size.
[silc.git] / lib / silcutil / silctypes.h
index f1f8ddb15fde504c74e7a6e60fa02e95607fe49b..b22c7e771d83b1de276eb8edf1aab09ff59aab90 100644 (file)
@@ -271,8 +271,10 @@ typedef SilcUInt32 * void *;
  *
  * SOURCE
  */
-#if defined(SILC_UNIX) || defined(SILC_WIN32)
+#if defined(SILC_UNIX)
 typedef int SilcSocket;
+#elif defined(SILC_WIN32)
+typedef SOCKET SilcSocket;
 #elif defined(SILC_SYMBIAN)
 typedef void * SilcSocket;
 #endif
@@ -632,4 +634,11 @@ do {                                               \
 #endif
 /***/
 
+typedef char __check_size1[sizeof(SilcInt8)   ==       1 ? 1 : -1];
+typedef char __check_size2[sizeof(SilcUInt8)  ==       1 ? 1 : -1];
+typedef char __check_size3[sizeof(SilcInt16)  ==       2 ? 1 : -1];
+typedef char __check_size4[sizeof(SilcUInt16) ==       2 ? 1 : -1];
+typedef char __check_size5[sizeof(SilcInt32)  ==       4 ? 1 : -1];
+typedef char __check_size6[sizeof(SilcUInt32) ==       4 ? 1 : -1];
+
 #endif /* SILCTYPES_H */