1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * types.h - Defines for NTFS Linux kernel driver specific types.
4 * Part of the Linux-NTFS project.
5 *
6 * Copyright (c) 2001-2005 Anton Altaparmakov
7 */
8
9#ifndef _LINUX_NTFS_TYPES_H
10#define _LINUX_NTFS_TYPES_H
11
12#include <linux/types.h>
13
14typedef __le16 le16;
15typedef __le32 le32;
16typedef __le64 le64;
17typedef __u16 __bitwise sle16;
18typedef __u32 __bitwise sle32;
19typedef __u64 __bitwise sle64;
20
21/* 2-byte Unicode character type. */
22typedef 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 */
29typedef s64 VCN;
30typedef sle64 leVCN;
31typedef s64 LCN;
32typedef 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 */
39typedef s64 LSN;
40typedef sle64 leLSN;
41
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 */
47typedef s64 USN;
48typedef sle64 leUSN;
49
50typedef enum {
51 CASE_SENSITIVE = 0,
52 IGNORE_CASE = 1,
53} IGNORE_CASE_BOOL;
54
55#endif /* _LINUX_NTFS_TYPES_H */
56

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