1 #ifndef _LINUX_STRING_H_ 2 #define _LINUX_STRING_H_ 3 4 #include <linux/types.h> /* for size_t */ 5 #include <linux/stddef.h> /* for NULL */ 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 extern char * ___strtok; 12 extern char * strpbrk(const char *,const char *); 13 extern char * strtok(char *,const char *); 14 extern char * strsep(char **,const char *); 15 extern __kernel_size_t strspn(const char *,const char *); 16 17 18 /* 19 * Include machine specific inline routines 20 */ 21 #include <asm/string.h> 22 23 #ifndef __HAVE_ARCH_BCOPY 24 char *bcopy(const char *src, char *dest, int count); 25 #endif 26 27 #ifndef __HAVE_ARCH_STRCPY 28 extern char * strcpy(char *,const char *); 29 #endif 30 #ifndef __HAVE_ARCH_STRNCPY 31 extern char * strncpy(char *,const char *, __kernel_size_t); 32 #endif 33 #ifndef __HAVE_ARCH_STRLCPY 34 size_t strlcpy(char *, const char *, size_t); 35 #endif 36 #ifndef __HAVE_ARCH_STRCAT 37 extern char * strcat(char *, const char *); 38 #endif 39 #ifndef __HAVE_ARCH_STRNCAT 40 extern char * strncat(char *, const char *, __kernel_size_t); 41 #endif 42 #ifndef __HAVE_ARCH_STRCMP 43 extern int strcmp(const char *,const char *); 44 #endif 45 #ifndef __HAVE_ARCH_STRNCMP 46 extern int strncmp(const char *,const char *,__kernel_size_t); 47 #endif 48 #ifndef __HAVE_ARCH_STRCASECMP 49 int strcasecmp(const char *s1, const char *s2); 50 #endif 51 #ifndef __HAVE_ARCH_STRNCASECMP 52 extern int strncasecmp(const char *s1, const char *s2, __kernel_size_t len); 53 #endif 54 #ifndef __HAVE_ARCH_STRCHR 55 extern char * strchr(const char *,int); 56 #endif 57 #ifndef __HAVE_ARCH_STRRCHR 58 extern char * strrchr(const char *,int); 59 #endif 60 #include <linux/linux_string.h> 61 #ifndef __HAVE_ARCH_STRSTR 62 extern char * strstr(const char *,const char *); 63 #endif 64 #ifndef __HAVE_ARCH_STRLEN 65 extern __kernel_size_t strlen(const char *); 66 #endif 67 #ifndef __HAVE_ARCH_STRNLEN 68 extern __kernel_size_t strnlen(const char *,__kernel_size_t); 69 #endif 70 #ifndef __HAVE_ARCH_STRDUP 71 extern char * strdup(const char *); 72 #endif 73 #ifndef __HAVE_ARCH_STRSWAB 74 extern char * strswab(const char *); 75 #endif 76 77 #ifndef __HAVE_ARCH_MEMSET 78 extern void * memset(void *,int,__kernel_size_t); 79 #endif 80 #ifndef __HAVE_ARCH_MEMCPY 81 extern void * memcpy(void *,const void *,__kernel_size_t); 82 #endif 83 #ifndef __HAVE_ARCH_MEMMOVE 84 extern void * memmove(void *,const void *,__kernel_size_t); 85 #endif 86 #ifndef __HAVE_ARCH_MEMSCAN 87 extern void * memscan(void *,int,__kernel_size_t); 88 #endif 89 #ifndef __HAVE_ARCH_MEMCMP 90 extern int memcmp(const void *,const void *,__kernel_size_t); 91 #endif 92 #ifndef __HAVE_ARCH_MEMCHR 93 extern void * memchr(const void *,int,__kernel_size_t); 94 #endif 95 #ifndef __HAVE_ARCH_MEMCHR_INV 96 void *memchr_inv(const void *, int, size_t); 97 #endif 98 99 unsigned long ustrtoul(const char *cp, char **endp, unsigned int base); 100 unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base); 101 102 #ifdef __cplusplus 103 } 104 #endif 105 106 #endif /* _LINUX_STRING_H_ */ 107