source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/linux/qnx4_fs.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 2.3 KB
Line 
1/*
2 *  Name                         : qnx4_fs.h
3 *  Author                       : Richard Frowijn
4 *  Function                     : qnx4 global filesystem definitions
5 *  Version                      : 1.0.2
6 *  Last modified                : 2000-01-31
7 *
8 *  History                      : 23-03-1998 created
9 */
10#ifndef _LINUX_QNX4_FS_H
11#define _LINUX_QNX4_FS_H
12
13#include <asm/types.h>
14
15#include <linux/qnxtypes.h>
16
17#define QNX4_ROOT_INO 1
18
19#define QNX4_MAX_XTNTS_PER_XBLK 60
20/* for di_status */
21#define QNX4_FILE_USED          0x01
22#define QNX4_FILE_MODIFIED      0x02
23#define QNX4_FILE_BUSY          0x04
24#define QNX4_FILE_LINK          0x08
25#define QNX4_FILE_INODE         0x10
26#define QNX4_FILE_FSYSCLEAN     0x20
27
28#define QNX4_I_MAP_SLOTS        8
29#define QNX4_Z_MAP_SLOTS        64
30#define QNX4_SUPER_MAGIC        0x002f  /* qnx4 fs detection */
31#define QNX4_VALID_FS           0x0001  /* Clean fs. */
32#define QNX4_ERROR_FS           0x0002  /* fs has errors. */
33#define QNX4_BLOCK_SIZE         0x200   /* blocksize of 512 bytes */
34#define QNX4_BLOCK_SIZE_BITS    9       /* blocksize shift */
35#define QNX4_DIR_ENTRY_SIZE     0x040   /* dir entry size of 64 bytes */
36#define QNX4_DIR_ENTRY_SIZE_BITS 6      /* dir entry size shift */
37#define QNX4_XBLK_ENTRY_SIZE    0x200   /* xblk entry size */
38#define QNX4_INODES_PER_BLOCK   0x08    /* 512 / 64 */
39
40/* for filenames */
41#define QNX4_SHORT_NAME_MAX     16
42#define QNX4_NAME_MAX           48
43
44/*
45 * This is the original qnx4 inode layout on disk.
46 */
47struct qnx4_inode_entry {
48        char            di_fname[QNX4_SHORT_NAME_MAX];
49        qnx4_off_t      di_size;
50        qnx4_xtnt_t     di_first_xtnt;
51        __u32           di_xblk;
52        __s32           di_ftime;
53        __s32           di_mtime;
54        __s32           di_atime;
55        __s32           di_ctime;
56        qnx4_nxtnt_t    di_num_xtnts;
57        qnx4_mode_t     di_mode;
58        qnx4_muid_t     di_uid;
59        qnx4_mgid_t     di_gid;
60        qnx4_nlink_t    di_nlink;
61        __u8            di_zero[4];
62        qnx4_ftype_t    di_type;
63        __u8            di_status;
64};
65
66struct qnx4_link_info {
67        char            dl_fname[QNX4_NAME_MAX];
68        __u32           dl_inode_blk;
69        __u8            dl_inode_ndx;
70        __u8            dl_spare[10];
71        __u8            dl_status;
72};
73
74struct qnx4_xblk {
75        __u32           xblk_next_xblk;
76        __u32           xblk_prev_xblk;
77        __u8            xblk_num_xtnts;
78        __u8            xblk_spare[3];
79        __s32           xblk_num_blocks;
80        qnx4_xtnt_t     xblk_xtnts[QNX4_MAX_XTNTS_PER_XBLK];
81        char            xblk_signature[8];
82        qnx4_xtnt_t     xblk_first_xtnt;
83};
84
85struct qnx4_super_block {
86        struct qnx4_inode_entry RootDir;
87        struct qnx4_inode_entry Inode;
88        struct qnx4_inode_entry Boot;
89        struct qnx4_inode_entry AltBoot;
90};
91
92#endif
Note: See TracBrowser for help on using the repository browser.