Improve WINCE support.

Submitted by: Pierre Delaage
diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c
index d121386..f8215f4 100644
--- a/crypto/bio/bss_dgram.c
+++ b/crypto/bio/bss_dgram.c
@@ -66,7 +66,7 @@
 #include <openssl/bio.h>
 #ifndef OPENSSL_NO_DGRAM
 
-#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS)
+#if defined(OPENSSL_SYS_VMS)
 #include <sys/timeb.h>
 #endif
 
@@ -1895,7 +1895,7 @@
 
 static void get_current_time(struct timeval *t)
 	{
-#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINCE)
+#if defined(_WIN32)
 	SYSTEMTIME st;
 	union { unsigned __int64 ul; FILETIME ft; } now;
 
diff --git a/crypto/bio/bss_fd.c b/crypto/bio/bss_fd.c
index d1bf85a..c274877 100644
--- a/crypto/bio/bss_fd.c
+++ b/crypto/bio/bss_fd.c
@@ -63,9 +63,25 @@
 
 #if defined(OPENSSL_NO_POSIX_IO)
 /*
- * One can argue that one should implement dummy placeholder for
- * BIO_s_fd here...
+ * Dummy placeholder for BIO_s_fd...
  */
+BIO *BIO_new_fd(int fd,int close_flag)
+	{
+	return NULL;
+	}
+int BIO_fd_non_fatal_error(int err)
+	{
+	return 0;
+	}
+int BIO_fd_should_retry(int i)
+	{
+	return 0;
+	}
+
+BIO_METHOD *BIO_s_fd(void)
+	{
+	return NULL;
+	}
 #else
 /*
  * As for unconditional usage of "UPLINK" interface in this module.
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index 1445349..07b0a66 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -387,7 +387,9 @@
 	abort();
 #else
 	/* Win32 abort() customarily shows a dialog, but we just did that... */
+#if !defined(_WIN32_WCE)
 	raise(SIGABRT);
+#endif
 	_exit(3);
 #endif
 	}
diff --git a/crypto/o_str.c b/crypto/o_str.c
index 56104a6..60c01c1 100644
--- a/crypto/o_str.c
+++ b/crypto/o_str.c
@@ -61,7 +61,7 @@
 #include "o_str.h"
 
 #if !defined(OPENSSL_IMPLEMENTS_strncasecmp) && \
-    !defined(OPENSSL_SYSNAME_WIN32) && \
+    !defined(OPENSSL_SYSNAME_WIN32) && !defined(OPENSSL_SYSNAME_WINCE) && \
     !defined(NETWARE_CLIB)
 # include <strings.h>
 #endif