dissect.xfs.xfs#

Module Contents#

Classes#

Functions#

Attributes#

log

dissect.xfs.xfs.log#
class dissect.xfs.xfs.XFS(fh: BinaryIO)#
get(path: int | str, node: INode | None = None) INode#
get_allocation_group(agnum: int) AllocationGroup#
get_inode(absinum: int, *args, **kwargs) INode#
get_relative_inode(agnum: int, inum: int, *args, **kwargs) INode#
walk_agi(block: int, agnum: int) Iterator[dissect.cstruct.Instance]#
walk_extents(block: int) Iterator[tuple[int, int, int, int]]#
walk_large_tree(block: int, leaf_size: int, magic: list[int] | None = None) Iterator[bytes]#
walk_small_tree(block: int, agnum: int, leaf_size: int, magic: list[int] | None = None) Iterator[bytes]#
class dissect.xfs.xfs.AllocationGroup(xfs: XFS, fh: BinaryIO, num: int)#
get_inode(inum: int, filename: str | None = None, filetype: int | None = None, parent: INode | None = None, lazy: bool = False) INode#
walk_extents(fsb: int) Iterator[tuple[int, int, int, int]]#
walk_agi() Iterator[dissect.cstruct.Instance]#
walk_tree(fsb: int, magic: list[int] | None = None, small: bool = False)#
class dissect.xfs.xfs.INode(ag: AllocationGroup, inum: int, filename: str | None = None, filetype: int | None = None, parent: INode | None = None)#
property inode: dissect.cstruct.Instance#
property size: int#
property data_extents: int#
property attr_extents: int#
property filetype: int#
property atime: datetime.datetime#
property atime_ns: int#
property mtime: datetime.datetime#
property mtime_ns: int#
property ctime: datetime.datetime#
property ctime_ns: int#
property crtime: datetime.datetime#
property crtime_ns: int#
dirlist#
__repr__() str#

Return repr(self).

listdir() dict[str, INode]#
iterdir() Iterator[INode]#
datafork() BinaryIO#
attrfork() BinaryIO#
dataruns() list[tuple[int | None, int]]#
open() BinaryIO#
dissect.xfs.xfs.parse_fsblock(s: bytes) tuple[int, int, int, int]#
dissect.xfs.xfs.fsb_to_bb(block: int, agblklog: int) tuple[int, int]#