home *** CD-ROM | disk | FTP | other *** search
- /*
- * C/C++ Run Time Library - Version 10.0
- *
- * Copyright (c) 1995, 2000 by Inprise Corporation
- * All Rights Reserved.
- *
- */
-
- /* $Revision: 9.21 $ */
-
- #if !defined(__TCHAR_H)
- #define __TCHAR_H
- #define _INC_TCHAR /* MSC Guard name */
-
- #ifndef ___STDDEF_H
- #include <_stddef.h>
- #endif
-
- /*
- This file is parsed with a tool that will spit out a table of
- function mappings for the online help. The format is as follows:
-
- Inside a single-line slash-star comment, there will be a command:
-
- @+(col_name[,col]) ..descrip.. Define (start) current column block(s)
- @- Stop the current block(s)
- @:..descrip.. Change description for the current block(s)
- @!:portable_name Adds in a brute force entry with no equiv.
- @!(portable_name,cur_col_name) Adds in a brute force entry
-
- The lines following these commands will then be processed:
- #define portable_name cur_col_name
- typedef cur_col_name portable_name
-
- #defines that are macros (have parens) or are more than two words are
- ignored.
- */
-
- #if defined(__USING_CNAME__)
- # undef __USING_CNAME__
- # include <string.h>
- # define __USING_CNAME__
- #else
- # include <string.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if defined(_MBCS) && !defined(__MBSTRING_H)
- #include <mbstring.h>
- #endif
-
- #if !defined(_UNICODE)
-
- #ifdef __cplusplus
- namespace std {
- #endif
-
- /* @+(SBCS) Types */
-
- #if !defined(_MBCS)
-
- #ifndef __TCHAR_DEFINED
- typedef char _TCHAR;
- typedef signed char _TSCHAR;
- typedef unsigned char _TUCHAR;
- typedef char _TXCHAR;
- typedef int _TINT;
- #define __TCHAR_DEFINED
- #endif
- #endif /* _MBCS */
-
- #ifdef __cplusplus
- } // std
- #endif
-
- /* @: misc. functions */
-
- #define _tfdopen _fdopen
- #define _fputtchar _fputchar
- #define _fgettchar _fgetchar
- #define _tmktemp _mktemp
- #define _tunlink _unlink
- #define _ttempnam _tempnam
- #define _trmdir _rmdir
- #define _tmkdir _mkdir
- #define _tutime _utime
- #define _ltot _ltoa
- #define _tsopen _sopen
-
- /* @: program specific functions */
-
- #define _tmain main
- #define _tWinMain WinMain
- #define _tenviron _environ
- #define _targv _argv
-
- /* @: path/environment specific functions */
-
- #define _tfullpath _fullpath
- #define _tmakepath _makepath
- #define _tsplitpath _splitpath
- #define _tsearchpath searchpath
- #define _tsearchenv _searchenv
- #define _tsearchstr _searchstr
- #define _tgetenv getenv
- #define _tputenv putenv
- #define _tfnsplit fnsplit
- #define _tfnmerge fnmerge
-
- /* @: directory functions */
-
- #define _topendir opendir
- #define _treaddir readdir
- #define _trewinddir rewinddir
- #define _tclosedir closedir
- #define _tDIR DIR
- #define _tdirent dirent
-
- /* @: stdio functions */
-
- #define _tpopen _popen
- #define _tfsopen _fsopen
- #define _tfopen fopen
- #define _tfreopen freopen
- #define _tperror perror
- #define _ttmpnam tmpnam
-
- /* @: time functions */
-
- #define _tstrdate _strdate
- #define _tstrtime _strtime
- #define _tasctime asctime
- #define _tctime ctime
- #define _tcsftime strftime
- #define _ttzset _tzset
- #define _ttzname _tzname
-
- /* @: I/O functions */
-
- #define _taccess access
- #define _tchmod chmod
- #define _trtl_open _rtl_open
- #define _trtl_creat _rtl_creat
- #define _trtl_chmod _rtl_chmod
- #define _tcreat creat
- #define __tcreat _creat
- #define _tfindfirst findfirst
- #define _tfindnext findnext
- #define _tfindclose findclose
- #define __tfindfirsti64 _findfirsti64
- #define __tfindnexti64 _findnexti64
- #define __tfinddatai64_t _finddatai64_t
- #define __tfinddata_t _finddata_t
-
- #define __tfindfirst _findfirst
- #define __tfindnext _findnext
- #define _topen open
- #define __topen _open
- #define _tremove remove
- #define _trename rename
-
- #define _tffblk ffblk
-
- /* @: string conversion functions */
-
- #define _ttof atof
- #define _ttoi atoi
- #define _ttol atol
- #define _ttoi64 _atoi64
- #define _ttold _atold
- #define _tcstod strtod
- #define _tcstol strtol
- #define _tcstold _strtold
- #define _tcstoul strtoul
- #define _itot itoa
- #define _ultot ultoa
- #define _i64tot _i64toa
- #define _ui64tot _ui64toa
-
- /* @: generic string functions */
-
- #define _tcscat strcat
- #define _tcscpy strcpy
- #define _tcspcpy _stpcpy
- #define _tcslen strlen
- #define _tcsdup strdup
-
- /* @: directory functions */
-
- #define _tchdir chdir
- #define _tgetcurdir getcurdir
- #define _tgetcwd getcwd
- #define _tgetdcwd _getdcwd
-
- /* @: process execution functions */
-
- #define _texecl execl
- #define _texecle execle
- #define _texeclp execlp
- #define _texeclpe execlpe
- #define _texecv execv
- #define _texecve execve
- #define _texecvp execvp
- #define _texecvpe execvpe
-
- #define _tspawnl spawnl
- #define _tspawnle spawnle
- #define _tspawnlp spawnlp
- #define _tspawnlpe spawnlpe
- #define _tspawnv spawnv
- #define _tspawnve spawnve
- #define _tspawnvp spawnvp
- #define _tspawnvpe spawnvpe
-
- #define _tsystem system
-
- /* @: unformated I/O */
-
- #define _fgettc fgetc
- #define _fgetts fgets
- #define _fputtc fputc
- #define _fputts fputs
- #define _gettc getc
- #define _gettchar getchar
- #define _getts gets
- #define _puttc putc
- #define _puttchar putchar
- #define _putts puts
- #define _ungettc ungetc
-
- /* @: formated I/O functions */
-
- #define _ftprintf fprintf
- #define _tprintf printf
- #define _stprintf sprintf
- #define _vtprintf vprintf
- #define _vftprintf vfprintf
- #define _vstprintf vsprintf
- #define _sntprintf snprintf
- #define _vsntprintf vsnprintf
- #define __sntprintf _snprintf // MSC compat.
- #define __vsntprintf _vsnprintf // MSC compat.
-
-
- #define _tscanf scanf
- #define _stscanf sscanf
- #define _ftscanf fscanf
- #define _vstscanf vsscanf
- #define _vtscanf vscanf
- #define _vftscanf vfscanf
-
- /* @: stat functions */
-
- #define _tstat _stat
- #define _tstati64 _stati64
-
- /* @: setlocale functions */
-
- #define _tsetlocale setlocale
-
- /* @: memory functions */
-
- #define _tmemcpy memcpy
- #define _tmemchr memchr
- #define _tmemset memset
-
- /* @: generic text macros */
- /* @!:__T */
- /* @!:_TEXT */
- /* @!:_T */
-
- #define __T(__x) __x
- #define _TEXT(__x) __T(__x)
- #define _T(__x) __T(__x)
- #define _TEOF EOF
-
- #if defined(_MBCS)
-
- /* ----------------- MBCS functions -------------------------- */
-
- #ifdef __cplusplus
- namespace std {
- #endif
-
- /* @+(MBCS) Types */
-
- #ifndef __TCHAR_DEFINED
- typedef char _TCHAR;
- typedef signed char _TSCHAR;
- typedef unsigned char _TUCHAR;
- typedef unsigned char _TXCHAR;
- /* typedef unsigned int _TINT; */ /* HACK: for now */
- typedef int _TINT;
- #define __TCHAR_DEFINED
- #endif
-
- #ifdef __cplusplus
- } // std
- #endif
-
- #ifdef _MBC_USE_MACROS
- /* @: string functions */
-
- #define _tcschr _mbschr
- #define _tcscspn _mbscspn
- #define _tcsncat _mbsnbcat
- #define _tcsncpy _mbsnbcpy
- #define _tcspbrk _mbspbrk
- #define _tcsrchr _mbsrchr
- #define _tcsspn _mbsspn
- #define _tcsstr _mbsstr
- #define _tcstok _mbstok
-
- #define _tcsset _mbsset
- #define _tcsnset _mbsnbset
- #define _tcsrev _mbsrev
- #define _tcscmp _mbscmp
- #define _tcsicmp _mbsicmp
- #define _tcsncmp _mbsnbcmp
- #define _tcsnicmp _mbsnbicmp
- #define _tcsnccmp _mbsncmp
- #define _tcsncicmp _mbsnicmp
-
- /* todo : correct the mapping of these functions and add the new functions */
- #define _tcscoll _mbscoll
- #define _tcsncoll _mbsnbcoll
- #define _tcsnccoll _mbsncoll
- #define _tcsicoll _mbsicoll
- #define _tcsnicoll _mbsnbicoll
- #define _tcsncicoll _mbsnicoll
-
- /* @: logical-character functions */
-
- #define _tcsclen _mbslen
- #define _tcsnccat _mbsncat
- #define _tcsnccpy _mbsncpy
- #define _tcsncset _mbsnset
-
- /* @: misc. functions */
-
- #define _tcsdec _mbsdec
- #define _tcsinc _mbsinc
- #define _tcsnbcnt _mbsnbcnt
- #define _tcsnccnt _mbsnccnt
- #define _tcsnextc _mbsnextc
- #define _tcsninc _mbsninc
- #define _tcsspnp _mbsspnp
-
- #define _tcslwr _mbslwr
- #define _tcsupr _mbsupr
-
- #define _tclen _mbclen
- #define _tccpy _mbccpy
-
- /* @!(_tccmp,_mbsncmp) */
- /* @- */
- #define _tccmp(__a,__b) _mbsncmp(__a,__b,1)
-
- #else /* _MBC_USE_MACROS */
-
- #if (!defined ( __cplusplus) || defined( _NO_INLINING ))
-
- /* String functions */
-
- char * _RTLENTRY _EXPFUNC _tcschr(const char *, unsigned int);
- _SIZE_T _RTLENTRY _EXPFUNC _tcscspn(const char *, const char *);
- char * _RTLENTRY _EXPFUNC _tcsncat(char *, const char *, _SIZE_T);
- char * _RTLENTRY _EXPFUNC _tcsncpy(char *, const char *, _SIZE_T);
- char * _RTLENTRY _EXPFUNC _tcspbrk(const char *, const char *);
- char * _RTLENTRY _EXPFUNC _tcsrchr(const char *, int);
- _SIZE_T _RTLENTRY _EXPFUNC _tcsspn(const char *, const char *);
- char * _RTLENTRY _EXPFUNC _tcsstr(const char *, const char *);
- char * _RTLENTRY _EXPFUNC _tcstok(char *, const char *);
-
- char * _RTLENTRY _EXPFUNC _tcsnset(char *, unsigned int, _SIZE_T);
- char * _RTLENTRY _EXPFUNC _tcsrev(char *);
- char * _RTLENTRY _EXPFUNC _tcsset(char *, unsigned int);
-
- int _RTLENTRY _EXPFUNC _tcscmp(const char *, const char *);
- int _RTLENTRY _EXPFUNC _tcsicmp(const char *, const char *);
- int _RTLENTRY _EXPFUNC _tcsnccmp(const char *, const char *, _SIZE_T);
- int _RTLENTRY _EXPFUNC _tcsncmp(const char *, const char *, _SIZE_T);
- int _RTLENTRY _EXPFUNC _tcsncicmp(const char *, const char *, _SIZE_T);
- int _RTLENTRY _EXPFUNC _tcsnicmp(const char *, const char *, _SIZE_T);
-
- int _RTLENTRY _EXPFUNC _tcscoll(const char *, const char *);
- int _RTLENTRY _EXPFUNC _tcsicoll(const char *, const char *);
- int _RTLENTRY _EXPFUNC _tcsnccoll(const char *, const char *, _SIZE_T);
- int _RTLENTRY _EXPFUNC _tcsncoll(const char *, const char *, _SIZE_T);
- int _RTLENTRY _EXPFUNC _tcsncicoll(const char *, const char *, _SIZE_T);
- int _RTLENTRY _EXPFUNC _tcsnicoll(const char *, const char *, _SIZE_T);
-
-
- /* "logical-character" functions */
-
- _SIZE_T _RTLENTRY _EXPFUNC _tcsclen(const char *);
- char * _RTLENTRY _EXPFUNC _tcsnccat(char *, const char *, _SIZE_T);
- char * _RTLENTRY _EXPFUNC _tcsnccpy(char *, const char *, _SIZE_T);
- char * _RTLENTRY _EXPFUNC _tcsncset(char *, unsigned int, _SIZE_T);
-
-
- /* MBCS-specific functions */
-
- char * _RTLENTRY _EXPFUNC _tcsdec(const char *, const char *);
- char * _RTLENTRY _EXPFUNC _tcsinc(const char *);
- _SIZE_T _RTLENTRY _EXPFUNC _tcsnbcnt(const char *, _SIZE_T);
- _SIZE_T _RTLENTRY _EXPFUNC _tcsnccnt(const char *, _SIZE_T);
- unsigned int _RTLENTRY _EXPFUNC _tcsnextc (const char *);
- char * _RTLENTRY _EXPFUNC _tcsninc(const char *, _SIZE_T);
- char * _RTLENTRY _EXPFUNC _tcsspnp(const char *, const char *);
-
- char * _RTLENTRY _EXPFUNC _tcslwr(char *);
- char * _RTLENTRY _EXPFUNC _tcsupr(char *);
-
- _SIZE_T _RTLENTRY _EXPFUNC _tclen(const char *);
- void _RTLENTRY _EXPFUNC _tccpy(char *, const char *);
- int _RTLENTRY _EXPFUNC _tccmp(const char *, const char *);
-
- #else /* (!defined( __cplusplus) || defined( _NO_INLINING )) */
-
- inline char * _tcschr(const char * __s1,unsigned int __c) {return (char *)_mbschr((const unsigned char *)__s1,__c);}
- inline _SIZE_T _tcscspn(const char * __s1,const char * __s2) {return _mbscspn((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline char * _tcsncat(char * __s1,const char * __s2,_SIZE_T __n) {return (char *)_mbsnbcat((unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline char * _tcsncpy(char * __s1,const char * __s2,_SIZE_T __n) {return (char *)_mbsnbcpy((unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline char * _tcspbrk(const char * __s1,const char * __s2) {return (char *)_mbspbrk((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline char * _tcsrchr(const char * __s1,unsigned int __c) {return (char *)_mbsrchr((const unsigned char *)__s1,__c);}
- inline _SIZE_T _tcsspn(const char * __s1,const char * __s2) {return _mbsspn((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline char * _tcsstr(const char * __s1,const char * __s2) {return (char *)_mbsstr((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline char * _tcstok(char * __s1,const char * __s2) {return (char *)_mbstok((unsigned char *)__s1,(const unsigned char *)__s2);}
-
- inline char * _tcsnset(char * __s1,unsigned int __c,_SIZE_T __n) {return (char *)_mbsnbset((unsigned char *)__s1,__c,__n);}
- inline char * _tcsrev(char * __s1) {return (char *)_mbsrev((unsigned char *)__s1);}
- inline char * _tcsset(char * __s1,unsigned int __c) {return (char *)_mbsset((unsigned char *)__s1,__c);}
-
- inline int _tcscmp(const char * __s1,const char * __s2) {return _mbscmp((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline int _tcsicmp(const char * __s1,const char * __s2) {return _mbsicmp((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline int _tcsnccmp(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsncmp((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline int _tcsncmp(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsnbcmp((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline int _tcsncicmp(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsnicmp((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline int _tcsnicmp(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsnbicmp((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
-
- inline int _tcscoll(const char * __s1,const char * __s2) {return _mbscoll((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline int _tcsicoll(const char * __s1,const char * __s2) {return _mbsicoll((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline int _tcsnccoll(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsncoll((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline int _tcsncoll(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsnbcoll((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline int _tcsncicoll(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsnicoll((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline int _tcsnicoll(const char * __s1,const char * __s2,_SIZE_T __n) {return _mbsnbicoll((const unsigned char *)__s1,(const unsigned char *)__s2,__n);}
-
-
- /* logical-character functions */
-
- inline _SIZE_T _tcsclen(const char * __s1) {return _mbslen((const unsigned char *)__s1);}
- inline char * _tcsnccat(char * __s1,const char * __s2,_SIZE_T __n) {return (char *)_mbsncat((unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline char * _tcsnccpy(char * __s1,const char * __s2,_SIZE_T __n) {return (char *)_mbsncpy((unsigned char *)__s1,(const unsigned char *)__s2,__n);}
- inline char * _tcsncset(char * __s1,unsigned int __c,_SIZE_T __n) {return (char *)_mbsnset((unsigned char *)__s1,__c,__n);}
-
-
- /* MBCS-specific functions */
-
- inline char * _tcsdec(const char * __s1,const char * __s2) {return (char *)_mbsdec((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline char * _tcsinc(const char * __s1) {return (char *)_mbsinc((const unsigned char *)__s1);}
- inline _SIZE_T _tcsnbcnt(const char * __s1,_SIZE_T __n) {return _mbsnbcnt((const unsigned char *)__s1,__n);}
- inline _SIZE_T _tcsnccnt(const char * __s1,_SIZE_T __n) {return _mbsnccnt((const unsigned char *)__s1,__n);}
-
- inline unsigned int _tcsnextc(const char * __s1)
- {
- const unsigned char *__p = (const unsigned char *) __s1;
- return (_ismbblead(*__p)) ? (((unsigned int)*__p << 8) | __p[0]) : *__p;
- }
-
- inline char * _tcsninc(const char * __s1,_SIZE_T __n) {return (char *)_mbsninc((const unsigned char *)__s1,__n);}
- inline char * _tcsspnp(const char * __s1,const char * __s2) {return (char *)_mbsspnp((const unsigned char *)__s1,(const unsigned char *)__s2);}
- inline char * _tcslwr(char * __s1) {return (char *)_mbslwr((unsigned char *)__s1);}
- inline char * _tcsupr(char * __s1) {return (char *)_mbsupr((unsigned char *)__s1);}
-
- inline _SIZE_T _tclen(const char * __s1) {return _mbclen((const unsigned char *)__s1);}
- inline void _tccpy(char * __s1,const char * __s2) {_mbccpy((unsigned char *)__s1,(const unsigned char *)__s2); return;}
- inline int _tccmp(const char *__s1, const char *__s2){ return _mbsncmp((const unsigned char *)__s1,(const unsigned char *)__s2,1);}
-
- #endif /* (!defined ( __cplusplus) || defined( _NO_INLINING )) */
-
- #endif /* _MBC_USE_MACROS */
-
- /* @+(MBCS) comparison functions */
-
- #define _tcscmpi _tcsicmp
- #define _tcsncmpi _tcsnicmp
-
- /* @: ctype functions */
-
- #define _istalnum _ismbcalnum
- #define _istalpha _ismbcalpha
- #define _istdigit _ismbcdigit
- #define _istgraph _ismbcgraph
- #define _istlower _ismbclower
- #define _istprint _ismbcprint
- #define _istpunct _ismbcpunct
- #define _istspace _ismbcspace
- #define _istupper _ismbcupper
- #define _istlegal _ismbclegal
-
- #define _totlower _mbctolower
- #define _totupper _mbctoupper
-
- #define _istlead _ismbblead
- #define _istleadbyte _ismbblead
-
- /* @- */
- #else /* _MBCS */
-
- /* ------------------- SBCS functions ----------------------- */
-
-
- /* @+(SBCS) string functions */
-
- #define _tcschr strchr
- #define _tcscspn strcspn
- #define _tcsncpy strncpy
- #define _tcsncat strncat
- #define _tcspbrk strpbrk
- #define _tcsrchr strrchr
- #define _tcsspn strspn
- #define _tcsstr strstr
- #define _tcstok strtok
-
- #define _tcsnset strnset
- #define _tcsrev strrev
- #define _tcsset strset
-
- #define _tcscmp strcmp
- #define _tcsicmp stricmp
- #define _tcsnccmp strncmp
- #define _tcsncmp strncmp
- #define _tcsncicmp strnicmp
- #define _tcsnicmp strnicmp
- #define _tcscmpi strcmpi
- #define _tcsncmpi strncmpi
-
- #define _tcscoll strcoll
- #define _tcsicoll _stricoll
- #define _tcsnccoll _strncoll
- #define _tcsncoll _strncoll
- #define _tcsncicoll _strnicoll
- #define _tcsnicoll _strnicoll
- #define _tcsxfrm strxfrm
-
- #define _ltcscoll _lstrcoll
- #define _ltcsicoll _lstricoll
- #define _ltcsnccoll _lstrncoll
- #define _ltcsncoll _lstrncoll
- #define _ltcsncicoll _lstrnicoll
- #define _ltcsnicoll _lstrnicoll
- #define _ltcsxfrm _lstrxfrm
-
- /* A few MBCS-like functions */
-
- #define _tcsdec _strdec
- #define _tcsinc _strinc
- #define _tcsnbcnt _strncnt
- #define _tcsnccnt _strncnt
- #define _tcsnextc _strnextc
- #define _tcsninc _strninc
- #define _tcsspnp _strspnp
-
- #define _tcslwr strlwr
- #define _tcsupr strupr
-
- /* @!:_istlegal */
- /* @!:_istlead */
- /* @!:_istleadbyte */
-
- #define _istlegal(__a) (1)
- #define _istlead(__a) (0)
- #define _istleadbyte(__a) (0)
-
-
- #if (!defined ( __cplusplus) || defined( _NO_INLINING ))
-
- /* @!:_tclen */
- /* @!:_tccpy */
- /* @!:_tccmp */
-
- #define _tclen(__a) (1)
- #define _tccpy(__a,__b) ((*(__a))=(*(__b)))
- #define _tccmp(__a,__b) ((*(__a))-(*(__b)))
-
- #else /* (!defined ( __cplusplus) || defined( _NO_INLINING )) */
-
- inline _SIZE_T _RTLENTRY _tclen(const char *__s ){return (1); }
- inline void _RTLENTRY _tccpy(char *__s1, const char *__s2) {*(__s1) = *(__s2); }
- inline int _RTLENTRY _tccmp(const char *__s1, const char *__s2){ return (int) ( ((unsigned char*)__s1)-((unsigned char*)__s2)); }
-
- #endif /* (!defined ( __cplusplus) || defined( _NO_INLINING )) */
-
- /* @: logical-character functions */
-
- #define _tcsclen strlen
- #define _tcsnccat strncat
- #define _tcsnccpy strncpy
- #define _tcsncset strnset
-
- /* @: ctype functions */
-
- #define _istalnum isalnum
- #define _istalpha isalpha
- #define _istdigit isdigit
- #define _istgraph isgraph
- #define _istlower islower
- #define _istprint isprint
- #define _istpunct ispunct
- #define _istspace isspace
- #define _istupper isupper
- #define _istascii isascii
- #define _istcntrl iscntrl
- #define _istxdigit isxdigit
-
- #define _totlower tolower
- #define _totupper toupper
-
- #if (!defined (__cplusplus) || defined( _NO_INLINING ))
-
- #define _strinc(__a) ((__a)+1)
- #define _strdec(__a, __b) ((__b)-1)
- #define _strnextc(__a) ((unsigned int) ((__a) ? (__a)[0] : 0))
- #define _strninc(__a, __b) ((__a)+(__b))
- #define _strncnt(__a, __b) ((strlen(__a)>__b) ? __b : strlen(__a))
- #define _strspnp(__a, __b) ((*((__a)+strspn(__a,__b))) ? ((__a)+strspn(__a,__b)) : NULL)
-
- #else /* (!defined( __cplusplus) || defined( _NO_INLINING )) */
-
- inline char * _RTLENTRY strinc(const char * __s) { return (char *)(__s+1); }
- inline char * _RTLENTRY strdec(const char * __s1, const char * __s2) { return (char *)(__s1,(__s2-1)); }
-
- inline char * _RTLENTRY _strinc(const char * __s) { return (char *)(__s+1); }
- inline char * _RTLENTRY _strdec(const char * __s1, const char * __s2) { return (char *)(__s1,(__s2-1)); }
- inline unsigned int _RTLENTRY _strnextc(const char *__s) { return (unsigned int) (__s ? __s[0] : 0); }
- inline char * _RTLENTRY _strninc(const char * __s, _SIZE_T __n) { return (char *)(__s+__n); }
- inline _SIZE_T _RTLENTRY _strncnt( const char * __s, _SIZE_T __n) { _SIZE_T __len; __len = strlen(__s); return (__len>__n) ? __n : __len; }
- inline char * _RTLENTRY _strspnp( const char * __s1, const char * __s2) { return (*(__s1 += strspn(__s1,__s2))!='\0') ? (char*)__s1 : NULL; }
-
- #endif /* (!defined (__cplusplus) || defined( _NO_INLINING )) */
-
- #endif /* _MBCS */
-
- /* @- */
-
- #else /* _UNICODE */
-
- #ifdef __cplusplus
- namespace std {
- #endif
-
- /* @+(UNICODE) types */
-
- #ifndef __TCHAR_DEFINED
- typedef wchar_t _TCHAR;
- typedef wchar_t _TSCHAR;
- typedef wchar_t _TUCHAR;
- typedef wchar_t _TXCHAR;
- typedef _WINT_T _TINT;
- #define __TCHAR_DEFINED
- #endif
-
- #ifdef __cplusplus
- } // std
- #endif
-
- /* @: generic text macros */
- /* @!:__T */
- /* @!:_TEXT */
- /* @!:_T */
-
- #define _TEOF WEOF
- #define __T(__x) L ## __x
- #define _TEXT(__x) __T(__x)
- #define _T(__x) __T(__x)
-
- /* @: string functions */
-
- #define _tcschr wcschr
- #define _tcscspn wcscspn
- #define _tcsncpy wcsncpy
- #define _tcsncat wcsncat
- #define _tcspbrk wcspbrk
- #define _tcsrchr wcsrchr
- #define _tcsspn wcsspn
- #define _tcsstr wcsstr
- #define _tcstok wcstok
- #define _tcsnset _wcsnset
- #define _tcsrev _wcsrev
- #define _tcsset _wcsset
- #define _tcscmp wcscmp
- #define _tcsicmp _wcsicmp
- #define _tcsnccmp wcsncmp
- #define _tcsncmp wcsncmp
- #define _tcsnicmp _wcsnicmp
- #define _tcsncicmp _wcsnicmp
- #define _tcscmpi wcscmpi
- #define _tcsncmpi wcsncmpi
- #define _tcscat wcscat
- #define _tcscpy wcscpy
- #define _tcspcpy _wcspcpy
- #define _tcslen wcslen
- #define _tcsdup _wcsdup
- #define _tcslwr _wcslwr
- #define _tcsupr _wcsupr
- #define _totlower towlower
- #define _totupper towupper
-
-
- #define _tcsdec _wcsdec
- #define _tcsinc _wcsinc
- #define _tcsnbcnt _wcsncnt
- #define _tcsnccnt _wcsncnt
- #define _tcsnextc _wcsnextc
- #define _tcsninc _wcsninc
- #define _tcsspnp _wcsspnp
-
- #define _tcscoll wcscoll
- #define _tcsicoll _wcsicoll
- #define _tcsnccoll _wcsncoll
- #define _tcsncoll _wcsncoll
- #define _tcsncicoll _wcsnicoll
- #define _tcsnicoll _wcsnicoll
- #define _tcsxfrm wcsxfrm
-
- #define _ltcscoll _lwcscoll
- #define _ltcsicoll _lwcsicoll
- #define _ltcsnccoll _lwcsncoll
- #define _ltcsncoll _lwcsncoll
- #define _ltcsncicoll _lwcsnicoll
- #define _ltcsnicoll _lwcsnicoll
- #define _ltcsxfrm _lwcsxfrm
-
- /* @: time functions */
-
- #define _tasctime _wasctime
- #define _tutime _wutime
- #define _tctime _wctime
- #define _tstrdate _wstrdate
- #define _tstrtime _wstrtime
- #define _tcsftime wcsftime
- #define _ttzset _wtzset
- #define _ttzname _wtzname
-
- /* @: ctype functions */
-
- #define _istalnum iswalnum
- #define _istalpha iswalpha
- #define _istdigit iswdigit
- #define _istgraph iswgraph
- #define _istlower iswlower
- #define _istprint iswprint
- #define _istpunct iswpunct
- #define _istspace iswspace
- #define _istupper iswupper
- #define _istascii iswascii
- #define _istcntrl iswcntrl
- #define _istxdigit iswxdigit
-
- /* @!:_istlegal */
- /* @!:_istlead */
- /* @!:_istleadbyte */
-
- #define _istlegal(__a) (1)
- #define _istlead(__a) (0)
- #define _istleadbyte(__a) (0)
-
- /* @: process execution functions */
-
- #define _texecl _wexecl
- #define _texecle _wexecle
- #define _texeclp _wexeclp
- #define _texeclpe _wexeclpe
- #define _texecv _wexecv
- #define _texecve _wexecve
- #define _texecvp _wexecvp
- #define _texecvpe _wexecvpe
-
- #define _tspawnl _wspawnl
- #define _tspawnle _wspawnle
- #define _tspawnlp _wspawnlp
- #define _tspawnlpe _wspawnlpe
- #define _tspawnv _wspawnv
- #define _tspawnve _wspawnve
- #define _tspawnvp _wspawnvp
- #define _tspawnvp _wspawnvp
- #define _tspawnvpe _wspawnvpe
-
- #define _tsystem _wsystem
-
- /* @: path/environment specific functions */
-
- #define _tfullpath _wfullpath
- #define _tsplitpath _wsplitpath
- #define _tfnsplit _wfnsplit
- #define _tfnmerge _wfnmerge
- #define _tmakepath _wmakepath
- #define _tsearchpath wsearchpath
- #define _tsearchenv _wsearchenv
- #define _tsearchstr _wsearchstr
- #define _tgetenv _wgetenv
- #define _tputenv _wputenv
-
- /* @: I/O functions */
-
- #define _taccess _waccess
- #define _tchmod _wchmod
- #define _trtl_open _wrtl_open
- #define _trtl_creat _wrtl_creat
- #define _trtl_chmod _wrtl_chmod
- #define _tcreat _wcreat
- #define __tcreat __wcreat
- #define _tfindfirst _wfindfirst
- #define _tfindnext _wfindnext
- #define _tfindclose _wfindclose
- #define __tfindfirsti64 _wfindfirsti64
- #define __tfindnexti64 _wfindnexti64
- #define __tfinddatai64_t _wfinddatai64_t
- #define __tfinddata_t _wfinddata_t
- #define __tfindfirst __wfindfirst
- #define __tfindnext __wfindnext
-
- #define _tmktemp _wmktemp
- #define _topen _wopen
- #define __topen __wopen
- #define _tremove _wremove
- #define _trename _wrename
- #define _tsopen _wsopen
- #define _tunlink _wunlink
-
- #define _tffblk _wffblk
-
- /* @: directory functions */
-
- #define _topendir wopendir
- #define _treaddir wreaddir
- #define _trewinddir wrewinddir
- #define _tclosedir wclosedir
- #define _tDIR wDIR
- #define _tdirent wdirent
-
- /* @: stdio functions */
-
- #define _tpopen _wpopen
- #define _tfopen _wfopen
- #define _tfsopen _wfsopen
- #define _tfreopen _wfreopen
- #define _tfdopen _wfdopen
- #define _tperror _wperror
- #define _ttmpnam _wtmpnam
- #define _ttempnam _wtempnam
-
- /* @: program specific functions */
-
- #define _tmain wmain
- #define _tWinMain wWinMain
- #define _tenviron _wenviron
- #define _targv _wargv
-
- /* @: directory functions */
-
- #define _tchdir _wchdir
- #define _tgetcurdir _wgetcurdir
- #define _tgetcwd _wgetcwd
- #define _tgetdcwd _wgetdcwd
- #define _tmkdir _wmkdir
- #define _trmdir _wrmdir
-
- /* @: string conversion functions */
-
- #define _ttof _wtof
- #define _ttoi _wtoi
- #define _ttol _wtol
- #define _ttoi64 _wtoi64
- #define _ttold _wtold
- #define _tcstod wcstod
- #define _tcstol wcstol
- #define _tcstold _wcstold
- #define _tcstoul wcstoul
- #define _itot _itow
- #define _ltot _ltow
- #define _ultot _ultow
- #define _i64tot _i64tow
- #define _ui64tot _ui64tow
-
- /* @: stat functions */
-
- #define _tstat _wstat
- #define _tstati64 _wstati64
-
- /* @: setlocale functions */
-
- #define _tsetlocale _wsetlocale
-
- /* @: memory functions */
-
- #define _tmemcpy _wmemcpy
- #define _tmemchr _wmemchr
- #define _tmemset _wmemset
-
- /* @: unformated I/O */
-
- #define _fgettc fgetwc
- #define _gettc getwc
- #define _fputtc fputwc
- #define _puttc putwc
- #define _fgettchar _fgetwchar
- #define _fgetts fgetws
- #define _fputtchar _fputwchar
- #define _puttchar putwchar
- #define _getts _getws
- #define _fputts fputws
- #define _gettchar getwchar
- #define _putts _putws
- #define _ungettc ungetwc
-
- /* @: formated I/O */
-
- #define _tprintf wprintf
- #define _vstprintf vswprintf
- #define _stprintf swprintf
- #define _ftprintf fwprintf
- #define _vftprintf vfwprintf
- #define _vtprintf vwprintf
- #define _sntprintf snwprintf
- #define _vsntprintf vsnwprintf
- #define __sntprintf _snwprintf // MSC compat.
- #define __vsntprintf _vsnwprintf // MSC compat.
-
-
- #define _tscanf wscanf
- #define _stscanf swscanf
- #define _vstscanf vswscanf
- #define _vtscanf vwscanf
- #define _vftscanf vfwscanf
- #define _ftscanf fwscanf
-
-
- #define _wcsinc(__a) ((__a)+1)
- #define _wcsdec(__a, __b) ((__b)-1)
- #define _wcsnextc(__a) ((wchar_t) ((__a) ? (__a)[0] : 0))
- #define _wcsninc(__a, __b) ((__a)+(__b))
- #define _wcsncnt(__a, __b) ((wcslen(__a)>__b) ? __b : wcslen(__a))
- #define _wcsspnp(__a, __b) ((*((__a)+wcsspn(__a,__b))) ? ((__a)+wcsspn(__a,__b)) : NULL)
-
- /* @- */
-
- #endif /* _UNICODE */
-
- #define __targv _targv /* MS Compatibility */
-
- #ifdef __cplusplus
- }
- using std::_TCHAR;
- using std::_TSCHAR;
- using std::_TUCHAR;
- using std::_TXCHAR;
- using std::_TINT;
- #endif
-
- #endif /* __TCHAR_H */
-