diff options
Diffstat (limited to 'pjlib/include')
-rw-r--r-- | pjlib/include/pj/compat/m_armv4.h (renamed from pjlib/include/pj/compat/m_arm.h) | 10 | ||||
-rw-r--r-- | pjlib/include/pj/compat/socket.h | 3 | ||||
-rw-r--r-- | pjlib/include/pj/compat/string.h | 81 | ||||
-rw-r--r-- | pjlib/include/pj/config.h | 2 | ||||
-rw-r--r-- | pjlib/include/pj/types.h | 17 | ||||
-rw-r--r-- | pjlib/include/pjlib.h | 1 |
6 files changed, 97 insertions, 17 deletions
diff --git a/pjlib/include/pj/compat/m_arm.h b/pjlib/include/pj/compat/m_armv4.h index b81ce32c..e43d4156 100644 --- a/pjlib/include/pj/compat/m_arm.h +++ b/pjlib/include/pj/compat/m_armv4.h @@ -16,11 +16,11 @@ * 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__ +#ifndef __PJ_COMPAT_M_ARMV4_H__ +#define __PJ_COMPAT_M_ARMV4_H__ /** - * @file m_arm.h + * @file m_armv4.h * @brief Describes ARM family processor specifics. */ @@ -28,11 +28,11 @@ * This file covers PJ_M_ARMV4 etc. */ -#define PJ_M_NAME "ARM" +#define PJ_M_NAME "armv4" #define PJ_HAS_PENTIUM 0 #define PJ_IS_LITTLE_ENDIAN 1 #define PJ_IS_BIG_ENDIAN 0 -#endif /* __PJ_COMPAT_M_ARM_H__ */ +#endif /* __PJ_COMPAT_M_ARMV4_H__ */ diff --git a/pjlib/include/pj/compat/socket.h b/pjlib/include/pj/compat/socket.h index ee4f3a6e..e3f68b5d 100644 --- a/pjlib/include/pj/compat/socket.h +++ b/pjlib/include/pj/compat/socket.h @@ -76,7 +76,8 @@ /* * Define common errors. */ -#ifdef PJ_WIN32 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) # define OSERR_EWOULDBLOCK WSAEWOULDBLOCK # define OSERR_EINPROGRESS WSAEINPROGRESS # define OSERR_ECONNRESET WSAECONNRESET diff --git a/pjlib/include/pj/compat/string.h b/pjlib/include/pj/compat/string.h index fd041230..8fd45286 100644 --- a/pjlib/include/pj/compat/string.h +++ b/pjlib/include/pj/compat/string.h @@ -24,6 +24,16 @@ * @brief Provides string manipulation functions found in ANSI string.h. */ +/** + * Native char type, which will be equal to wchar_t for Unicode + * and char for ANSI. + */ +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +typedef wchar_t pj_char_t; +#else +typedef char pj_char_t; +#endif + #if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H != 0 # include <string.h> #else @@ -41,21 +51,72 @@ # define strncasecmp strnicmp # endif # define snprintf _snprintf +# define wcsicmp _wcsicmp +# define wcsnicmp _wcsnicmp #else # define stricmp strcasecmp # define strnicmp strncasecmp + +# if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# error "Implement Unicode string functions" +# endif #endif -#define pj_native_strcmp strcmp -#define pj_native_strncmp strncmp -#define pj_native_strlen strlen -#define pj_native_strcpy strcpy -#define pj_native_strstr strstr -#define pj_native_strchr strchr -#define pj_native_strcasecmp strcasecmp -#define pj_native_stricmp strcasecmp -#define pj_native_strncasecmp strncasecmp -#define pj_native_strnicmp strncasecmp +#define pj_ansi_strcmp strcmp +#define pj_ansi_strncmp strncmp +#define pj_ansi_strlen strlen +#define pj_ansi_strcpy strcpy +#define pj_ansi_strcat strcat +#define pj_ansi_strstr strstr +#define pj_ansi_strchr strchr +#define pj_ansi_strcasecmp strcasecmp +#define pj_ansi_stricmp strcasecmp +#define pj_ansi_strncasecmp strncasecmp +#define pj_ansi_strnicmp strncasecmp +#define pj_ansi_sprintf sprintf + +#define pj_unicode_strcmp wcscmp +#define pj_unicode_strncmp wcsncmp +#define pj_unicode_strlen wcslen +#define pj_unicode_strcpy wcscpy +#define pj_unicode_strcat wcscat +#define pj_unicode_strstr wcsstr +#define pj_unicode_strchr wcschr +#define pj_unicode_strcasecmp wcsicmp +#define pj_unicode_stricmp wcsicmp +#define pj_unicode_strncasecmp wcsnicmp +#define pj_unicode_strnicmp wcsnicmp +#define pj_unicode_sprintf swprintf + + +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# define pj_native_strcmp pj_unicode_strcmp +# define pj_native_strncmp pj_unicode_strncmp +# define pj_native_strlen pj_unicode_strlen +# define pj_native_strcpy pj_unicode_strcpy +# define pj_native_strcat pj_unicode_strcat +# define pj_native_strstr pj_unicode_strstr +# define pj_native_strchr pj_unicode_strchr +# define pj_native_strcasecmp pj_unicode_strcasecmp +# define pj_native_stricmp pj_unicode_stricmp +# define pj_native_strncasecmp pj_unicode_strncasecmp +# define pj_native_strnicmp pj_unicode_strnicmp +# define pj_native_sprintf pj_unicode_sprintf +#else +# define pj_native_strcmp pj_ansi_strcmp +# define pj_native_strncmp pj_ansi_strncmp +# define pj_native_strlen pj_ansi_strlen +# define pj_native_strcpy pj_ansi_strcpy +# define pj_native_strcat pj_ansi_strcat +# define pj_native_strstr pj_ansi_strstr +# define pj_native_strchr pj_ansi_strchr +# define pj_native_strcasecmp pj_ansi_strcasecmp +# define pj_native_stricmp pj_ansi_stricmp +# define pj_native_strncasecmp pj_ansi_strncasecmp +# define pj_native_strnicmp pj_ansi_strnicmp +# define pj_native_sprintf pj_ansi_sprintf +#endif + #endif /* __PJ_COMPAT_STRING_H__ */ diff --git a/pjlib/include/pj/config.h b/pjlib/include/pj/config.h index b836b53b..d09795a4 100644 --- a/pjlib/include/pj/config.h +++ b/pjlib/include/pj/config.h @@ -68,7 +68,7 @@ #elif defined (PJ_M_SPARC) && PJ_M_SPARC != 0 # include <pj/compat/m_sparc.h> #elif defined (PJ_M_ARMV4) && PJ_M_ARMV4 != 0 -# include <pj/compat/m_arm.h> +# include <pj/compat/m_armv4.h> #else # error "Please specify target machine." #endif diff --git a/pjlib/include/pj/types.h b/pjlib/include/pj/types.h index 5b22f75b..69d440a9 100644 --- a/pjlib/include/pj/types.h +++ b/pjlib/include/pj/types.h @@ -68,6 +68,23 @@ typedef int pj_status_t; /** Boolean. */ typedef int pj_bool_t; +/** Native char type, which will be equal to wchar_t for Unicode + * and char for ANSI. */ +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 + typedef wchar_t pj_char_t; +#else + typedef char pj_char_t; +#endif + +/** This macro creates Unicode or ANSI literal string depending whether + * native platform string is Unicode or ANSI. */ +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# define PJ_T(literal_str) L##literal_str +#else +# define PJ_T(literal_str) literal_str +#endif + + /** Status is OK. */ #define PJ_SUCCESS 0 diff --git a/pjlib/include/pjlib.h b/pjlib/include/pjlib.h index 45a9e495..2e2ffd0d 100644 --- a/pjlib/include/pjlib.h +++ b/pjlib/include/pjlib.h @@ -48,6 +48,7 @@ #include <pj/sock_select.h> #include <pj/string.h> #include <pj/timer.h> +#include <pj/unicode.h> #include <pj/compat/high_precision.h> |