at v2.6.17-rc1 2.6 kB view raw
1#ifndef _LINUX_STRING_H_ 2#define _LINUX_STRING_H_ 3 4/* We don't want strings.h stuff being user by user stuff by accident */ 5 6#ifdef __KERNEL__ 7 8#include <linux/compiler.h> /* for inline */ 9#include <linux/types.h> /* for size_t */ 10#include <linux/stddef.h> /* for NULL */ 11 12#ifdef __cplusplus 13extern "C" { 14#endif 15 16extern char * strpbrk(const char *,const char *); 17extern char * strsep(char **,const char *); 18extern __kernel_size_t strspn(const char *,const char *); 19extern __kernel_size_t strcspn(const char *,const char *); 20 21extern char *strndup_user(const char __user *, long); 22 23/* 24 * Include machine specific inline routines 25 */ 26#include <asm/string.h> 27 28#ifndef __HAVE_ARCH_STRCPY 29extern char * strcpy(char *,const char *); 30#endif 31#ifndef __HAVE_ARCH_STRNCPY 32extern char * strncpy(char *,const char *, __kernel_size_t); 33#endif 34#ifndef __HAVE_ARCH_STRLCPY 35size_t strlcpy(char *, const char *, size_t); 36#endif 37#ifndef __HAVE_ARCH_STRCAT 38extern char * strcat(char *, const char *); 39#endif 40#ifndef __HAVE_ARCH_STRNCAT 41extern char * strncat(char *, const char *, __kernel_size_t); 42#endif 43#ifndef __HAVE_ARCH_STRLCAT 44extern size_t strlcat(char *, const char *, __kernel_size_t); 45#endif 46#ifndef __HAVE_ARCH_STRCMP 47extern int strcmp(const char *,const char *); 48#endif 49#ifndef __HAVE_ARCH_STRNCMP 50extern int strncmp(const char *,const char *,__kernel_size_t); 51#endif 52#ifndef __HAVE_ARCH_STRNICMP 53extern int strnicmp(const char *, const char *, __kernel_size_t); 54#endif 55#ifndef __HAVE_ARCH_STRCHR 56extern char * strchr(const char *,int); 57#endif 58#ifndef __HAVE_ARCH_STRNCHR 59extern char * strnchr(const char *, size_t, int); 60#endif 61#ifndef __HAVE_ARCH_STRRCHR 62extern char * strrchr(const char *,int); 63#endif 64#ifndef __HAVE_ARCH_STRSTR 65extern char * strstr(const char *,const char *); 66#endif 67#ifndef __HAVE_ARCH_STRLEN 68extern __kernel_size_t strlen(const char *); 69#endif 70#ifndef __HAVE_ARCH_STRNLEN 71extern __kernel_size_t strnlen(const char *,__kernel_size_t); 72#endif 73 74#ifndef __HAVE_ARCH_MEMSET 75extern void * memset(void *,int,__kernel_size_t); 76#endif 77#ifndef __HAVE_ARCH_MEMCPY 78extern void * memcpy(void *,const void *,__kernel_size_t); 79#endif 80#ifndef __HAVE_ARCH_MEMMOVE 81extern void * memmove(void *,const void *,__kernel_size_t); 82#endif 83#ifndef __HAVE_ARCH_MEMSCAN 84extern void * memscan(void *,int,__kernel_size_t); 85#endif 86#ifndef __HAVE_ARCH_MEMCMP 87extern int memcmp(const void *,const void *,__kernel_size_t); 88#endif 89#ifndef __HAVE_ARCH_MEMCHR 90extern void * memchr(const void *,int,__kernel_size_t); 91#endif 92 93extern char *kstrdup(const char *s, gfp_t gfp); 94 95#ifdef __cplusplus 96} 97#endif 98 99#endif 100#endif /* _LINUX_STRING_H_ */