Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * endian.h - Defines for endianness handling in NTFS Linux kernel driver.
0004  *        Part of the Linux-NTFS project.
0005  *
0006  * Copyright (c) 2001-2004 Anton Altaparmakov
0007  */
0008 
0009 #ifndef _LINUX_NTFS_ENDIAN_H
0010 #define _LINUX_NTFS_ENDIAN_H
0011 
0012 #include <asm/byteorder.h>
0013 #include "types.h"
0014 
0015 /*
0016  * Signed endianness conversion functions.
0017  */
0018 
0019 static inline s16 sle16_to_cpu(sle16 x)
0020 {
0021     return le16_to_cpu((__force le16)x);
0022 }
0023 
0024 static inline s32 sle32_to_cpu(sle32 x)
0025 {
0026     return le32_to_cpu((__force le32)x);
0027 }
0028 
0029 static inline s64 sle64_to_cpu(sle64 x)
0030 {
0031     return le64_to_cpu((__force le64)x);
0032 }
0033 
0034 static inline s16 sle16_to_cpup(sle16 *x)
0035 {
0036     return le16_to_cpu(*(__force le16*)x);
0037 }
0038 
0039 static inline s32 sle32_to_cpup(sle32 *x)
0040 {
0041     return le32_to_cpu(*(__force le32*)x);
0042 }
0043 
0044 static inline s64 sle64_to_cpup(sle64 *x)
0045 {
0046     return le64_to_cpu(*(__force le64*)x);
0047 }
0048 
0049 static inline sle16 cpu_to_sle16(s16 x)
0050 {
0051     return (__force sle16)cpu_to_le16(x);
0052 }
0053 
0054 static inline sle32 cpu_to_sle32(s32 x)
0055 {
0056     return (__force sle32)cpu_to_le32(x);
0057 }
0058 
0059 static inline sle64 cpu_to_sle64(s64 x)
0060 {
0061     return (__force sle64)cpu_to_le64(x);
0062 }
0063 
0064 static inline sle16 cpu_to_sle16p(s16 *x)
0065 {
0066     return (__force sle16)cpu_to_le16(*x);
0067 }
0068 
0069 static inline sle32 cpu_to_sle32p(s32 *x)
0070 {
0071     return (__force sle32)cpu_to_le32(*x);
0072 }
0073 
0074 static inline sle64 cpu_to_sle64p(s64 *x)
0075 {
0076     return (__force sle64)cpu_to_le64(*x);
0077 }
0078 
0079 #endif /* _LINUX_NTFS_ENDIAN_H */