Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
qnx6_fs.h
Go to the documentation of this file.
1 /*
2  * Name : qnx6_fs.h
3  * Author : Kai Bankett
4  * Function : qnx6 global filesystem definitions
5  * History : 17-01-2012 created
6  */
7 #ifndef _LINUX_QNX6_FS_H
8 #define _LINUX_QNX6_FS_H
9 
10 #include <linux/types.h>
11 #include <linux/magic.h>
12 
13 #define QNX6_ROOT_INO 1
14 
15 /* for di_status */
16 #define QNX6_FILE_DIRECTORY 0x01
17 #define QNX6_FILE_DELETED 0x02
18 #define QNX6_FILE_NORMAL 0x03
19 
20 #define QNX6_SUPERBLOCK_SIZE 0x200 /* superblock always is 512 bytes */
21 #define QNX6_SUPERBLOCK_AREA 0x1000 /* area reserved for superblock */
22 #define QNX6_BOOTBLOCK_SIZE 0x2000 /* heading bootblock area */
23 #define QNX6_DIR_ENTRY_SIZE 0x20 /* dir entry size of 32 bytes */
24 #define QNX6_INODE_SIZE 0x80 /* each inode is 128 bytes */
25 #define QNX6_INODE_SIZE_BITS 7 /* inode entry size shift */
26 
27 #define QNX6_NO_DIRECT_POINTERS 16 /* 16 blockptrs in sbl/inode */
28 #define QNX6_PTR_MAX_LEVELS 5 /* maximum indirect levels */
29 
30 /* for filenames */
31 #define QNX6_SHORT_NAME_MAX 27
32 #define QNX6_LONG_NAME_MAX 510
33 
34 /* list of mount options */
35 #define QNX6_MOUNT_MMI_FS 0x010000 /* mount as Audi MMI 3G fs */
36 
37 /*
38  * This is the original qnx6 inode layout on disk.
39  * Each inode is 128 byte long.
40  */
56 };
57 
58 /*
59  * Each directory entry is maximum 32 bytes long.
60  * If more characters or special characters required it is stored
61  * in the longfilenames structure.
62  */
67 };
68 
69 /*
70  * Longfilename direntries have a different structure
71  */
78 };
79 
83 };
84 
90  __u8 spare[6];
91 };
92 
97  __fs32 sb_ctime; /* time the fs was created */
98  __fs32 sb_atime; /* last access time */
100  __fs16 sb_version1; /* filesystem version information */
101  __fs16 sb_version2; /* filesystem version information */
113 };
114 
115 /* Audi MMI 3G superblock layout is different to plain qnx6 */
121  __u8 sb_id[12];
132 };
133 
134 #endif