blob: 74c4b625aecde1a086671ab61c32f54c33f4fb00 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _LINUX_QNX4_FS_H
8#define _LINUX_QNX4_FS_H
9#include <linux/types.h>
10#include <linux/qnxtypes.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#include <linux/magic.h>
12#define QNX4_ROOT_INO 1
13#define QNX4_MAX_XTNTS_PER_XBLK 60
14#define QNX4_FILE_USED 0x01
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define QNX4_FILE_MODIFIED 0x02
16#define QNX4_FILE_BUSY 0x04
17#define QNX4_FILE_LINK 0x08
18#define QNX4_FILE_INODE 0x10
Ben Cheng655a7c02013-10-16 16:09:24 -070019#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
Ben Cheng655a7c02013-10-16 16:09:24 -070023#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
Ben Cheng655a7c02013-10-16 16:09:24 -070027#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
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define QNX4_NAME_MAX 48
32struct qnx4_inode_entry {
Tao Baod7db5942015-01-28 10:07:51 -080033 char di_fname[QNX4_SHORT_NAME_MAX];
34 qnx4_off_t di_size;
Tao Baod7db5942015-01-28 10:07:51 -080035 qnx4_xtnt_t di_first_xtnt;
36 __le32 di_xblk;
37 __le32 di_ftime;
38 __le32 di_mtime;
Tao Baod7db5942015-01-28 10:07:51 -080039 __le32 di_atime;
40 __le32 di_ctime;
41 qnx4_nxtnt_t di_num_xtnts;
42 qnx4_mode_t di_mode;
Tao Baod7db5942015-01-28 10:07:51 -080043 qnx4_muid_t di_uid;
44 qnx4_mgid_t di_gid;
45 qnx4_nlink_t di_nlink;
46 __u8 di_zero[4];
Tao Baod7db5942015-01-28 10:07:51 -080047 qnx4_ftype_t di_type;
48 __u8 di_status;
Ben Cheng655a7c02013-10-16 16:09:24 -070049};
50struct qnx4_link_info {
Tao Baod7db5942015-01-28 10:07:51 -080051 char dl_fname[QNX4_NAME_MAX];
52 __le32 dl_inode_blk;
53 __u8 dl_inode_ndx;
54 __u8 dl_spare[10];
Tao Baod7db5942015-01-28 10:07:51 -080055 __u8 dl_status;
Ben Cheng655a7c02013-10-16 16:09:24 -070056};
57struct qnx4_xblk {
Tao Baod7db5942015-01-28 10:07:51 -080058 __le32 xblk_next_xblk;
Tao Baod7db5942015-01-28 10:07:51 -080059 __le32 xblk_prev_xblk;
60 __u8 xblk_num_xtnts;
61 __u8 xblk_spare[3];
62 __le32 xblk_num_blocks;
Tao Baod7db5942015-01-28 10:07:51 -080063 qnx4_xtnt_t xblk_xtnts[QNX4_MAX_XTNTS_PER_XBLK];
64 char xblk_signature[8];
65 qnx4_xtnt_t xblk_first_xtnt;
Ben Cheng655a7c02013-10-16 16:09:24 -070066};
Ben Cheng655a7c02013-10-16 16:09:24 -070067struct qnx4_super_block {
Tao Baod7db5942015-01-28 10:07:51 -080068 struct qnx4_inode_entry RootDir;
69 struct qnx4_inode_entry Inode;
70 struct qnx4_inode_entry Boot;
Tao Baod7db5942015-01-28 10:07:51 -080071 struct qnx4_inode_entry AltBoot;
Ben Cheng655a7c02013-10-16 16:09:24 -070072};
73#endif