Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * types.h - Defines for NTFS Linux kernel driver specific types.
0004  *       Part of the Linux-NTFS project.
0005  *
0006  * Copyright (c) 2001-2005 Anton Altaparmakov
0007  */
0008 
0009 #ifndef _LINUX_NTFS_TYPES_H
0010 #define _LINUX_NTFS_TYPES_H
0011 
0012 #include <linux/types.h>
0013 
0014 typedef __le16 le16;
0015 typedef __le32 le32;
0016 typedef __le64 le64;
0017 typedef __u16 __bitwise sle16;
0018 typedef __u32 __bitwise sle32;
0019 typedef __u64 __bitwise sle64;
0020 
0021 /* 2-byte Unicode character type. */
0022 typedef le16 ntfschar;
0023 #define UCHAR_T_SIZE_BITS 1
0024 
0025 /*
0026  * Clusters are signed 64-bit values on NTFS volumes. We define two types, LCN
0027  * and VCN, to allow for type checking and better code readability.
0028  */
0029 typedef s64 VCN;
0030 typedef sle64 leVCN;
0031 typedef s64 LCN;
0032 typedef sle64 leLCN;
0033 
0034 /*
0035  * The NTFS journal $LogFile uses log sequence numbers which are signed 64-bit
0036  * values.  We define our own type LSN, to allow for type checking and better
0037  * code readability.
0038  */
0039 typedef s64 LSN;
0040 typedef sle64 leLSN;
0041 
0042 /*
0043  * The NTFS transaction log $UsnJrnl uses usn which are signed 64-bit values.
0044  * We define our own type USN, to allow for type checking and better code
0045  * readability.
0046  */
0047 typedef s64 USN;
0048 typedef sle64 leUSN;
0049 
0050 typedef enum {
0051     CASE_SENSITIVE = 0,
0052     IGNORE_CASE = 1,
0053 } IGNORE_CASE_BOOL;
0054 
0055 #endif /* _LINUX_NTFS_TYPES_H */