1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef _LINUX_QNX4_FS_H 8 #define _LINUX_QNX4_FS_H 9 #include <linux/types.h> 10 #include <linux/qnxtypes.h> 11 #include <linux/magic.h> 12 #define QNX4_ROOT_INO 1 13 #define QNX4_MAX_XTNTS_PER_XBLK 60 14 #define QNX4_FILE_USED 0x01 15 #define QNX4_FILE_MODIFIED 0x02 16 #define QNX4_FILE_BUSY 0x04 17 #define QNX4_FILE_LINK 0x08 18 #define QNX4_FILE_INODE 0x10 19 #define QNX4_FILE_FSYSCLEAN 0x20 20 #define QNX4_I_MAP_SLOTS 8 21 #define QNX4_Z_MAP_SLOTS 64 22 #define QNX4_VALID_FS 0x0001 23 #define QNX4_ERROR_FS 0x0002 24 #define QNX4_BLOCK_SIZE 0x200 25 #define QNX4_BLOCK_SIZE_BITS 9 26 #define QNX4_DIR_ENTRY_SIZE 0x040 27 #define QNX4_DIR_ENTRY_SIZE_BITS 6 28 #define QNX4_XBLK_ENTRY_SIZE 0x200 29 #define QNX4_INODES_PER_BLOCK 0x08 30 #define QNX4_SHORT_NAME_MAX 16 31 #define QNX4_NAME_MAX 48 32 struct qnx4_inode_entry { 33 char di_fname[QNX4_SHORT_NAME_MAX]; 34 qnx4_off_t di_size; 35 qnx4_xtnt_t di_first_xtnt; 36 __le32 di_xblk; 37 __le32 di_ftime; 38 __le32 di_mtime; 39 __le32 di_atime; 40 __le32 di_ctime; 41 qnx4_nxtnt_t di_num_xtnts; 42 qnx4_mode_t di_mode; 43 qnx4_muid_t di_uid; 44 qnx4_mgid_t di_gid; 45 qnx4_nlink_t di_nlink; 46 __u8 di_zero[4]; 47 qnx4_ftype_t di_type; 48 __u8 di_status; 49 }; 50 struct qnx4_link_info { 51 char dl_fname[QNX4_NAME_MAX]; 52 __le32 dl_inode_blk; 53 __u8 dl_inode_ndx; 54 __u8 dl_spare[10]; 55 __u8 dl_status; 56 }; 57 struct qnx4_xblk { 58 __le32 xblk_next_xblk; 59 __le32 xblk_prev_xblk; 60 __u8 xblk_num_xtnts; 61 __u8 xblk_spare[3]; 62 __le32 xblk_num_blocks; 63 qnx4_xtnt_t xblk_xtnts[QNX4_MAX_XTNTS_PER_XBLK]; 64 char xblk_signature[8]; 65 qnx4_xtnt_t xblk_first_xtnt; 66 }; 67 struct qnx4_super_block { 68 struct qnx4_inode_entry RootDir; 69 struct qnx4_inode_entry Inode; 70 struct qnx4_inode_entry Boot; 71 struct qnx4_inode_entry AltBoot; 72 }; 73 #endif 74