1 
2 #ifndef __STRING_H
3 #define __STRING_H
4 #include <features.h>
5 #include <sys/types.h>
6 #include <stddef.h>
7 
8 /* Basic string functions */
9 extern size_t strlen __P ((__const char* __str));
10 
11 extern char * strcat __P ((char*, __const char*));
12 extern char * strcpy __P ((char*, __const char*));
13 extern int strcmp __P ((__const char*, __const char*));
14 
15 extern char * strncat __P ((char*, char*, size_t));
16 extern char * strncpy __P ((char*, char*, size_t));
17 extern int strncmp __P ((__const char*, __const char*, size_t));
18 
19 extern char * strchr __P ((char*, int));
20 extern char * strrchr __P ((char*, int));
21 extern char * strdup __P ((char*));
22 
23 /* Basic mem functions */
24 extern void * memcpy __P ((void*, __const void*, size_t));
25 extern void * memccpy __P ((void*, void*, int, size_t));
26 extern void * memchr __P ((__const void*, __const int, size_t));
27 extern void * memset __P ((void*, int, size_t));
28 extern int memcmp __P ((__const void*, __const void*, size_t));
29 
30 extern void * memmove __P ((void*, void*, size_t));
31 
32 /* Minimal (very!) locale support */
33 #define strcoll strcmp
34 #define strxfrm strncpy
35 
36 /* BSDisms */
37 #define index strchr
38 #define rindex strrchr
39 
40 /* Other common BSD functions */
41 extern int strcasecmp __P ((char*, char*));
42 extern int strncasecmp __P ((char*, char*, size_t));
43 char *strpbrk __P ((char *, char *));
44 char *strsep __P ((char **, char *));
45 char *strstr __P ((char *, char *));
46 char *strtok __P ((char *, char *));
47 size_t strcspn __P ((char *, char *));
48 size_t strspn __P ((char *, char *));
49 
50 /* Linux silly hour */
51 char *strfry __P ((char *));
52 
53 #endif
54