2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or
5 * (at your option) any later version.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License along
13 * with this program; if not, write to the Free Software Foundation, Inc.,
14 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 #ifndef __LINUX_TYPES_H
18 #define __LINUX_TYPES_H
23 #include <sys/param.h>
24 #include <sys/cdefs.h>
26 #if BYTE_ORDER == BIG_ENDIAN
27 #error "big endian is not supported by target"
30 typedef uint16_t __le16;
31 typedef uint32_t __le32;
32 typedef uint64_t __le64;
37 typedef uint16_t __u16;
39 typedef uint32_t __u32;
41 typedef uint64_t __u64;
45 typedef int16_t __s16;
47 typedef int32_t __s32;
49 typedef int64_t __s64;
51 #define cpu_to_le16(x) ((__le16)(uint16_t)(x))
52 #define le16_to_cpu(x) ((uint16_t)(__le16)(x))
53 #define cpu_to_le32(x) ((__le32)(uint32_t)(x))
54 #define le32_to_cpu(x) ((uint32_t)(__le32)(x))
55 #define cpu_to_le64(x) ((__le64)(uint64_t)(x))
56 #define le64_to_cpu(x) ((uint64_t)(__le64)(x))
58 typedef uint16_t __be16;
59 typedef uint32_t __be32;
60 typedef uint64_t __be64;
62 #define cpu_to_be64 __cpu_to_be64
63 #define be64_to_cpu __be64_to_cpu
64 #define cpu_to_be32 __cpu_to_be32
65 #define be32_to_cpu __be32_to_cpu
66 #define cpu_to_be16 __cpu_to_be16
67 #define be16_to_cpu __be16_to_cpu
68 #define cpu_to_be64p __cpu_to_be64p
69 #define be64_to_cpup __be64_to_cpup
70 #define cpu_to_be32p __cpu_to_be32p
71 #define be32_to_cpup __be32_to_cpup
72 #define cpu_to_be16p __cpu_to_be16p
73 #define cpu_to_be64s __cpu_to_be64s
74 #define be64_to_cpus __be64_to_cpus
75 #define cpu_to_be32s __cpu_to_be32s
76 #define be32_to_cpus __be32_to_cpus
77 #define cpu_to_be16s __cpu_to_be16s
78 #define be16_to_cpus __be16_to_cpus
79 #define be16_to_cpup __be16_to_cpup
81 #endif /* __LINUX_TYPES_H */