3 * This file defines four things:
4 * - generic platform independent fixed-size types (e.g. ntfs_u32)
5 * - specific fixed-size types (e.g. ntfs_offset_t)
6 * - macros that read and write those types from and to byte arrays
7 * - types derived from OS specific ones
9 * Copyright (C) 1996,1998, 1999 Martin von Löwis
12 #ifdef NTFS_IN_LINUX_KERNEL
13 /* get installed types if we compile the kernel*/
17 /* We don't need to define __LITTLE_ENDIAN, as we use
20 #include "ntfsendian.h"
21 #include <asm/types.h>
24 #ifndef NTFS_INTEGRAL_TYPES
25 #define NTFS_INTEGRAL_TYPES
36 /* unicode character type */
39 typedef u16 ntfs_wchar_t
;
44 typedef u64 ntfs_offset_t
;
49 typedef u64 ntfs_time64_t
;
51 /* This is really unsigned long long. So we support only volumes up to 2 TB */
52 #ifndef NTFS_CLUSTER_T
53 #define NTFS_CLUSTER_T
54 typedef u32 ntfs_cluster_t
;
58 #define MAX_CLUSTER_T (~((ntfs_cluster_t)0))
61 /* architecture independent macros */
63 /* PUTU32 would not clear all bytes */
64 #define NTFS_PUTINUM(p,i) NTFS_PUTU64(p,i->i_number);\
65 NTFS_PUTU16(((char*)p)+6,i->sequence_number)
67 /* system dependent types */
68 #include <asm/posix_types.h>
71 typedef __kernel_mode_t ntmode_t
;
75 typedef uid_t ntfs_uid_t
;
79 typedef gid_t ntfs_gid_t
;
83 typedef __kernel_size_t ntfs_size_t
;
87 typedef __kernel_time_t ntfs_time_t
;
92 * c-file-style: "linux"