home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / nlsnps.zip / nls.h < prev    next >
C/C++ Source or Header  |  1996-09-04  |  3KB  |  114 lines

  1. #ifndef NLS_H_INCLUDED
  2. #define NLS_H_INCLUDED
  3.  
  4.  
  5. // external data
  6. extern UCHAR AfbDBCS[256];
  7. extern UCHAR AbUpperChars[256];
  8. extern UCHAR AbLowerChars[256];
  9. extern UCHAR AbCollate[256];
  10.  
  11.  
  12. // external functions
  13.  
  14. void nlsInitialize();
  15.  
  16. PUCHAR nlsSearch(PUCHAR psz, UINT ui);
  17. PUCHAR nlsSearch(PUCHAR pb, UINT ui, UINT cbLength);
  18. PUCHAR nlsSearchCollate(PUCHAR psz, UINT ui);
  19. PUCHAR nlsSearchCollate(PUCHAR pb, UINT ui, UINT cbLength);
  20.  
  21. PUCHAR nlsSearchLast(PUCHAR psz, UINT ui);
  22. PUCHAR nlsSearchLast(PUCHAR pb, UINT ui, UINT cbLength);
  23. PUCHAR nlsSearchCollateLast(PUCHAR psz, UINT ui);
  24. PUCHAR nlsSearchCollateLast(PUCHAR pb, UINT ui, UINT cbLength);
  25.  
  26. BOOL nlsIncludeDBCS(PUCHAR psz);
  27. int nlsCountChar(PUCHAR psz);
  28.  
  29. int nlsCompare(PUCHAR psz1, PUCHAR psz2);
  30.  
  31. PUCHAR nlsUpperString(PUCHAR psz);
  32. PUCHAR nlsLowerString(PUCHAR psz);
  33.  
  34.  
  35. // inline functions
  36.  
  37. inline UCHAR nlsIsDBCS(UCHAR uc)
  38. {  return AfbDBCS[uc];
  39. }
  40.  
  41. inline UCHAR nlsUpper(UCHAR uc)
  42. {  return AbUpperChars[uc];
  43. }
  44.  
  45. inline UCHAR nlsLower(UCHAR uc)
  46. {  return AbLowerChars[uc];
  47. }
  48.  
  49. inline UCHAR nlsCollate(UCHAR uc)
  50. {  return AbCollate[uc];
  51. }
  52.  
  53. inline PUCHAR nlsNext(PUCHAR psz)
  54. {  return psz + (nlsIsDBCS(*psz) + 1);
  55. }
  56.  
  57.  
  58. // inline functions for type conversion
  59.  
  60. inline PCHAR nlsSearch(PCHAR psz, UINT ui)
  61. {  return (PCHAR)nlsSearch((PUCHAR)psz, ui);
  62. }
  63.  
  64. inline PCHAR nlsSearch(PCHAR pb, UINT ui, UINT cbLength)
  65. {  return (PCHAR)nlsSearch((PUCHAR)pb, ui, cbLength);
  66. }
  67.  
  68. inline PCHAR nlsSearchCollate(PCHAR psz, UINT ui)
  69. {  return (PCHAR)nlsSearchCollate((PUCHAR)psz, ui);
  70. }
  71.  
  72. inline PCHAR nlsSearchCollate(PCHAR pb, UINT ui, UINT cbLength)
  73. {  return (PCHAR)nlsSearchCollate((PUCHAR)pb, ui, cbLength);
  74. }
  75.  
  76. inline PCHAR nlsSearchLast(PCHAR psz, UINT ui)
  77. {  return (PCHAR)nlsSearchLast((PUCHAR)psz, ui);
  78. }
  79.  
  80. inline PCHAR nlsSearchLast(PCHAR pb, UINT ui, UINT cbLength)
  81. {  return (PCHAR)nlsSearchLast((PUCHAR)pb, ui, cbLength);
  82. }
  83.  
  84. inline PCHAR nlsSearchCollateLast(PCHAR psz, UINT ui)
  85. {  return (PCHAR)nlsSearchCollateLast((PUCHAR)psz, ui);
  86. }
  87.  
  88. inline PCHAR nlsSearchCollateLast(PCHAR pb, UINT ui, UINT cbLength)
  89. {  return (PCHAR)nlsSearchCollateLast((PUCHAR)pb, ui, cbLength);
  90. }
  91.  
  92. inline BOOL nlsIncludeDBCS(PCHAR psz)
  93. {  return nlsIncludeDBCS((PUCHAR)psz);
  94. }
  95.  
  96. inline int nlsCountChar(PCHAR psz)
  97. {  return nlsCountChar((PUCHAR)psz);
  98. }
  99.  
  100. inline int nlsCompare(PCHAR psz1, PCHAR psz2)
  101. {  return nlsCompare((PUCHAR)psz1, (PUCHAR)psz2);
  102. }
  103.  
  104. inline PCHAR nlsUpperString(PCHAR psz)
  105. {  return (PCHAR)nlsUpperString((PUCHAR)psz);
  106. }
  107.  
  108. inline PCHAR nlsLowerString(PCHAR psz)
  109. {  return (PCHAR)nlsLowerString((PUCHAR)psz);
  110. }
  111.  
  112.  
  113. #endif
  114.