ext2_dinode.h (243652) | ext2_dinode.h (244475) |
---|---|
1/*- 2 * Copyright (c) 2009 Aditya Sarawgi 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2009 Aditya Sarawgi 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/fs/ext2fs/ext2_dinode.h 243652 2012-11-28 15:48:32Z pfg $ | 26 * $FreeBSD: head/sys/fs/ext2fs/ext2_dinode.h 244475 2012-12-20 02:22:36Z pfg $ |
27 */ 28 29#ifndef _FS_EXT2FS_EXT2_DINODE_H_ 30#define _FS_EXT2FS_EXT2_DINODE_H_ 31 32#define e2di_size_high e2di_dacl 33 34/* --- 20 unchanged lines hidden (view full) --- 55#define EXT2_SECRM 0x00000001 /* Secure deletion */ 56#define EXT2_UNRM 0x00000002 /* Undelete */ 57#define EXT2_COMPR 0x00000004 /* Compress file */ 58#define EXT2_SYNC 0x00000008 /* Synchronous updates */ 59#define EXT2_IMMUTABLE 0x00000010 /* Immutable file */ 60#define EXT2_APPEND 0x00000020 /* writes to file may only append */ 61#define EXT2_NODUMP 0x00000040 /* do not dump file */ 62#define EXT2_NOATIME 0x00000080 /* do not update atime */ | 27 */ 28 29#ifndef _FS_EXT2FS_EXT2_DINODE_H_ 30#define _FS_EXT2FS_EXT2_DINODE_H_ 31 32#define e2di_size_high e2di_dacl 33 34/* --- 20 unchanged lines hidden (view full) --- 55#define EXT2_SECRM 0x00000001 /* Secure deletion */ 56#define EXT2_UNRM 0x00000002 /* Undelete */ 57#define EXT2_COMPR 0x00000004 /* Compress file */ 58#define EXT2_SYNC 0x00000008 /* Synchronous updates */ 59#define EXT2_IMMUTABLE 0x00000010 /* Immutable file */ 60#define EXT2_APPEND 0x00000020 /* writes to file may only append */ 61#define EXT2_NODUMP 0x00000040 /* do not dump file */ 62#define EXT2_NOATIME 0x00000080 /* do not update atime */ |
63#define EXT2_INDEX 0x00001000 /* hash-indexed directory */ 64#define EXT2_IMAGIC 0x00002000 /* AFS directory */ 65#define EXT2_JOURNAL_DATA 0x00004000 /* file data should be journaled */ 66#define EXT2_NOTAIL 0x00008000 /* file tail should not be merged */ 67#define EXT2_DIRSYNC 0x00010000 /* dirsync behaviour */ 68#define EXT2_TOPDIR 0x00020000 /* Top of directory hierarchies*/ 69#define EXT2_HUGE_FILE 0x00040000 /* Set to each huge file */ 70#define EXT2_EXTENTS 0x00080000 /* Inode uses extents */ 71#define EXT2_EOFBLOCKS 0x00400000 /* Blocks allocated beyond EOF */ | |
72 | 63 |
64#define EXT4_INDEX 0x00001000 /* hash-indexed directory */ 65#define EXT4_IMAGIC 0x00002000 /* AFS directory */ 66#define EXT4_JOURNAL_DATA 0x00004000 /* file data should be journaled */ 67#define EXT4_NOTAIL 0x00008000 /* file tail should not be merged */ 68#define EXT4_DIRSYNC 0x00010000 /* dirsync behaviour */ 69#define EXT4_TOPDIR 0x00020000 /* Top of directory hierarchies*/ 70#define EXT4_HUGE_FILE 0x00040000 /* Set to each huge file */ 71#define EXT4_EXTENTS 0x00080000 /* Inode uses extents */ 72#define EXT4_EOFBLOCKS 0x00400000 /* Blocks allocated beyond EOF */ 73 |
|
73/* 74 * Definitions for nanosecond timestamps. 75 * Ext3 inode versioning, 2006-12-13. 76 */ 77#define EXT3_EPOCH_BITS 2 78#define EXT3_EPOCH_MASK ((1 << EXT3_EPOCH_BITS) - 1) 79#define EXT3_NSEC_MASK (~0UL << EXT3_EPOCH_BITS) 80 | 74/* 75 * Definitions for nanosecond timestamps. 76 * Ext3 inode versioning, 2006-12-13. 77 */ 78#define EXT3_EPOCH_BITS 2 79#define EXT3_EPOCH_MASK ((1 << EXT3_EPOCH_BITS) - 1) 80#define EXT3_NSEC_MASK (~0UL << EXT3_EPOCH_BITS) 81 |
81#define E2DI_HAS_XTIME(ip) (EXT2_INODE_SIZE((ip)->i_e2fs) > \ 82 E2FS_REV0_INODE_SIZE) | 82#define E2DI_HAS_XTIME(ip) (EXT2_HAS_RO_COMPAT_FEATURE(ip->i_e2fs, EXT2F_ROCOMPAT_EXTRA_ISIZE)) |
83 84/* 85 * Structure of an inode on the disk 86 */ 87struct ext2fs_dinode { 88 uint16_t e2di_mode; /* 0: IFMT, permissions; see below. */ 89 uint16_t e2di_uid; /* 2: Owner UID */ 90 uint32_t e2di_size; /* 4: Size (in bytes) */ --- 31 unchanged lines hidden --- | 83 84/* 85 * Structure of an inode on the disk 86 */ 87struct ext2fs_dinode { 88 uint16_t e2di_mode; /* 0: IFMT, permissions; see below. */ 89 uint16_t e2di_uid; /* 2: Owner UID */ 90 uint32_t e2di_size; /* 4: Size (in bytes) */ --- 31 unchanged lines hidden --- |