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