/********************************************** * Microsoft System Management Server * * Copyright(c) Microsoft Corp., 1994 * **********************************************/ /* DBCS definitions // dbcsstr.h - Definistions about DBCS // // Purpose: // contains DBCS unique table and // definition of checking for DBCS character. // // Revision History: // 02/14/94 MSKK Tetsua Initial version // 03/22/94 MSKK Atsusk // change strupr to _strupr, strlwr to _strlwr, and so on. */ #ifndef _DBCSSTR_INCLUDED_ #define _DBCSSTR_INCLUDED_ #ifdef __cplusplus extern "C" { #endif extern unsigned char _DBCSLeadByteTable[]; #ifdef __TURBOC__ #if (__TURBOC__ < 0x300) #define _OS2 #define _far far #endif #endif #if defined(_M_I86MM) || defined(_M_I86LM) /* for MSC */ \ || defined(__MEDIUM__) || defined(__LARGE__) /* for TC/BC */ /* far code */ #define __FAR__ _far #else #define __FAR__ #endif int __FAR__ WHATISCHAR( const char __FAR__ *, const unsigned int ); int __FAR__ _GetSystemDrive( void ); char __FAR__ * __FAR__ __mbsncpy( char __FAR__ *, const char __FAR__ *, int ); char __FAR__ * __FAR__ __mbsncat( char __FAR__ *, const char __FAR__ *, int ); int __FAR__ __mbsicmp( const char __FAR__ *, const char __FAR__ * ); int __FAR__ __mbsnicmp( const char __FAR__ *, const char __FAR__ *, int ); #define ISDBCS(c) ((_DBCSLeadByteTable)[(unsigned char) (c)]) #ifndef _CHAR_DBCS_INCLUDED_ #define _CHAR_DBCS_INCLUDED_ #define CHAR_SBCS 0 #define CHAR_DBCS_LEAD 1 #define CHAR_DBCS_TAIL 2 #endif /* _CHAR_DBCS_INCLUDED_ */ //JAPAN start /* for Single Byte Japanese Character */ #define ISKANA(c) (0x0A0 <= (c) && 0x0DF >= (c)) //JAPAN end /* // The following string functions should use // multi-bytes string functions. // So, we should defined the followings. */ #if defined(_NTWIN) || defined(_NTCONSOLE) || defined(WIN32) #include #define strstr(s1,s2) (char *)_mbsstr((unsigned char *)s1, (unsigned char *)s2) #define strchr(s1,i1) (char *)_mbschr((unsigned char *)s1, i1) #define strtok(s1,s2) (char *)_mbstok((unsigned char *)s1, (unsigned char *)s2) #define strcspn(s1,s2) _mbscspn((unsigned char *)s1, (unsigned char *)s2) #define strpbrk(s1,s2) (char *)_mbspbrk((unsigned char *)s1, (unsigned char *)s2) #define strspn(s1,s2) _mbsspn((unsigned char *)s1, (unsigned char *)s2) #define _strupr(s1) (char *)_mbsupr((unsigned char *)s1) #define _strlwr(s1) (char *)_mbslwr((unsigned char *)s1) #define _strrev(s1) (char *)_mbsrev((unsigned char *)s1) #define _stricmp(s1,s2) _mbsicmp((unsigned char *)s1, (unsigned char *)s2) #define _strcmpi(s1,s2) _mbsicmp((unsigned char *)s1, (unsigned char *)s2) #define strrchr(s1,i1) (char *)_mbsrchr((unsigned char *)s1, i1) /* #define _strnicmp _mbsnicmp #define strlen _mbslen #define strcat _mbscat #define strcpy _mbscpy #define strcmp _mbscmp #define _strset _mbsset #define strncat _mbsncat #define strncpy _mbsncpy #define strncmp _mbsncmp #define _strnset _mbsnset */ #elif (defined(_DOS) || defined(_WINDOWS)) && !defined(_OS2) #include #define strstr _mbsstr #define strchr _mbschr #define strtok _mbstok #define strcspn _mbscspn #define strpbrk _mbspbrk #define strspn _mbsspn #define _strupr _mbsupr #define _strlwr _mbslwr #define _strrev _mbsrev #define _stricmp _mbsicmp #define _strcmpi _mbsicmp #define strrchr _mbsrchr #define _fstrstr _fmbsstr #define _fstrchr _fmbschr #define _fstrtok _fmbstok #define _fstrupr _fmbsupr #define _fstrlwr _fmbslwr #define _fstricmp _fmbsicmp #define _fstrcmpi _fmbsicmp #define _fstrrchr _fmbsrchr /* #define _strnicmp _mbsnicmp #define strlen _mbslen #define strcat _mbscat #define strcpy _mbscpy #define strcmp _mbscmp #define _strset _mbsset #define strncat _mbsncat #define strncpy _mbsncpy #define strncmp _mbsncmp #define _strnset _mbsnset */ #elif defined(_OS2) #include #define strstr #define strchr jstrchr #define strtok jstrtok #define strcspn #define strpbrk #define strspn #define _strupr #define _strlwr #define _strrev #define stricmp __mbsicmp #define strcmpi __mbsicmp #define _strnicmp #define strrchr /* #define strlen _mbslen #define strcat _mbscat #define strcpy _mbscpy #define strcmp _mbscmp #define _strset _mbsset #define strncat _mbsncat #define strncpy _mbsncpy #define strncmp _mbsncmp #define _strnset _mbsnset */ #else #error not defined _DOS, _OS2, or _NTWIN #endif #ifdef __cplusplus } #endif #endif /* _DBCSSTR_INCLUDED_ */ /*** End of 'dbcsstr.h' ***/