home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / armlinux / alpha / PARTITIONS / USR_GZ / usr / include / string.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-14  |  7.4 KB  |  204 lines

  1. /* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
  2. This file is part of the GNU C Library.
  3.  
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Library General Public License as
  6. published by the Free Software Foundation; either version 2 of the
  7. License, or (at your option) any later version.
  8.  
  9. The GNU C Library is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12. Library General Public License for more details.
  13.  
  14. You should have received a copy of the GNU Library General Public
  15. License along with the GNU C Library; see the file COPYING.LIB.  If
  16. not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
  17. Cambridge, MA 02139, USA.  */
  18.  
  19. /*
  20.  *    ANSI Standard: 4.11 STRING HANDLING    <string.h>
  21.  */
  22.  
  23. #ifndef    _STRING_H
  24.  
  25. #define    _STRING_H    1
  26. #include <features.h>
  27.  
  28. __BEGIN_DECLS
  29.  
  30. /* Get size_t and NULL from <stddef.h>.  */
  31. #define    __need_size_t
  32. #define    __need_NULL
  33. #include <stddef.h>
  34.  
  35. /* `memcpy' is a built-in function for gcc 2.x. */
  36. #if defined(__STDC__) && __GNUC__ < 2
  37. /* Copy N bytes of SRC to DEST.  */
  38. extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src,
  39.                 size_t __n));
  40. #endif
  41.  
  42. /* Copy N bytes of SRC to DEST, guaranteeing
  43.    correct behavior for overlapping strings.  */
  44. extern __ptr_t memmove __P ((__ptr_t __dest, __const __ptr_t __src,
  45.                  size_t __n));
  46.  
  47. /* Copy no more than N bytes of SRC to DEST, stopping when C is found.
  48.    Return the position in DEST one byte past where C was copied,
  49.    or NULL if C was not found in the first N bytes of SRC.  */
  50. extern __ptr_t __memccpy __P ((__ptr_t __dest, __const __ptr_t __src,
  51.                    int __c, size_t __n));
  52. #if defined (__USE_SVID) || defined (__USE_BSD)
  53. extern __ptr_t memccpy __P ((__ptr_t __dest, __const __ptr_t __src,
  54.                  int __c, size_t __n));
  55. #ifdef    __OPTIMIZE__
  56. #define    memccpy(dest, src, c, n) __memccpy((dest), (src), (c), (n))
  57. #endif /* Optimizing.  */
  58. #endif /* SVID.  */
  59.  
  60.  
  61. /* Set N bytes of S to C.  */
  62. extern __ptr_t memset __P ((__ptr_t __s, int __c, size_t __n));
  63.  
  64. /* `memcmp' is a built-in function for gcc 2.x. */
  65. #if defined(__STDC__) && __GNUC__ < 2
  66. /* Compare N bytes of S1 and S2.  */
  67. extern int memcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2,
  68.             size_t __n));
  69. #endif
  70.  
  71. /* Search N bytes of S for C.  */
  72. extern __ptr_t memchr __P ((__const __ptr_t __s, int __c, size_t __n));
  73.  
  74.  
  75. /* Copy SRC to DEST.  */
  76. extern char *strcpy __P ((char *__dest, __const char *__src));
  77. /* Copy no more than N characters of SRC to DEST.  */
  78. extern char *strncpy __P ((char *__dest, __const char *__src, size_t __n));
  79.  
  80. /* Append SRC onto DEST.  */
  81. extern char *strcat __P ((char *__dest, __const char *__src));
  82. /* Append no more than N characters from SRC onto DEST.  */
  83. extern char *strncat __P ((char *__dest, __const char *__src, size_t __n));
  84.  
  85. /* Compare S1 and S2.  */
  86. extern int strcmp __P ((__const char *__s1, __const char *__s2));
  87. /* Compare N characters of S1 and S2.  */
  88. extern int strncmp __P ((__const char *__s1, __const char *__s2, size_t __n));
  89.  
  90. /* Compare the collated forms of S1 and S2.  */
  91. extern int strcoll __P ((__const char *__s1, __const char *__s2));
  92. /* Put a transformation of SRC into no more than N bytes of DEST.  */
  93. extern size_t strxfrm __P ((char *__dest, __const char *__src, size_t __n));
  94.  
  95. #if defined (__USE_SVID) || defined (__USE_BSD)
  96. /* Duplicate S, returning an identical malloc'd string.  */
  97. extern char *strdup __P ((__const char *__s));
  98. #endif
  99.  
  100. /* Find the first occurrence of C in S.  */
  101. extern char *strchr __P ((__const char *__s, int __c));
  102. /* Find the last occurrence of C in S.  */
  103. extern char *strrchr __P ((__const char *__s, int __c));
  104.  
  105. /* Return the length of the initial segment of S which
  106.    consists entirely of characters not in REJECT.  */
  107. extern size_t strcspn __P ((__const char *__s, __const char *__reject));
  108. /* Return the length of the initial segment of S which
  109.    consists entirely of characters in ACCEPT.  */
  110. extern size_t strspn __P ((__const char *__s, __const char *__accept));
  111. /* Find the first occurence in S of any character in ACCEPT.  */
  112. extern char *strpbrk __P ((__const char *__s, __const char *__accept));
  113. /* Find the first occurence of NEEDLE in HAYSTACK.  */
  114. extern char *strstr __P ((__const char *__haystack, __const char *__needle));
  115. /* Divide S into tokens separated by characters in DELIM.  */
  116. extern char *strtok __P ((char *__s, __const char *__delim));
  117.  
  118. #ifdef    __USE_GNU
  119. /* Find the first occurence of NEEDLE in HAYSTACK.
  120.    NEEDLE is NEEDLELEN bytes long;
  121.    HAYSTACK is HAYSTACKLEN bytes long.  */
  122. extern __ptr_t memmem __P ((__const __ptr_t __needle, size_t __needlelen,
  123.                 __const __ptr_t __haystack, size_t __haystacklen));
  124. #endif
  125.  
  126. /* Return the length of S.  */
  127. extern size_t strlen __P ((__const char *__s));
  128.  
  129. /* Return a string describing the meaning of the errno code in ERRNUM.  */
  130. extern char *strerror __P ((int __errnum));
  131.  
  132. #ifdef    __USE_BSD
  133. /* Find the first occurrence of C in S (same as strchr).  */
  134. extern char *index __P ((__const char *__s, int __c));
  135.  
  136. /* Find the last occurrence of C in S (same as strrchr).  */
  137. extern char *rindex __P ((__const char *__s, int __c));
  138.  
  139. #ifndef __linux__
  140.  
  141. /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
  142. extern void bcopy __P ((__const __ptr_t __src, __ptr_t __dest, size_t __n));
  143.  
  144. /* Set N bytes of S to 0.  */
  145. extern void bzero __P ((__ptr_t __s, size_t __n));
  146.  
  147. /* Compare N bytes of S1 and S2 (same as memcmp).  */
  148. extern int bcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2, size_t __n));
  149.  
  150. #else
  151.  
  152. /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
  153. extern void bcopy __P ((__const __ptr_t __src, __ptr_t __dest, int __n));
  154.  
  155. /* Set N bytes of S to 0.  */
  156. extern void bzero __P ((__ptr_t __s, int __n));
  157.  
  158. /* Compare N bytes of S1 and S2 (same as memcmp).  */
  159. extern int bcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2, int __n));
  160.  
  161. #endif
  162.  
  163. /* Return the position of the first bit set in I, or 0 if none are set.
  164.    The least-significant bit is position 1, the most-significant 32.  */
  165. extern int ffs __P ((int __i));
  166.  
  167. /* Compare S1 and S2, ignoring case.  */
  168. extern int strcasecmp __P ((__const char *__s1, __const char *__s2));
  169.  
  170. /* Return the next DELIM-delimited token from *STRINGP,
  171.    terminating it with a '\0', and update *STRINGP to point past it.  */
  172. extern char *strsep __P ((char **__stringp, __const char *__delim));
  173. #endif
  174.  
  175. #ifdef    __USE_GNU
  176. /* Compare no more than N chars of S1 and S2, ignoring case.  */
  177. extern int strncasecmp __P ((__const char *__s1, __const char *__s2,
  178.                  size_t __n));
  179.  
  180. /* Return a string describing the meaning of the signal number in SIG.  */
  181. extern char *strsignal __P ((int __sig));
  182.  
  183. /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  */
  184. extern char *stpcpy __P ((char *__dest, __const char *__src));
  185.  
  186. /* Copy no more then N bytes from SRC to DEST, returning the address
  187.    of the terminating '\0' in DEST.  */
  188. extern char *__stpncpy __P ((char *__dest, __const char *__src, size_t __n));
  189. extern char *stpncpy __P ((char *__dest, __const char *__src, size_t __n));
  190.  
  191. /* Sautee STRING briskly.  */
  192. extern char *strfry __P ((char *__string));
  193.  
  194. /* Frobnicate N bytes of S.  */
  195. extern __ptr_t memfrob __P ((__ptr_t __s, size_t __n));
  196.  
  197. extern void swab __P ((__const __ptr_t __from, __ptr_t __to,
  198.                         size_t __nbytes));
  199. #endif
  200.  
  201. __END_DECLS
  202.  
  203. #endif /* string.h  */
  204.