patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / fs / ntfs / endian.h
1 /*
2  * endian.h - Defines for endianness handling in NTFS Linux kernel driver.
3  *            Part of the Linux-NTFS project.
4  *
5  * Copyright (c) 2001-2004 Anton Altaparmakov
6  *
7  * This program/include file is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License as published
9  * by the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program/include file is distributed in the hope that it will be
13  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program (in the main directory of the Linux-NTFS
19  * distribution in the file COPYING); if not, write to the Free Software
20  * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  */
22
23 #ifndef _LINUX_NTFS_ENDIAN_H
24 #define _LINUX_NTFS_ENDIAN_H
25
26 #include <asm/byteorder.h>
27
28 /*
29  * Signed endianness conversion defines.
30  */
31 #define sle16_to_cpu(x)         ((s16)__le16_to_cpu((s16)(x)))
32 #define sle32_to_cpu(x)         ((s32)__le32_to_cpu((s32)(x)))
33 #define sle64_to_cpu(x)         ((s64)__le64_to_cpu((s64)(x)))
34
35 #define sle16_to_cpup(x)        ((s16)__le16_to_cpu(*(s16*)(x)))
36 #define sle32_to_cpup(x)        ((s32)__le32_to_cpu(*(s32*)(x)))
37 #define sle64_to_cpup(x)        ((s64)__le64_to_cpu(*(s64*)(x)))
38
39 #define cpu_to_sle16(x)         ((s16)__cpu_to_le16((s16)(x)))
40 #define cpu_to_sle32(x)         ((s32)__cpu_to_le32((s32)(x)))
41 #define cpu_to_sle64(x)         ((s64)__cpu_to_le64((s64)(x)))
42
43 #define cpu_to_sle16p(x)        ((s16)__cpu_to_le16(*(s16*)(x)))
44 #define cpu_to_sle32p(x)        ((s32)__cpu_to_le32(*(s32*)(x)))
45 #define cpu_to_sle64p(x)        ((s64)__cpu_to_le64(*(s64*)(x)))
46
47 #endif /* _LINUX_NTFS_ENDIAN_H */