diff --git a/pjlib/include/pj/compat/errno.h b/pjlib/include/pj/compat/errno.h
index a4246d7..8c86daa 100644
--- a/pjlib/include/pj/compat/errno.h
+++ b/pjlib/include/pj/compat/errno.h
@@ -19,7 +19,8 @@
 #ifndef __PJ_COMPAT_ERRNO_H__
 #define __PJ_COMPAT_ERRNO_H__
 
-#if defined(PJ_WIN32) && PJ_WIN32 != 0
+#if defined(PJ_WIN32) && PJ_WIN32 != 0 || \
+    defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0
 
     typedef unsigned long pj_os_err_type;
 #   define pj_get_native_os_error()	    GetLastError()
diff --git a/pjlib/include/pj/compat/m_arm.h b/pjlib/include/pj/compat/m_arm.h
new file mode 100644
index 0000000..b81ce32
--- /dev/null
+++ b/pjlib/include/pj/compat/m_arm.h
@@ -0,0 +1,38 @@
+/* $Id$ */
+/* 
+ * Copyright (C)2003-2006 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+#ifndef __PJ_COMPAT_M_ARM_H__
+#define __PJ_COMPAT_M_ARM_H__
+
+/**
+ * @file m_arm.h
+ * @brief Describes ARM family processor specifics.
+ */
+
+/*
+ * This file covers PJ_M_ARMV4 etc.
+ */
+
+#define PJ_M_NAME		"ARM"
+
+#define PJ_HAS_PENTIUM		0
+#define PJ_IS_LITTLE_ENDIAN	1
+#define PJ_IS_BIG_ENDIAN	0
+
+
+#endif	/* __PJ_COMPAT_M_ARM_H__ */
diff --git a/pjlib/include/pj/compat/os_linux.h b/pjlib/include/pj/compat/os_linux.h
index 7f90164..ab26852 100644
--- a/pjlib/include/pj/compat/os_linux.h
+++ b/pjlib/include/pj/compat/os_linux.h
@@ -77,6 +77,7 @@
 #define PJ_HAS_HIGH_RES_TIMER	    1
 #define PJ_HAS_MALLOC               1
 #define PJ_OS_HAS_CHECK_STACK	    0
+#define PJ_NATIVE_STRING_IS_UNICODE 0
 
 #define PJ_ATOMIC_VALUE_TYPE	    long
 
diff --git a/pjlib/include/pj/compat/os_linux_kernel.h b/pjlib/include/pj/compat/os_linux_kernel.h
index 164cde5..11e22da 100644
--- a/pjlib/include/pj/compat/os_linux_kernel.h
+++ b/pjlib/include/pj/compat/os_linux_kernel.h
@@ -96,6 +96,7 @@
 #define PJ_HAS_HIGH_RES_TIMER	    1
 #define PJ_OS_HAS_CHECK_STACK	    0
 #define PJ_TERM_HAS_COLOR	    0
+#define PJ_NATIVE_STRING_IS_UNICODE 0
 
 #define PJ_ATOMIC_VALUE_TYPE	    int
 #define PJ_THREAD_DESC_SIZE	    128
diff --git a/pjlib/include/pj/compat/os_palmos.h b/pjlib/include/pj/compat/os_palmos.h
index 9f62fe2..3d540a3 100644
--- a/pjlib/include/pj/compat/os_palmos.h
+++ b/pjlib/include/pj/compat/os_palmos.h
@@ -75,5 +75,6 @@
 
 #define PJ_HAS_HIGH_RES_TIMER	    1
 #define PJ_OS_HAS_CHECK_STACK	    0
+#define PJ_NATIVE_STRING_IS_UNICODE 0
 
 #endif	/* __PJ_COMPAT_OS_PALMOS_H__ */
diff --git a/pjlib/include/pj/compat/os_sunos.h b/pjlib/include/pj/compat/os_sunos.h
index 9a3ff33..269631f 100644
--- a/pjlib/include/pj/compat/os_sunos.h
+++ b/pjlib/include/pj/compat/os_sunos.h
@@ -77,6 +77,7 @@
 #define PJ_HAS_HIGH_RES_TIMER	    1
 #define PJ_HAS_MALLOC               1
 #define PJ_OS_HAS_CHECK_STACK	    0
+#define PJ_NATIVE_STRING_IS_UNICODE 0
 
 #define PJ_ATOMIC_VALUE_TYPE	    long
 
diff --git a/pjlib/include/pj/compat/os_win32.h b/pjlib/include/pj/compat/os_win32.h
index 03c4f54..a078a7e 100644
--- a/pjlib/include/pj/compat/os_win32.h
+++ b/pjlib/include/pj/compat/os_win32.h
@@ -81,6 +81,7 @@
 #define PJ_HAS_HIGH_RES_TIMER	    1
 #define PJ_HAS_MALLOC               1
 #define PJ_OS_HAS_CHECK_STACK	    1
+#define PJ_NATIVE_STRING_IS_UNICODE 0
 
 #define PJ_ATOMIC_VALUE_TYPE	    long
 
diff --git a/pjlib/include/pj/compat/os_win32_wince.h b/pjlib/include/pj/compat/os_win32_wince.h
new file mode 100644
index 0000000..05b8918
--- /dev/null
+++ b/pjlib/include/pj/compat/os_win32_wince.h
@@ -0,0 +1,99 @@
+/* $Id$ */
+/* 
+ * Copyright (C)2003-2006 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+#ifndef __PJ_COMPAT_OS_WIN32_WINCE_H__
+#define __PJ_COMPAT_OS_WIN32_WINCE_H__
+
+/**
+ * @file os_win32.h
+ * @brief Describes Win32 operating system family specifics.
+ */
+
+#define PJ_OS_NAME		    "win32-wince"
+
+#define WIN32_LEAN_AND_MEAN
+//#define PJ_WIN32_WINNT		    0x0400
+//#define _WIN32_WINNT		    PJ_WIN32_WINNT
+
+#define PJ_HAS_ARPA_INET_H	    0
+#define PJ_HAS_ASSERT_H		    1
+#define PJ_HAS_CTYPE_H		    1
+#define PJ_HAS_ERRNO_H		    0   /* Must be zero, otherwise errno_test() fails. */
+#define PJ_HAS_LINUX_SOCKET_H	    0
+#define PJ_HAS_MALLOC_H		    1
+#define PJ_HAS_NETDB_H		    0
+#define PJ_HAS_NETINET_IN_H	    0
+#define PJ_HAS_SETJMP_H		    1
+#define PJ_HAS_STDARG_H		    1
+#define PJ_HAS_STDDEF_H		    1
+#define PJ_HAS_STDIO_H		    1
+#define PJ_HAS_STDLIB_H		    1
+#define PJ_HAS_STRING_H		    1
+#define PJ_HAS_SYS_IOCTL_H	    0
+#define PJ_HAS_SYS_SELECT_H	    0
+#define PJ_HAS_SYS_SOCKET_H	    0
+#define PJ_HAS_SYS_TIMEB_H	    0	/* Doesn't have sys/timeb.h */
+#define PJ_HAS_SYS_TYPES_H	    0	/* Doesn't have sys/types.h */
+#define PJ_HAS_TIME_H		    1
+#define PJ_HAS_UNISTD_H		    0
+
+#define PJ_HAS_MSWSOCK_H	    1
+#define PJ_HAS_WINSOCK_H	    0
+#define PJ_HAS_WINSOCK2_H	    1
+
+#define PJ_SOCK_HAS_INET_ATON	    0
+
+/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
+ * the status of non-blocking connect() operation.
+ */
+#define PJ_HAS_SO_ERROR             0
+
+/* This value specifies the value set in errno by the OS when a non-blocking
+ * socket recv() or send() can not return immediately.
+ */
+#define PJ_BLOCKING_ERROR_VAL       WSAEWOULDBLOCK
+
+/* This value specifies the value set in errno by the OS when a non-blocking
+ * socket connect() can not get connected immediately.
+ */
+#define PJ_BLOCKING_CONNECT_ERROR_VAL   WSAEWOULDBLOCK
+
+/* Default threading is enabled, unless it's overridden. */
+#ifndef PJ_HAS_THREADS
+#  define PJ_HAS_THREADS	    (1)
+#endif
+
+#define PJ_HAS_HIGH_RES_TIMER	    1
+#define PJ_HAS_MALLOC               1
+#define PJ_OS_HAS_CHECK_STACK	    1
+
+#define PJ_ATOMIC_VALUE_TYPE	    long
+
+/* TlsAlloc() error value. */
+#define TLS_OUT_OF_INDEXES	    0xFFFFFFFF 
+
+/* No console. */
+#define PJ_TERM_HAS_COLOR	    0
+
+/* No rdtsc */
+#define PJ_TIMESTAMP_USE_RDTSC	    0
+
+/* Native string is Unicode. */
+#define PJ_NATIVE_STRING_IS_UNICODE 1
+
+#endif	/* __PJ_COMPAT_OS_WIN32_WINCE_H__ */
diff --git a/pjlib/include/pj/compat/socket.h b/pjlib/include/pj/compat/socket.h
index 1ef7fff..ee4f3a6 100644
--- a/pjlib/include/pj/compat/socket.h
+++ b/pjlib/include/pj/compat/socket.h
@@ -95,7 +95,7 @@
 /*
  * Linux kernel specifics
  */
-#ifdef PJ_LINUX_KERNEL
+#if defined(PJ_LINUX_KERNEL)
 #   include <linux/net.h>
 #   include <asm/ioctls.h>		/* FIONBIO	*/
 #   include <linux/syscalls.h>	/* sys_select() */
@@ -123,8 +123,8 @@
 /*
  * Windows specific
  */
-#ifdef PJ_WIN32
-    typedef int socklen_t;;
+#if defined(PJ_WIN32) || defined(PJ_WIN32_WINCE)
+    typedef int socklen_t;
 #endif
 
 
diff --git a/pjlib/include/pj/compat/string.h b/pjlib/include/pj/compat/string.h
index 56ae5c2..fd04123 100644
--- a/pjlib/include/pj/compat/string.h
+++ b/pjlib/include/pj/compat/string.h
@@ -35,7 +35,11 @@
 
 #if defined(_MSC_VER)
 #  define strcasecmp	stricmp
-#  define strncasecmp	strnicmp
+#  if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0
+#   define strncasecmp	_strnicmp
+#  else
+#   define strncasecmp	strnicmp
+#  endif
 #  define snprintf	_snprintf
 #else
 #  define stricmp	strcasecmp
diff --git a/pjlib/include/pj/compat/unicode.h b/pjlib/include/pj/compat/unicode.h
new file mode 100644
index 0000000..cefa44c
--- /dev/null
+++ b/pjlib/include/pj/compat/unicode.h
@@ -0,0 +1,45 @@
+/* $Id$ */
+/* 
+ * Copyright (C)2003-2006 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+#ifndef __PJ_COMPAT_UNICODE_H__
+#define __PJ_COMPAT_UNICODE_H__
+
+#include <pj/types.h>
+
+/**
+ * @file unicode.h
+ * @brief Provides Unicode conversion for Unicode OSes
+ */
+
+#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0
+
+#   define PJ_DECL_UNICODE_TEMP_BUF(var,size)    wchar_t var[size]
+#   define PJ_NATIVE_STRING(s,buf) pj_ansi_to_unicode(s,buf,PJ_ARRAY_SIZE(buf))
+
+    PJ_DECL(wchar_t*) pj_ansi_to_unicode(const char *s, wchar_t *buf,
+					 pj_size_t buf_count);
+
+#else	/* PJ_NATIVE_STRING_IS_UNICODE */
+
+#   define PJ_DECL_UNICODE_TEMP_BUF(var,size)
+#   define PJ_NATIVE_STRING(s, buf)		s
+
+#endif	/* PJ_NATIVE_STRING_IS_UNICODE */
+
+
+#endif	/* __PJ_COMPAT_UNICODE_H__ */
