]>
Commit | Line | Data |
---|---|---|
a1d312de | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
1da177e4 LT |
2 | /* |
3 | * types.h - Defines for NTFS Linux kernel driver specific types. | |
4 | * Part of the Linux-NTFS project. | |
5 | * | |
3f2faef0 | 6 | * Copyright (c) 2001-2005 Anton Altaparmakov |
1da177e4 LT |
7 | */ |
8 | ||
9 | #ifndef _LINUX_NTFS_TYPES_H | |
10 | #define _LINUX_NTFS_TYPES_H | |
11 | ||
12 | #include <linux/types.h> | |
13 | ||
14 | typedef __le16 le16; | |
15 | typedef __le32 le32; | |
16 | typedef __le64 le64; | |
17 | typedef __u16 __bitwise sle16; | |
18 | typedef __u32 __bitwise sle32; | |
19 | typedef __u64 __bitwise sle64; | |
20 | ||
21 | /* 2-byte Unicode character type. */ | |
22 | typedef le16 ntfschar; | |
23 | #define UCHAR_T_SIZE_BITS 1 | |
24 | ||
25 | /* | |
26 | * Clusters are signed 64-bit values on NTFS volumes. We define two types, LCN | |
27 | * and VCN, to allow for type checking and better code readability. | |
28 | */ | |
29 | typedef s64 VCN; | |
30 | typedef sle64 leVCN; | |
31 | typedef s64 LCN; | |
32 | typedef sle64 leLCN; | |
33 | ||
34 | /* | |
35 | * The NTFS journal $LogFile uses log sequence numbers which are signed 64-bit | |
36 | * values. We define our own type LSN, to allow for type checking and better | |
37 | * code readability. | |
38 | */ | |
39 | typedef s64 LSN; | |
40 | typedef sle64 leLSN; | |
41 | ||
3f2faef0 AA |
42 | /* |
43 | * The NTFS transaction log $UsnJrnl uses usn which are signed 64-bit values. | |
44 | * We define our own type USN, to allow for type checking and better code | |
45 | * readability. | |
46 | */ | |
47 | typedef s64 USN; | |
48 | typedef sle64 leUSN; | |
49 | ||
1da177e4 LT |
50 | typedef enum { |
51 | CASE_SENSITIVE = 0, | |
52 | IGNORE_CASE = 1, | |
53 | } IGNORE_CASE_BOOL; | |
54 | ||
55 | #endif /* _LINUX_NTFS_TYPES_H */ |