types.h (1317B)
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 */