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>
25 #if BYTE_ORDER == BIG_ENDIAN
26 #error "big endian is not supported by target"
29 typedef uint16_t __le16;
30 typedef uint32_t __le32;
31 typedef uint64_t __le64;
36 typedef uint16_t __u16;
38 typedef uint32_t __u32;
40 typedef uint64_t __u64;
44 typedef int16_t __s16;
46 typedef int32_t __s32;
48 typedef int64_t __s64;
50 #define cpu_to_le16(x) ((__le16)(uint16_t)(x))
51 #define le16_to_cpu(x) ((uint16_t)(__le16)(x))
52 #define cpu_to_le32(x) ((__le32)(uint32_t)(x))
53 #define le32_to_cpu(x) ((uint32_t)(__le32)(x))
54 #define cpu_to_le64(x) ((__le64)(uint64_t)(x))
55 #define le64_to_cpu(x) ((uint64_t)(__le64)(x))
57 #endif /* __LINUX_TYPES_H */