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-arm / string.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.2 KB  |  51 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.          void *__p = (p); size_t __n = n;            \
  33.         if ((__n) != 0) {                    \
  34.             if (__builtin_constant_p((v)) && (v) == 0)    \
  35.                 __memzero((__p),(__n));            \
  36.             else                        \
  37.                 memset((__p),(v),(__n));        \
  38.         }                            \
  39.         (__p);                            \
  40.     })
  41.  
  42. #define memzero(p,n)                             \
  43.     ({                                 \
  44.          void *__p = (p); size_t __n = n;            \
  45.          if ((__n) != 0)                     \
  46.              __memzero((__p),(__n));             \
  47.          (__p);                             \
  48.      })
  49.  
  50. #endif
  51.