home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / sybase / starbuck / h.z / JSTRING.H < prev    next >
C/C++ Source or Header  |  1996-07-24  |  7KB  |  140 lines

  1. /*
  2.  *  jstring.h    Japanese DBCS functions
  3.  *
  4.  *  Copyright by WATCOM International Corp. 1988-1996.  All rights reserved.
  5.  */
  6. #ifndef _JSTRING_H_INCLUDED
  7. #define _JSTRING_H_INCLUDED
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11.  
  12. #ifndef _COMDEF_H_INCLUDED
  13.  #include <_comdef.h>
  14. #endif
  15.  
  16. #ifndef _SIZE_T_DEFINED
  17. #define _SIZE_T_DEFINED
  18. #define _SIZE_T_DEFINED_
  19. typedef unsigned size_t;
  20. #endif
  21.  
  22. #ifndef NULL
  23.  #if defined(__SMALL__) || defined(__MEDIUM__) || defined(__386__) || defined(__AXP__) || defined(__PPC__)
  24.   #define NULL   0
  25.  #else
  26.   #define NULL   0L
  27.  #endif
  28. #endif
  29.  
  30. /*
  31.  * definitions for chkctype(), nthctype()
  32.  */
  33.  
  34. #define CT_ANK    0    /* ANK */
  35. #define CT_KJ1    1    /* è┐ÄÜæµéPâoâCâg */
  36. #define CT_KJ2    2    /* è┐ÄÜæµéQâoâCâg */
  37. #define CT_ILGL -1    /* âCâèü[âKâï */
  38.  
  39. typedef unsigned char JCHAR;    /* è┐ÄÜâJâiùpéâéêéüéÆ(char for Japan) */
  40. typedef JCHAR         *JSTRING;    /* è┐ÄÜò╢ÄÜù±(string for Japan) */
  41. typedef JCHAR _WCFAR *FJSTRING;    /* è┐ÄÜ far ò╢ÄÜù±(far string for Japan) */
  42. typedef unsigned short JMOJI;    /* è┐ÄÜâRü[âh(2byte code) */
  43.  
  44. /*
  45.  *
  46.  *     è┐ÄÜÅêù¥è╓Éöùpâvâìâgâ^âCâvÉΘî╛
  47.  *
  48.  */
  49.  
  50. _WCRTLINK extern size_t btom( const JCHAR *__s, size_t __nb );
  51. _WCRTLINK extern size_t mtob( const JCHAR *__s, size_t __nm );
  52.  
  53. _WCRTLINK extern JMOJI hantozen( JMOJI __c );
  54. _WCRTLINK extern JMOJI zentohan( JMOJI __c );
  55.  
  56. _WCRTLINK extern int chkctype( JCHAR __c, int __n );
  57. _WCRTLINK extern int nthctype( const JCHAR *__s, size_t __n );
  58.  
  59. _WCRTLINK extern JMOJI jtolower( JMOJI __c );
  60. _WCRTLINK extern JMOJI jtoupper( JMOJI __c );
  61. _WCRTLINK extern JMOJI jtohira( JMOJI __c );
  62. _WCRTLINK extern JMOJI jtokata( JMOJI __c );
  63.  
  64. _WCRTLINK extern int jisalpha( JMOJI __c );
  65. _WCRTLINK extern int jisdigit( JMOJI __c );
  66. _WCRTLINK extern int jishira( JMOJI __c );
  67. _WCRTLINK extern int jiskana( JMOJI __c );
  68. _WCRTLINK extern int jiskigou( JMOJI __c );
  69. _WCRTLINK extern int jisl0( JMOJI __c );
  70. _WCRTLINK extern int jisl1( JMOJI __c );
  71. _WCRTLINK extern int jisl2( JMOJI __c );
  72. _WCRTLINK extern int jislower( JMOJI __c );
  73. _WCRTLINK extern int jisprint( JMOJI __c );
  74. _WCRTLINK extern int jisspace( JMOJI __c );
  75. _WCRTLINK extern int jisupper( JMOJI __c );
  76. _WCRTLINK extern int jiszen( JMOJI __c );
  77.  
  78. _WCRTLINK extern JSTRING jgetmoji( const JCHAR *__s, JMOJI *__c );
  79. _WCRTLINK extern unsigned short jistojms( unsigned short __c );
  80. _WCRTLINK extern unsigned short jmstojis( unsigned short __msc );
  81. _WCRTLINK extern void jperror( const char *__msg );
  82. _WCRTLINK extern JSTRING jputmoji( JCHAR *__s, JMOJI __c );
  83. _WCRTLINK extern JSTRING jstradv( const JCHAR *__s, size_t __n );
  84. _WCRTLINK extern JSTRING jstrcat( JCHAR *__to, const JCHAR *__from );
  85. _WCRTLINK extern JSTRING jstrchr( const JCHAR *__s, JMOJI __c );
  86. _WCRTLINK extern int jstrcmp( const JCHAR *__s1, const JCHAR *__s2 );
  87. _WCRTLINK extern size_t jstrcspn( const JCHAR *__s1, const JCHAR *__s2 );
  88. _WCRTLINK extern unsigned char *jstrerror( int __errnum );
  89. _WCRTLINK extern int jstricmp( const JCHAR *__s1, const JCHAR *__s2 );
  90. _WCRTLINK extern size_t jstrlen( const JCHAR *__s );
  91. _WCRTLINK extern JSTRING jstrlwr( JCHAR *__s );
  92. _WCRTLINK extern JSTRING jstrmatch( const JCHAR *__s1, const JCHAR *__s2 );
  93. _WCRTLINK extern JSTRING jstrncat( JCHAR *__to, const JCHAR *__from, size_t __n );
  94. _WCRTLINK extern int jstrncmp( const JCHAR *__s1, const JCHAR *__s2, size_t __n );
  95. _WCRTLINK extern JSTRING jstrncpy( JCHAR *__to, const JCHAR *__from, size_t __n );
  96. _WCRTLINK extern int jstrnicmp( const JCHAR *__s1, const JCHAR *__s2, size_t __n );
  97. _WCRTLINK extern JSTRING jstrnset( JCHAR *__s, JMOJI __c, size_t __n );
  98. _WCRTLINK extern JSTRING jstrrchr( const JCHAR *__s, JMOJI __c );
  99. _WCRTLINK extern JSTRING jstrrev( JCHAR *__s );
  100. _WCRTLINK extern JSTRING jstrset( JCHAR *__s, JMOJI __c );
  101. _WCRTLINK extern JSTRING jstrskip( const JCHAR *__s1, const JCHAR *__s2 );
  102. _WCRTLINK extern size_t jstrspn( const JCHAR *__s1, const JCHAR *__s2 );
  103. _WCRTLINK extern JSTRING jstrstr( const JCHAR *__s1, const JCHAR *__s2 );
  104. _WCRTLINK extern JSTRING jstrtok( JCHAR *__targ, const JCHAR *__brk );
  105. _WCRTLINK extern JSTRING jstrupr( JCHAR *__s );
  106. /* ----------- memory model independent equivalents ----------- */
  107. _WCRTLINK extern size_t _WCI86FAR _fbtom( const JCHAR _WCFAR *__s, size_t __nb );
  108. _WCRTLINK extern size_t _WCI86FAR _fmtob( const JCHAR _WCFAR *__s, size_t __nm );
  109. _WCRTLINK extern int _WCI86FAR _fnthctype( const JCHAR _WCFAR *__string, size_t __n );
  110. _WCRTLINK extern FJSTRING _WCI86FAR _fjgetmoji( const JCHAR _WCFAR *__s, JMOJI _WCFAR *__c );
  111. _WCRTLINK extern FJSTRING _WCI86FAR _fjputmoji( JCHAR _WCFAR *__s, JMOJI __c );
  112. _WCRTLINK extern FJSTRING _WCI86FAR _fjstradv( const JCHAR _WCFAR *__s, size_t __n );
  113. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrcat( JCHAR _WCFAR *__to, const JCHAR _WCFAR *__from );
  114. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrchr( const JCHAR _WCFAR *__s, JMOJI __c );
  115. _WCRTLINK extern int _WCI86FAR _fjstrcmp( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2 );
  116. _WCRTLINK extern size_t _WCI86FAR _fjstrcspn( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2 );
  117. _WCRTLINK extern int _WCI86FAR _fjstricmp( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2 );
  118. _WCRTLINK extern size_t _WCI86FAR _fjstrlen( const JCHAR _WCFAR *__s );
  119. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrlwr( JCHAR _WCFAR *__s );
  120. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrmatch( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2 );
  121. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrncat( JCHAR _WCFAR *__to, const JCHAR _WCFAR *__from, size_t __n );
  122. _WCRTLINK extern int _WCI86FAR _fjstrncmp( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2, size_t __n );
  123. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrncpy( JCHAR _WCFAR *__to, const JCHAR _WCFAR *__from, size_t __n );
  124. _WCRTLINK extern int _WCI86FAR _fjstrnicmp( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2, size_t __n );
  125. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrnset( JCHAR _WCFAR *__s, JMOJI __c, size_t __n );
  126. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrrchr( const JCHAR _WCFAR *__s, JMOJI __c );
  127. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrrev( JCHAR _WCFAR *__s );
  128. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrset( JCHAR _WCFAR *__s, JMOJI __c );
  129. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrskip( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2 );
  130. _WCRTLINK extern size_t _WCI86FAR _fjstrspn( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2 );
  131. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrstr( const JCHAR _WCFAR *__s1, const JCHAR _WCFAR *__s2 );
  132. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrtok( JCHAR _WCFAR *__targ, const JCHAR _WCFAR *__brk );
  133. _WCRTLINK extern FJSTRING _WCI86FAR _fjstrupr( JCHAR _WCFAR *__s );
  134. /* ----------- end of memory model independent equivalents ----------- */
  135.  
  136. #ifdef __cplusplus
  137. };
  138. #endif
  139. #endif
  140.