00001
00011 #ifndef __UCS2LE_H_
00012 #define __UCS2LE_H_
00013
00014 #ifdef _WIN32
00015 # include <windows.h>
00016 # include <wchar.h>
00017
00024 typedef char t_ucs2le;
00025 #else
00026 # include <synce.h>
00027 # include <iconv.h>
00028
00031 typedef struct {
00035 iconv_t from;
00039 iconv_t to;
00040 } t_ucs2le;
00041 #endif
00042
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046
00047 const WCHAR WCHAR0;
00048
00057 int ucs2le_open(t_ucs2le *theHandle);
00058
00065 void ucs2le_close(t_ucs2le *aHandle);
00066
00074 BOOL ucs2le_isvalid(const t_ucs2le *aHandle);
00075
00086 int ucs2le_from(const t_ucs2le *aHandle,
00087 char *theString,
00088 LPCWSTR aWStr,
00089 size_t aMaxNum);
00090
00101 int ucs2le_to(const t_ucs2le *aHandle,
00102 LPWSTR theWString,
00103 const char *anStr,
00104 size_t aMaxNum);
00105
00106 #ifdef __cplusplus
00107 }
00108 #endif
00109
00110 #endif
00111