ext2fs.h File Reference


Detailed Description

Contains the structures and function APIs for EXT2FS file system support.

Go to the source code of this file.

Data Structures

struct  ext2fs_sb
struct  ext2fs_gd
struct  ext2fs_inode
struct  ext2fs_dentry1
struct  ext2fs_dentry2
struct  ext2fs_ea_header
struct  ext2fs_ea_entry
struct  ext2fs_pos_acl_head
struct  ext2fs_pos_acl_entry_sh
struct  ext2fs_pos_acl_entry_lo
struct  ext2fs_journ_sb
struct  ext2fs_journ_head
struct  ext2fs_journ_dentry
struct  EXT2FS_JINFO
struct  EXT2FS_INFO

Defines

#define PRI_EXT2GRP   PRIu32
#define EXT2FS_FIRSTINO   1
#define EXT2FS_ROOTINO   2
#define EXT2FS_NDADDR   12
#define EXT2FS_NIADDR   3
#define EXT2FS_SBOFF   1024
#define EXT2FS_FS_MAGIC   0xef53
#define EXT2FS_MAXNAMLEN   255
#define EXT2FS_MAXPATHLEN   4096
#define EXT2FS_MIN_BLOCK_SIZE   1024
#define EXT2FS_MAX_BLOCK_SIZE   4096
#define EXT2FS_DEV_BSIZE   512
#define EXT2FS_STATE_VALID   0x0001
#define EXT2FS_STATE_ERROR   0x0002
#define EXT2FS_OS_LINUX   0
#define EXT2FS_OS_HURD   1
#define EXT2FS_OS_MASIX   2
#define EXT2FS_OS_FREEBSD   3
#define EXT2FS_OS_LITES   4
#define EXT2FS_REV_ORIG   0
#define EXT2FS_REV_DYN   1
#define EXT2FS_FEATURE_COMPAT_DIR_PREALLOC   0x0001
#define EXT2FS_FEATURE_COMPAT_IMAGIC_INODES   0x0002
#define EXT2FS_FEATURE_COMPAT_HAS_JOURNAL   0x0004
#define EXT2FS_FEATURE_COMPAT_EXT_ATTR   0x0008
#define EXT2FS_FEATURE_COMPAT_RESIZE_INO   0x0010
#define EXT2FS_FEATURE_COMPAT_DIR_INDEX   0x0020
#define EXT2FS_FEATURE_INCOMPAT_COMPRESSION   0x0001
#define EXT2FS_FEATURE_INCOMPAT_FILETYPE   0x0002
#define EXT2FS_FEATURE_INCOMPAT_RECOVER   0x0004
#define EXT2FS_FEATURE_INCOMPAT_JOURNAL_DEV   0x0008
#define EXT2FS_FEATURE_RO_COMPAT_SPARSE_SUPER   0x0001
#define EXT2FS_FEATURE_RO_COMPAT_LARGE_FILE   0x0002
#define EXT2FS_FEATURE_RO_COMPAT_BTREE_DIR   0x0004
#define ext2_dtog_lcl(fsi, fs, d)
#define ext2_cgbase_lcl(fsi, fs, c)
#define EXT2_IN_FMT   0017000
#define EXT2_IN_SOCK   0140000
#define EXT2_IN_LNK   0120000
#define EXT2_IN_REG   0100000
#define EXT2_IN_BLK   0060000
#define EXT2_IN_DIR   0040000
#define EXT2_IN_CHR   0020000
#define EXT2_IN_FIFO   0010000
#define EXT2_IN_SECDEL   0x00000001
#define EXT2_IN_UNRM   0x00000002
#define EXT2_IN_COMP   0x00000004
#define EXT2_IN_SYNC   0x00000008
#define EXT2_IN_IMM   0x00000010
#define EXT2_IN_APPEND   0x00000020
#define EXT2_IN_NODUMP   0x00000040
#define EXT2_IN_NOA   0x00000080
#define EXT2FS_DIRSIZ_lcl(len)   ((len + 8 + 3) & ~(3))
#define EXT2_DE_UNKNOWN   0
#define EXT2_DE_REG_FILE   1
#define EXT2_DE_DIR   2
#define EXT2_DE_CHRDEV   3
#define EXT2_DE_BLKDEV   4
#define EXT2_DE_FIFO   5
#define EXT2_DE_SOCK   6
#define EXT2_DE_SYMLINK   7
#define EXT2_DE_MAX   8
#define EXT2_DE_V1   1
#define EXT2_DE_V2   2
#define EXT2_EA_MAGIC   0xEA020000
#define EXT2_EA_IDX_USER   1
#define EXT2_EA_IDX_POSIX_ACL_ACCESS   2
#define EXT2_EA_IDX_POSIX_ACL_DEFAULT   3
#define EXT2_EA_IDX_TRUSTED   4
#define EXT2_EA_IDX_LUSTRE   5
#define EXT2_EA_IDX_SECURITY   6
#define EXT2_EA_LEN(nlen)   ((((nlen) + 19 ) / 4) * 4)
#define EXT2_PACL_TAG_USERO   0x01
#define EXT2_PACL_TAG_USER   0x02
#define EXT2_PACL_TAG_GRPO   0x04
#define EXT2_PACL_TAG_GRP   0x08
#define EXT2_PACL_TAG_MASK   0x10
#define EXT2_PACL_TAG_OTHER   0x20
#define EXT2_PACL_PERM_EXEC   0x01
#define EXT2_PACL_PERM_WRITE   0x02
#define EXT2_PACL_PERM_READ   0x04
#define EXT2_JMAGIC   0xC03b3998
#define EXT2_J_ETYPE_DESC   1
#define EXT2_J_ETYPE_COM   2
#define EXT2_J_ETYPE_SB1   3
#define EXT2_J_ETYPE_SB2   4
#define EXT2_J_ETYPE_REV   5
#define EXT2_J_DENTRY_ESC   1
#define EXT2_J_DENTRY_SAMEID   2
#define EXT2_J_DENTRY_DEL   4
#define EXT2_J_DENTRY_LAST   8

Typedefs

typedef uint32_t EXT2_GRPNUM_T

Functions

uint8_t ext2fs_dent_walk (TSK_FS_INFO *, INUM_T, TSK_FS_DENT_FLAG_ENUM, TSK_FS_DENT_TYPE_WALK_CB, void *)
 Process the contents of a directory and pass each file name to a callback function.
uint8_t ext2fs_jentry_walk (TSK_FS_INFO *, int, TSK_FS_JENTRY_WALK_CB, void *)
uint8_t ext2fs_jblk_walk (TSK_FS_INFO *, DADDR_T, DADDR_T, int, TSK_FS_JBLK_WALK_CB, void *)
uint8_t ext2fs_jopen (TSK_FS_INFO *, INUM_T)


Define Documentation

#define ext2_cgbase_lcl ( fsi,
fs,
 ) 

Value:

((DADDR_T)((tsk_getu32(fsi->endian, fs->s_blocks_per_group) * (c)) + \
        tsk_getu32(fsi->endian, fs->s_first_data_block)))

#define ext2_dtog_lcl ( fsi,
fs,
 ) 

Value:

(EXT2_GRPNUM_T)(((d) - tsk_getu32(fsi->endian, fs->s_first_data_block)) / \
        tsk_getu32(fsi->endian, fs->s_blocks_per_group))


Function Documentation

uint8_t ext2fs_dent_walk ( TSK_FS_INFO fs,
INUM_T  inode,
TSK_FS_DENT_FLAG_ENUM  flags,
TSK_FS_DENT_TYPE_WALK_CB  action,
void *  ptr 
)

Process the contents of a directory and pass each file name to a callback function.

Parameters:
fs File system to analyze
inode Metadata address of directory to analyze
flags Flags used during analysis
action Callback function that is called for each file name
ptr Pointer to data that is passed to callback
Returns:
1 on error and 0 on success


Generated on Wed Nov 28 16:11:15 2007 for The Sleuth Kit (Incomplete) by  doxygen 1.5.1