Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
unaligned.h
Go to the documentation of this file.
1 #ifndef __ASM_GENERIC_UNALIGNED_H
2 #define __ASM_GENERIC_UNALIGNED_H
3 
4 /*
5  * This is the most generic implementation of unaligned accesses
6  * and should work almost anywhere.
7  *
8  * If an architecture can handle unaligned accesses in hardware,
9  * it may want to use the linux/unaligned/access_ok.h implementation
10  * instead.
11  */
12 #include <asm/byteorder.h>
13 
14 #if defined(__LITTLE_ENDIAN)
17 # include <linux/unaligned/generic.h>
18 # define get_unaligned __get_unaligned_le
19 # define put_unaligned __put_unaligned_le
20 #elif defined(__BIG_ENDIAN)
23 # include <linux/unaligned/generic.h>
24 # define get_unaligned __get_unaligned_be
25 # define put_unaligned __put_unaligned_be
26 #else
27 # error need to define endianess
28 #endif
29 
30 #endif /* __ASM_GENERIC_UNALIGNED_H */