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-generic / uaccess.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  702 b   |  27 lines

  1. #ifndef _ASM_GENERIC_UACCESS_H_
  2. #define _ASM_GENERIC_UACCESS_H_
  3.  
  4. /*
  5.  * This macro should be used instead of __get_user() when accessing
  6.  * values at locations that are not known to be aligned.
  7.  */
  8. #define __get_user_unaligned(x, ptr)                    \
  9. ({                                    \
  10.     __typeof__ (*(ptr)) __x;                    \
  11.     __copy_from_user(&__x, (ptr), sizeof(*(ptr))) ? -EFAULT : 0;    \
  12.     (x) = __x;                            \
  13. })
  14.  
  15.  
  16. /*
  17.  * This macro should be used instead of __put_user() when accessing
  18.  * values at locations that are not known to be aligned.
  19.  */
  20. #define __put_user_unaligned(x, ptr)                    \
  21. ({                                    \
  22.     __typeof__ (*(ptr)) __x = (x);                    \
  23.     __copy_to_user((ptr), &__x, sizeof(*(ptr))) ? -EFAULT : 0;    \
  24. })
  25.  
  26. #endif /* _ASM_GENERIC_UACCESS_H */
  27.