123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- #ifndef _H_JFS_DINODE
- #define _H_JFS_DINODE
- #define INODESLOTSIZE 128
- #define L2INODESLOTSIZE 7
- #define log2INODESIZE 9
- struct dinode {
-
- __le32 di_inostamp;
- __le32 di_fileset;
- __le32 di_number;
- __le32 di_gen;
- pxd_t di_ixpxd;
- __le64 di_size;
- __le64 di_nblocks;
- __le32 di_nlink;
- __le32 di_uid;
- __le32 di_gid;
- __le32 di_mode;
- struct timestruc_t di_atime;
- struct timestruc_t di_ctime;
- struct timestruc_t di_mtime;
- struct timestruc_t di_otime;
- dxd_t di_acl;
- dxd_t di_ea;
- __le32 di_next_index;
- __le32 di_acltype;
-
- union {
- struct {
-
- struct dir_table_slot _table[12];
- dtroot_t _dtroot;
- } _dir;
- #define di_dirtable u._dir._table
- #define di_dtroot u._dir._dtroot
- #define di_parent di_dtroot.header.idotdot
- #define di_DASD di_dtroot.header.DASD
- struct {
- union {
- u8 _data[96];
- struct {
- void *_imap;
- __le32 _gengen;
- } _imap;
- } _u1;
- #define di_gengen u._file._u1._imap._gengen
- union {
- xtpage_t _xtroot;
- struct {
- u8 unused[16];
- dxd_t _dxd;
- union {
- __le32 _rdev;
- u8 _fastsymlink[128];
- } _u;
- u8 _inlineea[128];
- } _special;
- } _u2;
- } _file;
- #define di_xtroot u._file._u2._xtroot
- #define di_dxd u._file._u2._special._dxd
- #define di_btroot di_xtroot
- #define di_inlinedata u._file._u2._special._u
- #define di_rdev u._file._u2._special._u._rdev
- #define di_fastsymlink u._file._u2._special._u._fastsymlink
- #define di_inlineea u._file._u2._special._inlineea
- } u;
- };
- #define IFJOURNAL 0x00010000
- #define ISPARSE 0x00020000
- #define INLINEEA 0x00040000
- #define ISWAPFILE 0x00800000
- #define IREADONLY 0x02000000
- #define IHIDDEN 0x04000000
- #define ISYSTEM 0x08000000
- #define IDIRECTORY 0x20000000
- #define IARCHIVE 0x40000000
- #define INEWNAME 0x80000000
- #define IRASH 0x4E000000
- #define ATTRSHIFT 25
- #define JFS_NOATIME_FL 0x00080000
- #define JFS_DIRSYNC_FL 0x00100000
- #define JFS_SYNC_FL 0x00200000
- #define JFS_SECRM_FL 0x00400000
- #define JFS_UNRM_FL 0x00800000
- #define JFS_APPEND_FL 0x01000000
- #define JFS_IMMUTABLE_FL 0x02000000
- #define JFS_FL_USER_VISIBLE 0x03F80000
- #define JFS_FL_USER_MODIFIABLE 0x03F80000
- #define JFS_FL_INHERIT 0x03C80000
- #define JFS_IOC_GETFLAGS _IOR('f', 1, long)
- #define JFS_IOC_SETFLAGS _IOW('f', 2, long)
- #define JFS_IOC_GETFLAGS32 _IOR('f', 1, int)
- #define JFS_IOC_SETFLAGS32 _IOW('f', 2, int)
- #endif
|