00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __PJ_UNICODE_H__
00021 #define __PJ_UNICODE_H__
00022
00023 #include <pj/types.h>
00024
00025
00032 PJ_BEGIN_DECL
00033
00034
00050 PJ_DECL(wchar_t*) pj_ansi_to_unicode(const char *str, pj_size_t len,
00051 wchar_t *wbuf, pj_size_t wbuf_count);
00052
00053
00064 PJ_DECL(char*) pj_unicode_to_ansi(const wchar_t *wstr, pj_size_t len,
00065 char *buf, pj_size_t buf_size);
00066
00067
00068 #if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0
00069
00076 # define PJ_DECL_UNICODE_TEMP_BUF(buf,size) wchar_t buf[size];
00077
00082 # define PJ_STRING_TO_NATIVE(s,buf,max) pj_ansi_to_unicode( \
00083 s, strlen(s), \
00084 buf, max)
00085
00092 # define PJ_DECL_ANSI_TEMP_BUF(buf,size) char buf[size];
00093
00094
00099 # define PJ_NATIVE_TO_STRING(cs,buf,max) pj_unicode_to_ansi( \
00100 cs, wcslen(cs), \
00101 buf, max)
00102
00103 #else
00104
00111 # define PJ_DECL_UNICODE_TEMP_BUF(var,size)
00112
00116 # define PJ_STRING_TO_NATIVE(s,buf,max) ((char*)s)
00117
00123 # define PJ_DECL_ANSI_TEMP_BUF(buf,size)
00124
00128 # define PJ_NATIVE_TO_STRING(cs,buf,max) ((char*)(const char*)cs)
00129
00130 #endif
00131
00132
00133
00134 PJ_END_DECL
00135
00136
00137
00138
00139
00140
00141 #endif