#include "codecnv.h"
#ifdef __cplusplus
extern "C" {
#endif
UINT oemtext_mbtoucs2(UINT cp, wchar_t *dst, UINT dcnt, const char *src, UINT scnt);
UINT oemtext_ucs2tomb(UINT cp, char *dst, UINT dcnt, const wchar_t *src, UINT scnt);
UINT oemtext_mbtoutf8(UINT cp, char *dst, UINT dcnt, const char *src, UINT scnt);
UINT oemtext_utf8tomb(UINT cp, char *dst, UINT dcnt, const char *src, UINT scnt);
UINT oemtext_chartoucs2(wchar_t *dst, UINT dcnt, const char *src, UINT scnt);
UINT oemtext_ucs2tochar(char *dst, UINT dcnt, const wchar_t *src, UINT scnt);
UINT oemtext_chartoutf8(char *dst, UINT dcnt, const char *src, UINT scnt);
UINT oemtext_utf8tochar(char *dst, UINT dcnt, const char *src, UINT scnt);
#ifdef __cplusplus
}
#endif
#if defined(OSLANG_UTF8)
#define oemtext_sjistooem(a, b, c, d) oemtext_mbtoutf8(932, a, b, c, d)
#define oemtext_oemtosjis(a, b, c, d) oemtext_utf8tomb(932, a, b, c, d)
#elif defined(OSLANG_UCS2)
#define oemtext_sjistooem(a, b, c, d) oemtext_mbtoucs2(932, a, b, c, d)
#define oemtext_oemtosjis(a, b, c, d) oemtext_ucs2tomb(932, a, b, c, d)
#endif
// ---- Windows—p TCHAR-OEMCHAR•ĎŠ·
#undef OEMCHAR_SAME_TCHAR
#if !defined(_UNICODE) && defined(OSLANG_UCS2)
#define tchartooem oemtext_chartoucs2
#define oemtotchar oemtext_ucs2tochar
#elif !defined(_UNICODE) && defined(OSLANG_UTF8)
#define tchartooem oemtext_chartoutf8
#define oemtotchar oemtext_utf8tochar
#elif defined(_UNICODE) && (defined(OSLANG_ANK) || defined(OSLANG_SJIS))
#define tchartooem oemtext_ucs2tochar
#define oemtotchar oemtext_chartoucs2
#elif defined(_UNICODE) && defined(OSLANG_UTF8)
#define tchartooem codecnv_ucs2toutf8
#define oemtotchar codecnv_utf8toucs2
#else
#define OEMCHAR_SAME_TCHAR
#endif
// ---- strres
#if defined(OEMCHAR_SAME_TCHAR)
#define tchar_null str_null
#define tchar_d str_d
#define tchar_u str_u
#define tchar_2x str_2x
#define tchar_2d str_2d
#define tchar_4X str_4X
#define tchar_bmp str_bmp
#define tchar_d88 str_d88
#define tchar_thd str_thd
#define tchar_hdd str_hdd
#else
extern const TCHAR tchar_null[];
extern const TCHAR tchar_d[];
extern const TCHAR tchar_u[];
extern const TCHAR tchar_2x[];
extern const TCHAR tchar_2d[];
extern const TCHAR tchar_4X[];
extern const TCHAR tchar_bmp[];
extern const TCHAR tchar_d88[];
extern const TCHAR tchar_thd[];
extern const TCHAR tchar_hdd[];
#endif
// ---- milstr
#if defined(OEMCHAR_SAME_TCHAR)
#define miltchar_solveHEX(s) milstr_solveHEX(s)
#define miltchar_solveINT(s) milstr_solveINT(s)
#else
long STRCALL miltchar_solveHEX(const TCHAR *str);
long STRCALL miltchar_solveINT(const TCHAR *str);
#endif
RetroPC.NET-CVS <cvs@retropc.net>