Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v4.14-rc2 54 lines 1.6 kB view raw
1#ifndef _ASM_POWERPC_STRING_H 2#define _ASM_POWERPC_STRING_H 3 4#ifdef __KERNEL__ 5 6#define __HAVE_ARCH_STRNCPY 7#define __HAVE_ARCH_STRNCMP 8#define __HAVE_ARCH_MEMSET 9#define __HAVE_ARCH_MEMCPY 10#define __HAVE_ARCH_MEMMOVE 11#define __HAVE_ARCH_MEMCMP 12#define __HAVE_ARCH_MEMCHR 13#define __HAVE_ARCH_MEMSET16 14 15extern char * strcpy(char *,const char *); 16extern char * strncpy(char *,const char *, __kernel_size_t); 17extern __kernel_size_t strlen(const char *); 18extern int strcmp(const char *,const char *); 19extern int strncmp(const char *, const char *, __kernel_size_t); 20extern char * strcat(char *, const char *); 21extern void * memset(void *,int,__kernel_size_t); 22extern void * memcpy(void *,const void *,__kernel_size_t); 23extern void * memmove(void *,const void *,__kernel_size_t); 24extern int memcmp(const void *,const void *,__kernel_size_t); 25extern void * memchr(const void *,int,__kernel_size_t); 26 27#ifdef CONFIG_PPC64 28#define __HAVE_ARCH_MEMSET32 29#define __HAVE_ARCH_MEMSET64 30 31extern void *__memset16(uint16_t *, uint16_t v, __kernel_size_t); 32extern void *__memset32(uint32_t *, uint32_t v, __kernel_size_t); 33extern void *__memset64(uint64_t *, uint64_t v, __kernel_size_t); 34 35static inline void *memset16(uint16_t *p, uint16_t v, __kernel_size_t n) 36{ 37 return __memset16(p, v, n * 2); 38} 39 40static inline void *memset32(uint32_t *p, uint32_t v, __kernel_size_t n) 41{ 42 return __memset32(p, v, n * 4); 43} 44 45static inline void *memset64(uint64_t *p, uint64_t v, __kernel_size_t n) 46{ 47 return __memset64(p, v, n * 8); 48} 49#else 50extern void *memset16(uint16_t *, uint16_t, __kernel_size_t); 51#endif 52#endif /* __KERNEL__ */ 53 54#endif /* _ASM_POWERPC_STRING_H */