home *** CD-ROM | disk | FTP | other *** search
/ CD/PC Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / MBSTRING.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-14  |  11.7 KB  |  224 lines

  1. /*  mbstring.h
  2.  
  3.     Definitions for MBCS string functions.
  4.  
  5. */
  6.  
  7. /*
  8.  *      C/C++ Run Time Library - Version 7.0
  9.  *
  10.  *      Copyright (c) 1992, 1996 by Borland International
  11.  *      All Rights Reserved.
  12.  *
  13.  */
  14.  
  15. #ifndef __MBSTRING_H
  16. #define __MBSTRING_H
  17.  
  18. #ifdef _MSC
  19. #if !defined(__STRING_H)
  20. #include <string.h>
  21. #endif
  22. #endif
  23.  
  24. #if !defined(___DEFS_H)
  25. #include <_defs.h>
  26. #endif
  27.  
  28. #ifndef NULL
  29. #include <_null.h>
  30. #endif
  31.  
  32. #include <mbctype.h>
  33.  
  34. #ifndef _SIZE_T
  35. #define _SIZE_T
  36. typedef unsigned size_t;
  37. #endif
  38.  
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42.  
  43. unsigned char _FAR * _RTLENTRYF _mbscpy   (unsigned char _FAR *__dest, const unsigned char _FAR *__src);
  44. unsigned char _FAR * _RTLENTRYF _mbscat   (unsigned char _FAR *__dest, const unsigned char _FAR *__src);
  45. unsigned char _FAR * _RTLENTRYF _mbsncpy  (unsigned char _FAR *__dest, const unsigned char _FAR *__src, size_t __maxlen);
  46. unsigned char _FAR * _RTLENTRYF _mbsncat  (unsigned char _FAR *__dest, const unsigned char _FAR *__src, size_t __maxlen);
  47. unsigned char _FAR * _RTLENTRYF _mbsnbcpy (unsigned char _FAR *__dest, const unsigned char _FAR *__src, size_t __maxlen);
  48. unsigned char _FAR * _RTLENTRYF _mbsnbcat (unsigned char _FAR *__dest, const unsigned char _FAR *__src, size_t __maxlen);
  49. void                 _RTLENTRYF _mbccpy   (unsigned char _FAR *__dest, const unsigned char _FAR *__src);
  50. unsigned char _FAR * _RTLENTRYF _mbsdup   (const unsigned char _FAR *__s);
  51. unsigned char _FAR * _RTLENTRYF _mbschr   (const unsigned char _FAR *__s, unsigned int __c);
  52. unsigned char _FAR * _RTLENTRYF _mbsrchr  (const unsigned char _FAR *__s, unsigned int __c);
  53. size_t               _RTLENTRY  _mbscspn  (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  54. size_t               _RTLENTRY  _mbsspn   (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  55. unsigned char _FAR * _RTLENTRYF _mbspbrk  (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  56. unsigned char _FAR * _RTLENTRY  _mbsspnp  (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  57. unsigned char _FAR * _RTLENTRYF _mbsinc   (const unsigned char _FAR *__p);
  58. unsigned char _FAR * _RTLENTRYF _mbsninc  (const unsigned char _FAR *__p, size_t __n);
  59. unsigned char _FAR * _RTLENTRYF _mbsdec   (const unsigned char _FAR *__s, const unsigned char _FAR *__p);
  60. unsigned char _FAR * _RTLENTRYF _mbstok   (unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  61. unsigned char _FAR * _RTLENTRY  _mbsrev   (unsigned char _FAR *__s);
  62. unsigned char _FAR * _RTLENTRY  _mbsstr   (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  63. int                  _RTLENTRYF _mbscmp   (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  64. int                  _RTLENTRYF _mbsicmp  (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  65. int                  _RTLENTRYF _mbsncmp  (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2, size_t __maxlen);
  66. int                  _RTLENTRYF _mbsnicmp (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2, size_t __maxlen);
  67. int                  _RTLENTRYF _mbsnbcmp (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2, size_t __maxlen);
  68. int                  _RTLENTRYF _mbsnbicmp(const unsigned char _FAR *__s1, const unsigned char _FAR *__s2, size_t __maxlen);
  69. int                  _RTLENTRYF _mbccmp   (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  70. size_t               _RTLENTRYF _mbslen   (const unsigned char _FAR *__s);
  71. size_t               _RTLENTRYF _mbclen   (const unsigned char _FAR *__s);
  72. unsigned char _FAR * _RTLENTRYF _mbsupr   (unsigned char _FAR *__s);
  73. unsigned char _FAR * _RTLENTRYF _mbslwr   (unsigned char _FAR *__s);
  74. unsigned char _FAR * _RTLENTRY  _mbsset   (unsigned char _FAR *__s, unsigned int __c);
  75. unsigned char _FAR * _RTLENTRY  _mbsnset  (unsigned char _FAR *__s, unsigned int __c, size_t __maxlen);
  76. unsigned char _FAR * _RTLENTRYF _mbsnbset (unsigned char _FAR *__s, unsigned int __c, size_t __maxlen);
  77. size_t               _RTLENTRYF _mbsnccnt (const unsigned char _FAR *__s, size_t __nbyte);
  78. size_t               _RTLENTRYF _mbsnbcnt (const unsigned char _FAR *__s, size_t __nmbc);
  79. unsigned int         _RTLENTRYF _mbsnextc (const unsigned char _FAR *__p);
  80. int                  _RTLENTRYF _mbbtype  (unsigned char __c, int __mode);
  81. int                  _RTLENTRYF _mbsbtype (const unsigned char _FAR *__s, size_t __nbyte);
  82.  
  83. #ifndef __MBCS_LEADTRAIL
  84. #define __MBCS_LEADTRAIL
  85. int _RTLENTRY _ismbblead  (unsigned int __c);
  86. int _RTLENTRY _ismbbtrail (unsigned int __c);
  87. int _RTLENTRY _ismbslead  (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  88. int _RTLENTRY _ismbstrail (const unsigned char _FAR *__s1, const unsigned char _FAR *__s2);
  89.  
  90. #if 0  /*  exclude 16 bit functions  */
  91. #if !defined(__FLAT__)
  92. /* Model-independent functions */
  93. #if !__STDC__
  94. int _RTLENTRY __far _fismbslead (const unsigned char __far *__s1, const unsigned char __far *__s2);
  95. int _RTLENTRY __far _fismbstrail(const unsigned char __far *__s1, const unsigned char __far *__s2);
  96. #endif  /* ! __STDC__ */
  97. #endif  /* ! __FLAT__ */
  98. #endif   /* exclude 16 bit functions  */ 
  99.  
  100. #endif  /* ! __MBCS_LEADTRAIL */
  101.  
  102. #define _mbccmp(__s1, __s2) _mbsncmp((__s1),(__s2),1)
  103.  
  104.  
  105. #if 0  /*  exclude 16 bit functions  */
  106. #if !defined(__FLAT__)
  107.  
  108. /* Model-independent functions */
  109. #if !__STDC__
  110.  
  111. unsigned char __far * _RTLENTRY __far _fmbscpy   (unsigned char __far *__dest, const unsigned char __far *__src);
  112. unsigned char __far * _RTLENTRY __far _fmbscat   (unsigned char __far *__dest, const unsigned char __far *__src);
  113. unsigned char __far * _RTLENTRY __far _fmbsncpy  (unsigned char __far *__dest, const unsigned char __far *__src, size_t __maxlen);
  114. unsigned char __far * _RTLENTRY __far _fmbsncat  (unsigned char __far *__dest, const unsigned char __far *__src, size_t __maxlen);
  115. unsigned char __far * _RTLENTRY __far _fmbsnbcpy (unsigned char __far *__dest, const unsigned char __far *__src, size_t __maxlen);
  116. unsigned char __far * _RTLENTRY __far _fmbsnbcat (unsigned char __far *__dest, const unsigned char __far *__src, size_t __maxlen);
  117. void                  _RTLENTRY __far _fmbccpy   (unsigned char __far *__dest, const unsigned char __far *__src);
  118. unsigned char __far * _RTLENTRY __far _fmbsdup   (const unsigned char __far *__s);
  119. unsigned char __far * _RTLENTRY __far _fmbschr   (const unsigned char __far *__s, unsigned int __c);
  120. unsigned char __far * _RTLENTRY __far _fmbsrchr  (const unsigned char __far *__s, unsigned int __c);
  121. size_t                _RTLENTRY __far _fmbscspn  (const unsigned char __far *__s1, const unsigned char __far *__s2);
  122. size_t                _RTLENTRY __far _fmbsspn   (const unsigned char __far *__s1, const unsigned char __far *__s2);
  123. unsigned char __far * _RTLENTRY __far _fmbspbrk  (const unsigned char __far *__s1, const unsigned char __far *__s2);
  124. unsigned char __far * _RTLENTRY __far _fmbsspnp  (const unsigned char __far *__s1, const unsigned char __far *__s2);
  125. unsigned char __far * _RTLENTRY __far _fmbsinc   (const unsigned char __far *__p);
  126. unsigned char __far * _RTLENTRY __far _fmbsninc  (const unsigned char __far *__p, size_t __n);
  127. unsigned char __far * _RTLENTRY __far _fmbsdec   (const unsigned char __far *__s, const unsigned char __far *__p);
  128. unsigned char __far * _RTLENTRY __far _fmbstok   (unsigned char __far *__s1, const unsigned char __far *__s2);
  129. unsigned char __far * _RTLENTRY __far _fmbsrev   (unsigned char __far *__s);
  130. unsigned char __far * _RTLENTRY __far _fmbsstr   (const unsigned char __far *__s1, const unsigned char __far *__s2);
  131. int                   _RTLENTRY __far _fmbscmp   (const unsigned char __far *__s1, const unsigned char __far *__s2);
  132. int                   _RTLENTRY __far _fmbsicmp  (const unsigned char __far *__s1, const unsigned char __far *__s2);
  133. int                   _RTLENTRY __far _fmbsncmp  (const unsigned char __far *__s1, const unsigned char __far *__s2, size_t __maxlen);
  134. int                   _RTLENTRY __far _fmbsnicmp (const unsigned char __far *__s1, const unsigned char __far *__s2, size_t __maxlen);
  135. int                   _RTLENTRY __far _fmbsnbcmp (const unsigned char __far *__s1, const unsigned char __far *__s2, size_t __maxlen);
  136. int                   _RTLENTRY __far _fmbsnbicmp(const unsigned char __far *__s1, const unsigned char __far *__s2, size_t __maxlen);
  137. int                   _RTLENTRY __far _fmbccmp   (const unsigned char __far *__s1, const unsigned char __far *__s2);
  138. size_t                _RTLENTRY __far _fmbslen   (const unsigned char __far *__s);
  139. size_t                _RTLENTRY __far _fmbclen   (const unsigned char __far *__s);
  140. unsigned char __far * _RTLENTRY __far _fmbsupr   (unsigned char __far *__s);
  141. unsigned char __far * _RTLENTRY __far _fmbslwr   (unsigned char __far *__s);
  142. unsigned char __far * _RTLENTRY __far _fmbsset   (unsigned char __far *__s, unsigned int __c);
  143. unsigned char __far * _RTLENTRY __far _fmbsnset  (unsigned char __far *__s, unsigned int __c, size_t __maxlen);
  144. unsigned char __far * _RTLENTRY __far _fmbsnbset (unsigned char __far *__s, unsigned int __c, size_t __maxlen);
  145. size_t                _RTLENTRY __far _fmbsnccnt (const unsigned char __far *__s, size_t __nbyte);
  146. size_t                _RTLENTRY __far _fmbsnbcnt (const unsigned char __far *__s, size_t __nmbc);
  147. unsigned int          _RTLENTRY __far _fmbsnextc (const unsigned char __far *__p);
  148. int                   _RTLENTRY __far _fmbbtype  (unsigned char __c, int __mode);
  149. int                   _RTLENTRY __far _fmbsbtype (const unsigned char __far *__s, size_t __nbyte);
  150.  
  151. #define _fmbccmp(__s1, __s2) _fmbsncmp((__s1),(__s2),1)
  152.  
  153. #endif  /* ! __STDC__ */
  154.  
  155. #endif  /* ! __FLAT__ */
  156.  
  157. #endif #  /*  exclude 16 bit functions  */
  158.  
  159.  
  160. #ifdef __cplusplus
  161. }
  162. #endif
  163.  
  164.  
  165. #ifdef __cplusplus
  166. extern "C" {
  167. #endif
  168. int _RTLENTRY _ismbclegal(unsigned int __c);
  169. int _RTLENTRY _ismbcalpha(unsigned int __c);
  170. int _RTLENTRY _ismbcdigit(unsigned int __c);
  171. int _RTLENTRY _ismbcprint(unsigned int __c);
  172. int _RTLENTRY _ismbcspace(unsigned int __c);
  173. int _RTLENTRY _ismbclower(unsigned int __c);
  174. int _RTLENTRY _ismbcupper(unsigned int __c);
  175. unsigned int _RTLENTRYF _mbctolower(unsigned int __c);
  176. unsigned int _RTLENTRYF _mbctoupper(unsigned int __c);
  177. #ifdef __cplusplus
  178. }
  179. #endif
  180.  
  181.  
  182. /* Japanese DBCS special functions */
  183. #ifdef __cplusplus
  184. extern "C" {
  185. #endif
  186. int _RTLENTRY _ismbchira  (unsigned int __c);
  187. int _RTLENTRY _ismbckata  (unsigned int __c);
  188. int _RTLENTRY _ismbcl0    (unsigned int __c);
  189. int _RTLENTRY _ismbcl1    (unsigned int __c);
  190. int _RTLENTRY _ismbcl2    (unsigned int __c);
  191. int _RTLENTRY _ismbcsymbol(unsigned int __c);
  192. unsigned int _RTLENTRYF _mbctohira  (unsigned int __c);
  193. unsigned int _RTLENTRYF _mbctokata  (unsigned int __c);
  194. unsigned int _RTLENTRYF _mbctombb   (unsigned int __c);
  195. unsigned int _RTLENTRYF _mbbtombc   (unsigned int __c);
  196. unsigned int _RTLENTRYF _mbcjistojms(unsigned int __c);
  197. unsigned int _RTLENTRYF _mbcjmstojis(unsigned int __c);
  198. #ifdef __cplusplus
  199. }
  200. #endif
  201.  
  202.  
  203. /* --- Newly added functions ---- to be placed appropriately --- */
  204.  
  205. #ifdef __cplusplus
  206. extern "C" {
  207. #endif
  208.  
  209. int _RTLENTRYF _mbscoll( const unsigned char *__S1, const unsigned char *__S2 );
  210. int _RTLENTRYF _mbsicoll( const unsigned char *__S1, const unsigned char *__S2 );
  211. int _RTLENTRYF _mbsncoll( const unsigned char *__S1, const unsigned char *__S2, size_t n );
  212. int _RTLENTRYF _mbsnicoll( const unsigned char *__S1, const unsigned char *__S2, size_t n );
  213. int _RTLENTRYF _mbsnbcoll( const unsigned char *__S1, const unsigned char *__S2, size_t n );
  214. int _RTLENTRYF _mbsnbicoll( const unsigned char *__S1, const unsigned char *__S2, size_t n );
  215.  
  216. int _RTLENTRYF _ismbcalnum( unsigned int __c );
  217. int _RTLENTRYF _ismbcgraph( unsigned int __c );
  218. int _RTLENTRYF _ismbcpunct( unsigned int __c );
  219. #ifdef __cplusplus
  220. }
  221. #endif
  222.  
  223. #endif /* __MBSTRING_H */
  224.