1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * endian.h - Defines for endianness handling in NTFS Linux kernel driver.
4 * Part of the Linux-NTFS project.
5 *
6 * Copyright (c) 2001-2004 Anton Altaparmakov
7 */
8
9#ifndef _LINUX_NTFS_ENDIAN_H
10#define _LINUX_NTFS_ENDIAN_H
11
12#include <asm/byteorder.h>
13#include "types.h"
14
15/*
16 * Signed endianness conversion functions.
17 */
18
19static inline s16 sle16_to_cpu(sle16 x)
20{
21 return le16_to_cpu((__force le16)x);
22}
23
24static inline s32 sle32_to_cpu(sle32 x)
25{
26 return le32_to_cpu((__force le32)x);
27}
28
29static inline s64 sle64_to_cpu(sle64 x)
30{
31 return le64_to_cpu((__force le64)x);
32}
33
34static inline s16 sle16_to_cpup(sle16 *x)
35{
36 return le16_to_cpu(*(__force le16*)x);
37}
38
39static inline s32 sle32_to_cpup(sle32 *x)
40{
41 return le32_to_cpu(*(__force le32*)x);
42}
43
44static inline s64 sle64_to_cpup(sle64 *x)
45{
46 return le64_to_cpu(*(__force le64*)x);
47}
48
49static inline sle16 cpu_to_sle16(s16 x)
50{
51 return (__force sle16)cpu_to_le16(x);
52}
53
54static inline sle32 cpu_to_sle32(s32 x)
55{
56 return (__force sle32)cpu_to_le32(x);
57}
58
59static inline sle64 cpu_to_sle64(s64 x)
60{
61 return (__force sle64)cpu_to_le64(x);
62}
63
64static inline sle16 cpu_to_sle16p(s16 *x)
65{
66 return (__force sle16)cpu_to_le16(*x);
67}
68
69static inline sle32 cpu_to_sle32p(s32 *x)
70{
71 return (__force sle32)cpu_to_le32(*x);
72}
73
74static inline sle64 cpu_to_sle64p(s64 *x)
75{
76 return (__force sle64)cpu_to_le64(*x);
77}
78
79#endif /* _LINUX_NTFS_ENDIAN_H */
80

source code of linux/fs/ntfs/endian.h