home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / INC.PAK / STRING.H < prev    next >
C/C++ Source or Header  |  1995-08-29  |  13KB  |  289 lines

  1. /*  string.h
  2.  
  3.     Definitions for memory and string functions.
  4.  
  5. */
  6.  
  7. /*
  8.  *      C/C++ Run Time Library - Version 6.5
  9.  *
  10.  *      Copyright (c) 1987, 1994 by Borland International
  11.  *      All Rights Reserved.
  12.  *
  13.  */
  14.  
  15. #ifndef __STRING_H
  16. #define __STRING_H
  17.  
  18. #if !defined(___DEFS_H)
  19. #include <_defs.h>
  20. #endif
  21.  
  22. #if !defined(NULL)
  23. #include <_null.h>
  24. #endif
  25.  
  26. #if !defined(__STDC__) && defined(__USELOCALES__)
  27. #if !defined(__LOCALE_H)
  28. #include <locale.h>
  29. #endif
  30. #endif  /* !__STDC__ && __USELOCALES__ */
  31.  
  32.  
  33. #if !defined(RC_INVOKED)
  34.  
  35. #if defined(__STDC__)
  36. #pragma warn -nak
  37. #endif
  38.  
  39. #endif  /* !RC_INVOKED */
  40.  
  41.  
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45.  
  46.  
  47. #ifndef _SIZE_T
  48. #define _SIZE_T
  49. typedef unsigned size_t;
  50. #endif
  51.  
  52.  
  53. int         _RTLENTRY  _EXPFUNC memcmp(const void _FAR *__s1,
  54.                                        const void _FAR *__s2, size_t __n);
  55. void _FAR * _RTLENTRY  _EXPFUNC memcpy(void _FAR *__dest, const void _FAR *__src,
  56.                                        size_t __n);
  57. void _FAR * _RTLENTRYF _EXPFUNC memmove(void _FAR *__dest, const void _FAR *__src,
  58.                                         size_t __n);
  59. void _FAR * _RTLENTRYF _EXPFUNC memset(void _FAR *__s, int __c, size_t __n);
  60. char _FAR * _RTLENTRYF _EXPFUNC strcat(char _FAR *__dest, const char _FAR *__src);
  61. int         _RTLENTRYF _EXPFUNC strcmp(const char _FAR *__s1, const char _FAR *__s2);
  62. char _FAR * _RTLENTRYF _EXPFUNC strcpy(char _FAR *__dest, const char _FAR *__src);
  63. size_t      _RTLENTRY  _EXPFUNC strcspn(const char _FAR *__s1, const char _FAR *__s2);
  64. char _FAR * _RTLENTRY  _EXPFUNC strerror(int __errnum);
  65. size_t      _RTLENTRYF _EXPFUNC strlen(const char _FAR *__s);
  66. char _FAR * _RTLENTRYF _EXPFUNC strncat(char _FAR *__dest, const char _FAR *__src,
  67.                                         size_t __maxlen);
  68. int         _RTLENTRYF _EXPFUNC strncmp(const char _FAR *__s1, const char _FAR *__s2,
  69.                                         size_t __maxlen);
  70. char _FAR * _RTLENTRYF _EXPFUNC strncpy(char _FAR *__dest, const char _FAR *__src,
  71.                                         size_t __maxlen);
  72. size_t      _RTLENTRY  _EXPFUNC strspn(const char _FAR *__s1, const char _FAR *__s2);
  73. char _FAR * _RTLENTRYF _EXPFUNC strtok(char _FAR *__s1, const char _FAR *__s2);
  74. char _FAR * _RTLENTRY  _EXPFUNC _strerror(const char _FAR *__s);
  75.  
  76.  
  77. #if !__STDC__
  78. /* compatibility with other compilers */
  79. #define strcmpi(s1,s2)      stricmp(s1,s2)
  80. #define strncmpi(s1,s2,n)   strnicmp(s1,s2,n)
  81.  
  82. char _FAR * _RTLENTRYF _EXPFUNC   _lstrlwr(char _FAR *__s);
  83. char _FAR * _RTLENTRYF _EXPFUNC   _lstrupr(char _FAR *__s);
  84. void _FAR * _RTLENTRY  _EXPFUNC   memccpy(void _FAR *__dest, const void _FAR *__src,
  85.                                           int __c, size_t __n);
  86. int         _RTLENTRY  _EXPFUNC   memicmp(const void _FAR *__s1, const void _FAR *__s2,
  87.                                           size_t __n);
  88. char _FAR * _RTLENTRYF _EXPFUNC32 stpcpy(char _FAR *__dest, const char _FAR *__src);
  89. char _FAR * _RTLENTRY  _EXPFUNC32 _stpcpy(char _FAR *__dest, const char _FAR *__src);
  90. char _FAR * _RTLENTRY  _EXPFUNC   strdup(const char _FAR *__s);
  91. int         _RTLENTRYF _EXPFUNC   stricmp(const char _FAR *__s1, const char _FAR *__s2);
  92. char _FAR * _RTLENTRYF _EXPFUNC   strlwr(char _FAR *__s);
  93. int         _RTLENTRYF _EXPFUNC   strnicmp(const char _FAR *__s1, const char _FAR *__s2,
  94.                                            size_t __maxlen);
  95. char _FAR * _RTLENTRY  _EXPFUNC   strnset(char _FAR *__s, int __ch, size_t __n);
  96. char _FAR * _RTLENTRY  _EXPFUNC   strrev(char _FAR *__s);
  97. char _FAR * _RTLENTRY  _EXPFUNC   strset(char _FAR *__s, int __ch);
  98. char _FAR * _RTLENTRYF _EXPFUNC   strupr(char _FAR *__s);
  99. #endif  /* !__STDC__ */
  100.  
  101.  
  102. #if defined(__cplusplus)
  103. extern "C++"
  104. {
  105.           void _FAR * _RTLENTRY  _EXPFUNC32 memchr(void _FAR *__s, int __c, size_t __n);
  106.     const void _FAR * _RTLENTRY  _EXPFUNC32 memchr(const void _FAR *__s, int __c, size_t __n);
  107.           char _FAR * _RTLENTRYF _EXPFUNC   strchr(char _FAR * __s, int __c);
  108.     const char _FAR * _RTLENTRYF _EXPFUNC   strchr(const char _FAR * __s, int __c);
  109.           char _FAR * _RTLENTRYF _EXPFUNC   strrchr(char _FAR *__s, int __c);
  110.     const char _FAR * _RTLENTRYF _EXPFUNC   strrchr(const char _FAR *__s, int __c);
  111.           char _FAR * _RTLENTRYF _EXPFUNC   strpbrk(char _FAR *__s1, const char _FAR *__s2);
  112.     const char _FAR * _RTLENTRYF _EXPFUNC   strpbrk(const char _FAR *__s1, const char _FAR *__s2);
  113.           char _FAR * _RTLENTRY  _EXPFUNC   strstr(char _FAR *__s1, const char _FAR *__s2);
  114.     const char _FAR * _RTLENTRY  _EXPFUNC   strstr(const char _FAR *__s1, const char _FAR *__s2);
  115. }
  116. #else
  117.           void _FAR * _RTLENTRY  _EXPFUNC32 memchr(const void _FAR *__s, int __c, size_t __n);
  118.           char _FAR * _RTLENTRYF _EXPFUNC   strchr(const char _FAR * __s, int __c);
  119.           char _FAR * _RTLENTRYF _EXPFUNC   strrchr(const char _FAR *__s, int __c);
  120.           char _FAR * _RTLENTRYF _EXPFUNC   strpbrk(const char _FAR *__s1, const char _FAR *__s2);
  121.           char _FAR * _RTLENTRY  _EXPFUNC   strstr(const char _FAR *__s1, const char _FAR *__s2);
  122. #endif
  123.  
  124.  
  125. /* Intrinsic functions */
  126. #if !defined(__MEM_H)
  127. void _FAR * _RTLENTRY  _EXPFUNC16 __memchr__(const void _FAR *__s, int __c, size_t __n);
  128. int         _RTLENTRY  _EXPFUNC16 __memcmp__(const void _FAR *__s1,
  129.                                              const void _FAR *__s2, size_t __n);
  130. void _FAR * _RTLENTRY  _EXPFUNC16 __memcpy__(void _FAR *__dest, const void _FAR *__src,
  131.                                              size_t __n);
  132. void _FAR * _RTLENTRYF _EXPFUNC16 __memset__(void _FAR *__s, int __c, size_t __n);
  133. #endif
  134.  
  135. char _FAR * _RTLENTRY             __stpcpy__(char _FAR *__dest, const char _FAR *__src);
  136. char _FAR * _RTLENTRYF _EXPFUNC16 __strcat__(char _FAR *__dest, const char _FAR *__src);
  137. char _FAR * _RTLENTRY  _EXPFUNC16 __strchr__(const char _FAR *__s, int __c);
  138. int         _RTLENTRYF _EXPFUNC16 __strcmp__(const char _FAR *__s1, const char _FAR *__s2);
  139. char _FAR * _RTLENTRYF _EXPFUNC16 __strcpy__(char _FAR *__dest, const char _FAR *__src);
  140. size_t      _RTLENTRYF _EXPFUNC16 __strlen__(const char _FAR *__s);
  141. char _FAR * _RTLENTRY  _EXPFUNC16 __strncat__(char _FAR *__dest, const char _FAR *__src,
  142.                                               size_t __maxlen);
  143. int         _RTLENTRY  _EXPFUNC16 __strncmp__(const char _FAR *__s1, const char _FAR *__s2,
  144.                                               size_t __maxlen);
  145. char _FAR * _RTLENTRYF _EXPFUNC16 __strncpy__(char _FAR *__dest, const char _FAR *__src,
  146.                                               size_t __maxlen);
  147. char _FAR * _RTLENTRY  _EXPFUNC16 __strnset__(char _FAR *__s, int __ch, size_t __n);
  148. char _FAR * _RTLENTRYF _EXPFUNC16 __strrchr__(const char _FAR *__s, int __c);
  149. char _FAR * _RTLENTRY  _EXPFUNC16 __strset__(char _FAR *__s, int __ch);
  150.  
  151.  
  152. #if defined(__MSC)
  153. #define _stricmp(s1,s2) stricmp(s1,s2)
  154. #define _strdup(s1)     strdup(s1)
  155. #define _strupr(s1)     strupr(s1)
  156. #define _strlwr(s1)     strlwr(s1)
  157. #define _strrev(s1)     strrev(s1)
  158. #endif  /* __MSC */
  159.  
  160.  
  161. #if !defined(__FLAT__) || defined(__DPMI32__)
  162. void        _RTLENTRY  _EXPFUNC movedata(unsigned __srcseg,unsigned __srcoff,
  163.                                          unsigned __dstseg,unsigned __dstoff, size_t __n);
  164. #endif
  165.  
  166.  
  167. #if !defined(__FLAT__)
  168. int           _RTLENTRYF _EXPFUNC _lstrcoll(const char _FAR *__s1, const char _FAR *__s2);
  169. size_t        _RTLENTRYF _EXPFUNC _lstrxfrm(char _FAR *__s1, const char _FAR *__s2,
  170.                                             size_t __n );
  171. int           _RTLENTRYF          strcoll(const char _FAR *__s1, const char _FAR *__s2);
  172. size_t        _RTLENTRYF          strxfrm(char _FAR *__s1, const char _FAR *__s2,
  173.                                           size_t __n );
  174.  
  175. #if !__STDC__
  176. void  __far * _RTLENTRY _FARCALL  _fmemccpy(void __far *__dest, const void __far *__src,
  177.                                             int c, size_t __n);
  178. void  __far * _RTLENTRY _FARCALL  _fmemchr(const void __far *__s, int c, size_t __n);
  179. int           _RTLENTRY _FARCALL  _fmemcmp(const void __far *__s1, const void __far *__s2,
  180.                                            size_t __n);
  181. void  __far * _RTLENTRY _FARCALL  _fmemcpy(void __far *__dest, const void __far *__src,
  182.                                            size_t __n);
  183. int           _RTLENTRY _FARCALL  _fmemicmp(const void __far *__s1, const void __far *__s2,
  184.                                             size_t __n);
  185. void  __far * _RTLENTRY _FARCALL  _fmemmove(void __far *__dest, const void __far *__src,
  186.                                             size_t __n);
  187. void  __far * _RTLENTRY _FARCALL  _fmemset(void __far *__s, int c, size_t __n);
  188. void          _RTLENTRY _FARCALL  _fmovmem(const void __far *__src, void __far *__dest,
  189.                                            unsigned __length);
  190. void          _RTLENTRY _FARCALL  _fsetmem(void __far *__dest,unsigned __length,
  191.                                            char __value);
  192. char  __far * _RTLENTRY _FARCALL  _fstrcat(char __far *__dest, const char __far *__src);
  193. char  __far * _RTLENTRY _FARCALL  _fstrchr(const char __far *__s, int c);
  194. int           _RTLENTRY _FARCALL  _fstrcmp(const char __far *__s1, const char __far *__s2);
  195. char  __far * _RTLENTRY _FARCALL  _fstrcpy(char __far *__dest, const char __far *__src);
  196. size_t        _RTLENTRY _FARCALL  _fstrcspn(const char __far *__s1, const char __far *__s2);
  197. char  __far * _RTLENTRY _FARCALL  _fstrdup(const char __far *__s);
  198. int           _RTLENTRY _FARCALL  _fstricmp(const char __far *__s1, const char __far *__s2);
  199. size_t        _RTLENTRY _FARCALL  _fstrlen(const char __far *__s);
  200. char  __far * _RTLENTRY _FARCALL  _fstrlwr(char __far *__s);
  201. char  __far * _RTLENTRY _FARCALL  _fstrncat(char __far *__dest, const char __far *__src,
  202.                                             size_t maxlen);
  203. int           _RTLENTRY _FARCALL  _fstrncmp(const char __far *__s1, const char __far *__s2,
  204.                                             size_t maxlen);
  205. char  __far * _RTLENTRY _FARCALL  _fstrncpy(char __far *__dest, const char __far *__src,
  206.                                             size_t maxlen);
  207. int           _RTLENTRY _FARCALL  _fstrnicmp(const char __far *__s1, const char __far *__s2,
  208.                                              size_t maxlen);
  209. char  __far * _RTLENTRY _FARCALL  _fstrnset(char __far *__s, int ch, size_t __n);
  210. char  __far * _RTLENTRY _FARCALL  _fstrpbrk(const char __far *__s1, const char __far *__s2);
  211. char  __far * _RTLENTRY _FARCALL  _fstrrchr(const char __far *__s, int c);
  212. char  __far * _RTLENTRY _FARCALL  _fstrrev(char __far *__s);
  213. char  __far * _RTLENTRY _FARCALL  _fstrset(char __far *__s, int ch);
  214. size_t        _RTLENTRY _FARCALL  _fstrspn(const char __far *__s1, const char __far *__s2);
  215. char  __far * _RTLENTRY _FARCALL  _fstrstr(const char __far *__s1, const char __far *__s2);
  216. char  __far * _RTLENTRY _FARCALL  _fstrtok(char __far *__s1, const char __far *__s2);
  217. char  __far * _RTLENTRY _FARCALL  _fstrupr(char __far *__s);
  218. #endif  /* ! __STDC__ */
  219.  
  220.  
  221. #else    /* defined __FLAT__ */
  222.  
  223.  
  224. int    _RTLENTRY  _EXPFUNC _lstrcoll(const char * __s1, const char * __s2);
  225. size_t _RTLENTRY  _EXPFUNC _lstrxfrm(char * __s1, const char * __s2,
  226.                                      size_t __n );
  227. int    _RTLENTRY  _EXPFUNC strcoll(const char * __s1, const char * __s2);
  228. size_t _RTLENTRY  _EXPFUNC strxfrm(char * __s1, const char * __s2,
  229.                                    size_t __n );
  230.  
  231.  
  232. #if !defined(__STDC__) /* NON_ANSI  */
  233. #define _fmemccpy  memccpy
  234. #define _fmemchr   memchr
  235. #define _fmemcmp   memcmp
  236. #define _fmemcpy   memcpy
  237. #define _fmemicmp  memicmp
  238. #define _fmemmove  memmove
  239. #define _fmemset   memset
  240. #define _fmovmem   movmem
  241. #define _fsetmem   setmem
  242. #define _fstrcat   strcat
  243. #define _fstrchr   strchr
  244. #define _fstrcmp   strcmp
  245. #define _fstrcpy   strcpy
  246. #define _fstrcspn  strcspn
  247. #define _fstrdup   strdup
  248. #define _fstricmp  stricmp
  249. #define _fstrlen   strlen
  250. #define _fstrlwr   strlwr
  251. #define _fstrncat  strncat
  252. #define _fstrncmp  strncmp
  253. #define _fstrncpy  strncpy
  254. #define _fstrnicmp strnicmp
  255. #define _fstrnset  strnset
  256. #define _fstrpbrk  strpbrk
  257. #define _fstrrchr  strrchr
  258. #define _fstrrev   strrev
  259. #define _fstrset   strset
  260. #define _fstrspn   strspn
  261. #define _fstrstr   strstr
  262. #define _fstrtok   strtok
  263. #define _fstrupr   strupr
  264. #endif /* __STDC__  */
  265.  
  266. #endif  /* __FLAT__ */
  267.  
  268. #if defined(__USELOCALES__)
  269. #define  strupr   _lstrupr
  270. #define  strlwr   _lstrlwr
  271. #define  strcoll  _lstrcoll
  272. #define  strxfrm  _lstrxfrm
  273. #endif  /* __USELOCALES__ */
  274.  
  275. #ifdef __cplusplus
  276. }
  277. #endif
  278.  
  279. #if !defined(RC_INVOKED)
  280.  
  281. #if defined(__STDC__)
  282. #pragma warn .nak
  283. #endif
  284.  
  285. #endif  /* !RC_INVOKED */
  286.  
  287.  
  288. #endif  /* __STRING_H */
  289.