Blame view

include/asm-generic/uaccess-unaligned.h 733 Bytes
5b17e1cd8   Arnd Bergmann   asm-generic: rena...
1
2
  #ifndef __ASM_GENERIC_UACCESS_UNALIGNED_H
  #define __ASM_GENERIC_UACCESS_UNALIGNED_H
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  
  /*
   * This macro should be used instead of __get_user() when accessing
   * values at locations that are not known to be aligned.
   */
  #define __get_user_unaligned(x, ptr)					\
  ({									\
  	__typeof__ (*(ptr)) __x;					\
  	__copy_from_user(&__x, (ptr), sizeof(*(ptr))) ? -EFAULT : 0;	\
  	(x) = __x;							\
  })
  
  
  /*
   * This macro should be used instead of __put_user() when accessing
   * values at locations that are not known to be aligned.
   */
  #define __put_user_unaligned(x, ptr)					\
  ({									\
  	__typeof__ (*(ptr)) __x = (x);					\
  	__copy_to_user((ptr), &__x, sizeof(*(ptr))) ? -EFAULT : 0;	\
  })
5b17e1cd8   Arnd Bergmann   asm-generic: rena...
25
  #endif /* __ASM_GENERIC_UACCESS_UNALIGNED_H */