string.h 1.6 KB

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