home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-arm26 / string.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.0 KB  |  44 lines

  1. #ifndef __ASM_ARM_STRING_H
  2. #define __ASM_ARM_STRING_H
  3.  
  4. /*
  5.  * We don't do inline string functions, since the
  6.  * optimised inline asm versions are not small.
  7.  */
  8.  
  9. #define __HAVE_ARCH_STRRCHR
  10. extern char * strrchr(const char * s, int c);
  11.  
  12. #define __HAVE_ARCH_STRCHR
  13. extern char * strchr(const char * s, int c);
  14.  
  15. #define __HAVE_ARCH_MEMCPY
  16. extern void * memcpy(void *, const void *, __kernel_size_t);
  17.  
  18. #define __HAVE_ARCH_MEMMOVE
  19. extern void * memmove(void *, const void *, __kernel_size_t);
  20.  
  21. #define __HAVE_ARCH_MEMCHR
  22. extern void * memchr(const void *, int, __kernel_size_t);
  23.  
  24. #define __HAVE_ARCH_MEMZERO
  25. #define __HAVE_ARCH_MEMSET
  26. extern void * memset(void *, int, __kernel_size_t);
  27.  
  28. extern void __memzero(void *ptr, __kernel_size_t n);
  29.  
  30. #define memset(p,v,n)                            \
  31.     ({                                \
  32.         if ((n) != 0) {                        \
  33.             if (__builtin_constant_p((v)) && (v) == 0)    \
  34.                 __memzero((p),(n));            \
  35.             else                        \
  36.                 memset((p),(v),(n));            \
  37.         }                            \
  38.         (p);                            \
  39.     })
  40.  
  41. #define memzero(p,n) ({ if ((n) != 0) __memzero((p),(n)); (p); })
  42.  
  43. #endif
  44.