' <tchar.h> [not standard C]
' #include the file <tchar.h> to declare character set independent macros for text manipulation.
'
' By using the following character set independent macros you can, by simply recompiling the
' program, have a program that either works with normal or wide characters. Define the symbol
' _UNICODE, before you #include the file <tchar.h>, to create a program that works with Unicode.
' If the symbol _UNICODE is not defined, the program will work with normal characters.
'
' For string constants to be properly defined (in the Unicode case) they must be surrounded
' by the macro _ _T(text).
'
' The following table shows how the macros in <tchar.h> is mapped when _UNICODE is defined
' (or not):
'
' Constants and data types.
' Generic name, _UNICODE defined, _UNICODE not defined

'RecvCommDataW,RecvCommDataW,RecvCommData
'uni_fRead,uni_fRead,GET
LoadFileW,LoadFileW,LoadFile

_TEOF,WEOF,EOF
_TCHAR,wchar_t,char
_TCHAR*,wchar_t*,PCHAR
'_TINT,wint_t,int
'_TINT,wint_t,INT
_tfinddata_t,_wfinddata_t,_finddata_t
_tfinddata64_t,_wfinddata64_t,_finddata64_t
(,(,TEXT(
LPWSTR,LPWSTR,LPSTR

LPCTSTR,LPTSTR,LPCSTR
'ULONG,ULONG,UCHAR


'------------------------------------------
'SQL test
SQLConnectW, SQLConnectW, SQLConnect
SQLDriverConnectW, SQLDriverConnectW, SQLDriverConnect
SQLFreeStmtW, SQLFreeStmtW, SQLFreeStmt
SQLDisconnectw, SQLDisconnectW, SQLDisconnect
ExecUpdateW, ExecUpdateW, ExecUpdate
SQLGetDataW, SQLGetDataW, SQLGetData
SQLColAttributeW,SQLColAttributeW,SQLColAttribute
SQLFetchW, SQLFetchW, SQLFetch
ODBC_FetchRowW, ODBC_FetchRow, ODBC_FetchRow
ExecDirectq, ExecDirecW, ExecDirect
SQLExecDirectW, SQLExecDirectW, SQLExecDirect
ExecDirectW, ExecDirectW, ExecDirect


' Entry points.
' Generic name, _UNICODE defined, _UNICODE not defined
_tmain,wmain,main
_tWinMain,wWinMain,WinMain

' Functions for formatted input and output.
' Generic name, _UNICODE defined, _UNICODE not defined
'_stprintf, swprintf ,sprintf,MODIFY2
_stprintf, swprintf ,sprintf
_ftprintf,fwprintf,fprintf
_ftscanf,fwscanf,fscanf
'_stprintf,swprintf,snprintf,MODIFY2
_stprintf,swprintf,snprintf
_sntprintf,swprintf,snprintf
_stscanf,swscanf,sscanf
_vftprintf,vfwprintf,vfprintf
_vftscanf,vfwscanf,vfscanf
_vstprintf,_vsnwprintf,vsnprintf
_vsntprintf,_vsnwprintf,_vsnprintf
_vstscanf,vswscanf,vsscanf
_vtprintf,vwprintf,vprintf
_vtscanf,vwscanf,vscanf
_tprintf,wprintf,printf
_tscanf,wscanf,scanf


' Functions for input and output.
' Generic name, _UNICODE defined, _UNICODE not defined
_fgettc,fgetwc,fgetc
_fgetts,fgetws,fgets
_fputtc,fputwc,fputc
_fputts,fputws,fputs
uni_gets,getws ,gets
_gettc,getwc,getc
_gettchar,getwchar,getchar
_puttc,putwc,putc
_puttchar,putwchar,putchar
_ungettc,ungetwc,ungetc

' String handling.
' Generic name, _UNICODE defined, _UNICODE not defined
_tcscpy,wcscpy,strcpy
_tcsncpy,wcsncpy,strncpy
_tcscat,wcscat,strcat
_tcsncat,wcsncat,strncat
_tcscmp,wcscmp,strcmp
_tcsncmp,wcsncmp,strncmp
_tcsicmp,_wcsicmp,_stricmp
_tcsicmp,_wcsicmp,stricmp
_tcsnicmp,_wcsnicmp,_strnicmp
_tcsnicmp,_wcsnicmp,strnicmp
_tcscoll,wcscoll,strcoll
_tcsxfrm,wcsxfrm,strxfrm
_tcschr,wcschr,strchr
_tcsichr,_wcsichr,_strichr
_tcscspn,wcscspn,strcspn
_tcslen,wcslen,strlen
_tcspbrk,wcspbrk,strpbrk
_tcsrchr,wcsrchr,strrchr
_tcsrichr,_wcsrichr,_strrichr
_tcsspn,wcsspn,strspn
_tcsstr,wcsstr,_strstr
_tcsstr_,wcsstr,strstr
_tcsstr,StrStr,StrStr
_tcsistr,StriStr,StriStr
_tcsistr,_wcsistr,_stristr
_tcsstr_,_wcsstr_,_strstr_
_tcsistr_,_wcsistr_,_stristr_
_tcstok,_wcstok_ms,strtok
_tcsdup,_wcsdup,_strdup
_tcslwr,_wcslwr,_strlwr
_tcslwr,_wcslwr,strlwr
_tcsupr,_wcsupr,_strupr
_tcsupr,_wcsupr,strupr
_tcsnset,_wcsnset,_strnset
_tcsrev,_wcsrev,_strrev
_tmemchr,wmemchr,memchr
_tmemichr,_wmemichr,_memichr
_tmemcmp,wmemcmp,memcmp
_tmemicmp,_wmemicmp,_memicmp
'_tmemcpy,wmemcpy,memcpy
wmemcpy,wmemcpy,memcpy
'_tmemmove,wmemmove,memmove
wmemmove,wmemmove,memmove
'_tmemset,wmemset,memset,CONDITIONAL
wmemset,wmemset,memset


' Functions for character classification.
' Generic name, _UNICODE defined, _UNICODE not defined
_istalnum,iswalnum,isalnum
_istalpha,iswalpha,isalpha
_istcntrl,iswcntrl,iscntrl
_istdigit,iswdigit,isdigit
_istgraph,iswgraph,isgraph
_istlower,iswlower,islower
_istprint,iswprint,isprint
_istpunct,iswpunct,ispunct
_istspace,_iswspace,isspace
_istblank,iswblank,isblank
_istupper,iswupper,isupper
_istxdigit,iswxdigit,isxdigit
_istascii,_iswascii,_isascii
'_totlower,towlower,tolower
towlower,towlower,tolower
'_totupper,towupper,toupper
towupper,towupper,toupper
CharLowerW,CharLowerW,CharLowerA



' Functions for number conversion.
' Generic name, _UNICODE defined, _UNICODE not defined
_itot,_itow,_itoa
itot,itow,itoa
_ltot,_ltow,_ltoi
_ultot,_ultow,_ultoa
_ttoi,_wtoi,atoi
_ttol,_wtol,atol
_ttoll,_wtoll,atoll
_tcstod,wcstod,atof,MODIFY2
_wtof,_wtof,_atof
_tcstod,wcstod,strtod
_tcstof,wcstof,strtof
_tcstold,wcstold,strtold
_tcstol,wcstol,strtol
_tcstoll,wcstoll,strtoll
_tcstoul,wcstoul,strtoul
_tcstoull,wcstoull,strtoull
_tcstoimax,wcstoimax,strtoimax
_tcstoumax,wcstoumax,strtoumax
_ltot,_ltow,ltoa


' Functions for time and date.
' Generic name, _UNICODE defined, _UNICODE not defined
_tcsftime,wcsftime,strftime
_tstrdate,_wcsdate,_strdate
_tstrtime,_wcstime,_strtime
_tutime,_wutime,_utime


' Functions for process control.
' Generic name, _UNICODE defined, _UNICODE not defined
_texecl,_wexecl,_execl
_texecle,_wexecle,_execle
_texeclp,_wexeclp,_execlp
_texeclpe,_wexeclpe,_execlpe
_texecv,_wexecv,_execv
_texecve,_wexecve,_execve
_texecvp,_wexecvp,_execvp
_texecvpe,_wexecvpe,_execvpe
_tspawnl,_wspawnl,_spawnl
_tspawnle,_wspawnle,_spawnle
_tspawnlp,_wspawnlp,_spawnlp
_tspawnlpe,_wspawnlpe,_spawnlpe
_tspawnv,_wspawnv,_spawnv
_tspawnve,_wspawnve,_spawnve
_tspawnvp,_wspawnvp,_spawnvp
_tspawnvpe,_wspawnvpe,_spawnvpe
_tsystem,_wsystem,system


' Functions for directory handling.
' Generic name, _UNICODE defined, _UNICODE not defined
_tchdir,_wchdir,chdir
_tgetcwd,_wgetcwd,_getcwd
_tmkdir,_wmkdir,_mkdir
_trmdir,_wrmdir,_rmdir



' Functions for environment and path.
' Generic name, _UNICODE defined, _UNICODE not defined
_tfullpath,_wfullpath,_fullpath
_tgetenv,_wgetenv,getenv
_tmakepath,_wmakepath,_makepath
_tputenv,_wputenv,_putenv
_tsearchenv,_wsearchenv,_searchenv
_tsplitpath,_wsplitpath,_splitpath
' Assuming _wenviron WMH
_tenviron,_wenviron,_environ

' Functions for file operations.
' Generic name, _UNICODE defined, _UNICODE not defined
_tremove,_wremove,remove
_trename,_wrename,rename
_ttmpnam,_wtmpnam,tmpnam


' Functions for file access.
' Generic name, _UNICODE defined, _UNICODE not defined
_tfdopen,_wfdopen,_fdopen
_tfopen,_wfopen,fopen
_tfreopen,_wfreopen,reopen


' Functions for low-level I/O.
' Generic name, _UNICODE defined, _UNICODE not defined
_taccess,_waccess,_access
_tchmod,_wchmod,_chmod
_tcreat,_wcreat,_creat
_tfindfirst,_wfindfirst,_findfirst
_tfindfirst64,_wfindfirst64,_findfirst64
_tfindnext,_wfindnext,_findnext
_tfindnext64,_wfindnext64,_findnext64
_topen,_wopen,_open
_tsopen,_wsopen,_sopen
_tunlink,_wunlink,_unlink

'LoadLibraryW, LoadLibraryW,LoadLibrary
'No A or W 
'MultiByteToWideCharW,MultiByteToWideCharW,MultiByteToWideChar

'GetProcAddressW,GetProcAddressW,GetProcAddress
mkdirW,mkdirW,mkdir
LPCOORDSYSTEMA,LPCOORDSYSTEMA,LPCOORDSYSTEM
'No A OR W
'WideToAnsiW,WideToAnsiW,WideToAnsi
DialogBoxIndirectW,DialogBoxIndirectW,DialogBoxIndirect
'GetDlgItemTextW,GetDlgItemTextW,GetDlgItemText

' Misc functions.
' Generic name, _UNICODE defined, _UNICODE not defined
_tstat,_wstat,_stat
_tcserror,_wcserror,strerror
_tperror,_wperror,perror

'c++ IO
wcout,wcout,cout
wcin,wcin,cin
_getwch,_getwch,_getch

' Remove these lines
#include <conio.h>, , ,DELETE
#include <direct.h>, , ,$DELELINE
#include <time.h>, , ,DELETE
#include <stddef.h>, , ,DELETE
#include <io.h>, , ,DELETE
#include <process.h>, , ,DELETE
#include <richedit.h>, , ,DELETE
'#include <wchar.h>, , ,DELETE
'#pragma, , ,DELETE
TEXT, , ,DELETE

'--------------------------------------------
' parameters from TCHAT.H not in list
__targv,__wargv,__argv
_ltot,_ltow,_ltoa
_tcstof,wcstof,atof,MODIFY2

'MultiByteToWideCharW,MultiByteToWideCharW,MultiByteToWideChar
'------------------------------------------
' Skip translating line
' From winnls.h

WideCharToMultiByte, , ,SKIP
CompareStringW, , ,SKIP
LCMapStringW, , ,SKIP
GetLocaleInfoW, , ,SKIP
SetLocaleInfoW, , ,SKIP
GetTimeFormatW, , ,SKIP
GetDateFormatW, , ,SKIP
GetNumberFormatW, , ,SKIP
GetCurrencyFormatW, , ,SKIP
GetStringTypeExW, , ,SKIP
GetStringTypeW, , ,SKIP
FoldStringW, , ,SKIP
GetProcAddress, , ,SKIP
'GetProcAddress, , ,SKIP

' From winuser.h
wvsprintfW, , ,SKIP
wsprintfW, , ,SKIP
LoadKeyboardLayoutW, , ,SKIP
ToUnicodeEx, , ,SKIP
GetKeyboardLayoutNameW, , ,SKIP
OpenDesktopW, , ,SKIP
CreateWindowStationW, , ,SKIP
OpenWindowStationW, , ,SKIP
RegisterWindowMessageW, , ,SKIP
UnregisterClassW, , ,SKIP
GetClassInfoW, , ,SKIP
GetClassInfoExW, , ,SKIP
CreateWindowExW, , ,SKIP
CreateDesktopW, , ,SKIP
CreateDialogParamW, , ,SKIP
DialogBoxParamW, , ,SKIP
SetDlgItemTextW, , ,SKIP
GetDlgItemTextW, , ,SKIP
RegisterClipboardFormatW, , ,SKIP
GetClipboardFormatNameW, , ,SKIP
CharToOemW, , ,SKIP
OemToCharW, , ,SKIP
CharToOemBuffW, , ,SKIP
OemToCharBuffW, , ,SKIP
CharUpperW, , ,SKIP
CharUpperBuffW, , ,SKIP
CharLowerW, , ,SKIP
CharLowerBuffW, , ,SKIP
CharNextW, , ,SKIP
CharPrevW, , ,SKIP
GetKeyNameTextW, , ,SKIP
ToUnicode, , ,SKIP
LoadAcceleratorsW, , ,SKIP
LoadMenuW, , ,SKIP
ChangeMenuW, , ,SKIP
GetMenuStringW, , ,SKIP
InsertMenuW, , ,SKIP
AppendMenuW, , ,SKIP
ModifyMenuW, , ,SKIP
DrawTextW, , ,SKIP
DrawTextExW, , ,SKIP
TabbedTextOutW, , ,SKIP
GetTabbedTextExtentW, , ,SKIP
SetPropW, , ,SKIP
GetPropW, , ,SKIP
RemovePropW, , ,SKIP
SetWindowTextW, , ,SKIP
GetWindowTextW, , ,SKIP
MessageBoxW, , ,SKIP
MessageBoxExW, , ,SKIP
FindWindowW, , ,SKIP
FindWindowExW, , ,SKIP
GetClassNameW, , ,SKIP
LoadBitmapW, , ,SKIP
LoadCursorW, , ,SKIP
LoadCursorFromFileW, , ,SKIP
LoadIconW, , ,SKIP
LoadImageW, , ,SKIP
'LoadStringW, , ,SKIP
DlgDirListW, , ,SKIP
DlgDirSelectExW, , ,SKIP
DlgDirListComboBoxW, , ,SKIP
DlgDirSelectComboBoxExW, , ,SKIP
CreateMDIWindowW, , ,SKIP
WinHelpW, , ,SKIP
ChangeDisplaySettingsEx, , ,SKIP
ChangeDisplaySettingsExW, , ,SKIP
EnumDisplaySettingsW, , ,SKIP
EnumDisplaySettingsExW, , ,SKIP
EnumDisplayDevicesW, , ,SKIP
GetModuleFileNameW,GetModuleFileNameW ,GetModuleFileName 
',SKIP
RealGetWindowClassW, , ,SKIP
GetAltTabInfoW, , ,SKIP
#pragma, , ,SKIP
GetProcAddress, , ,SKIP
'------------------------------------------
' Erase functions
WideToAnsi, , ,ERASEF
'AnsiToWide, , ,ERASEF
LoadFile, , ,ERASEF

'------------------------------------------
' Erase constants
ICC_INTERNET_CLASSES, , ,ERASEC
'CS_OWNDC, , ,ERASEC
RBBIM_HEADERSIZE, , ,ERASEC












