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-m32r / unaligned.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  553 b   |  26 lines

  1. #ifndef _ASM_M32R_UNALIGNED_H
  2. #define _ASM_M32R_UNALIGNED_H
  3.  
  4. /* $Id$ */
  5.  
  6. /* orig : generic 2.4.18 */
  7.  
  8. /*
  9.  * For the benefit of those who are trying to port Linux to another
  10.  * architecture, here are some C-language equivalents.
  11.  */
  12.  
  13. #include <asm/string.h>
  14.  
  15.  
  16. #define get_unaligned(ptr) \
  17.   ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
  18.  
  19. #define put_unaligned(val, ptr)                \
  20.   ({ __typeof__(*(ptr)) __tmp = (val);            \
  21.      memmove((ptr), &__tmp, sizeof(*(ptr)));        \
  22.      (void)0; })
  23.  
  24.  
  25. #endif  /* _ASM_M32R_UNALIGNED_H */
  26.