- Stephen Rothwell: APM updates
[davej-history.git] / include / linux / ntfs_fs_i.h
blob3ac18ea47e07e767bc91a36a8476311434403beb
1 #ifndef _LINUX_NTFS_FS_I_H
2 #define _LINUX_NTFS_FS_I_H
4 /* Forward declarations, to keep number of mutual includes low */
5 struct ntfs_attribute;
6 struct ntfs_sb_info;
8 /* Duplicate definitions from ntfs/ntfstypes.h */
9 #ifndef NTFS_INTEGRAL_TYPES
10 #define NTFS_INTEGRAL_TYPES
11 typedef u8 ntfs_u8;
12 typedef u16 ntfs_u16;
13 typedef u32 ntfs_u32;
14 typedef u64 ntfs_u64;
15 typedef s8 ntfs_s8;
16 typedef s16 ntfs_s16;
17 typedef s32 ntfs_s32;
18 typedef s64 ntfs_s64;
19 #endif
21 #ifndef NTMODE_T
22 #define NTMODE_T
23 typedef __kernel_mode_t ntmode_t;
24 #endif
25 #ifndef NTFS_UID_T
26 #define NTFS_UID_T
27 typedef uid_t ntfs_uid_t;
28 #endif
29 #ifndef NTFS_GID_T
30 #define NTFS_GID_T
31 typedef gid_t ntfs_gid_t;
32 #endif
33 #ifndef NTFS_SIZE_T
34 #define NTFS_SIZE_T
35 typedef __kernel_size_t ntfs_size_t;
36 #endif
37 #ifndef NTFS_TIME_T
38 #define NTFS_TIME_T
39 typedef __kernel_time_t ntfs_time_t;
40 #endif
42 /* unicode character type */
43 #ifndef NTFS_WCHAR_T
44 #define NTFS_WCHAR_T
45 typedef unsigned short ntfs_wchar_t;
46 #endif
47 /* file offset */
48 #ifndef NTFS_OFFSET_T
49 #define NTFS_OFFSET_T
50 typedef unsigned long long ntfs_offset_t;
51 #endif
52 /* UTC */
53 #ifndef NTFS_TIME64_T
54 #define NTFS_TIME64_T
55 typedef unsigned long long ntfs_time64_t;
56 #endif
57 /* This is really unsigned long long. So we support only volumes up to 2 TB */
58 #ifndef NTFS_CLUSTER_T
59 #define NTFS_CLUSTER_T
60 typedef unsigned int ntfs_cluster_t;
61 #endif
63 /* Definition of NTFS in-memory inode structure */
64 struct ntfs_inode_info{
65 unsigned long mmu_private;
66 struct ntfs_sb_info *vol;
67 int i_number; /* should be really 48 bits */
68 unsigned sequence_number;
69 unsigned char* attr; /* array of the attributes */
70 int attr_count; /* size of attrs[] */
71 struct ntfs_attribute *attrs;
72 int record_count; /* size of records[] */
73 /* array of the record numbers of the MFT
74 whose attributes have been inserted in the inode */
75 int *records;
76 union{
77 struct{
78 int recordsize;
79 int clusters_per_record;
80 }index;
81 } u;
84 #endif