Commit 2cc5142f authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Improve WINCE support.

Submitted by: Pierre Delaage
(cherry picked from commit a006fef7)

Resolved conflicts:

	crypto/bio/bss_dgram.c
	ssl/d1_lib.c
	util/pl/VC-32.pl
parent d451ece4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#if !defined(OPENSSL_SYSNAME_WIN32) && !defined(NETWARE_CLIB)
#if !defined(OPENSSL_SYSNAME_WIN32) && !defined(OPENSSL_SYSNAME_WINCE) && !defined(NETWARE_CLIB)
#include <strings.h>
#endif
#include <sys/types.h>
+1 −1
Original line number Diff line number Diff line
@@ -204,7 +204,7 @@ extern BIO *bio_err;
#  endif
#endif

#ifdef OPENSSL_SYSNAME_WIN32
#if defined(OPENSSL_SYSNAME_WIN32) || defined(OPENSSL_SYSNAME_WINCE)
#  define openssl_fdset(a,b) FD_SET((unsigned int)a, b)
#else
#  define openssl_fdset(a,b) FD_SET(a, b)
+10 −6
Original line number Diff line number Diff line
@@ -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,11 +1895,15 @@ int BIO_dgram_non_fatal_error(int err)

static void get_current_time(struct timeval *t)
	{
#ifdef OPENSSL_SYS_WIN32
	struct _timeb tb;
	_ftime(&tb);
	t->tv_sec = (long)tb.time;
	t->tv_usec = (long)tb.millitm * 1000;
#if defined(_WIN32)
	SYSTEMTIME st;
	union { unsigned __int64 ul; FILETIME ft; } now;

	GetSystemTime(&st);
	SystemTimeToFileTime(&st,&now.ft);
	now.ul -= 116444736000000000UI64;	/* re-bias to 1/1/1970 */
	t->tv_sec  = (long)(now.ul/10000000);
	t->tv_usec = ((int)(now.ul%10000000))/10;
#elif defined(OPENSSL_SYS_VMS)
	struct timeb tb;
	ftime(&tb);
+18 −2
Original line number Diff line number Diff line
@@ -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.
+2 −0
Original line number Diff line number Diff line
@@ -935,7 +935,9 @@ void OpenSSLDie(const char *file,int line,const char *assertion)
	abort();
#else
	/* Win32 abort() customarily shows a dialog, but we just did that... */
#if !defined(_WIN32_WCE)
	raise(SIGABRT);
#endif
	_exit(3);
#endif
	}
Loading