:py:mod:`dissect.xfs.xfs` ========================= .. py:module:: dissect.xfs.xfs Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.xfs.xfs.XFS dissect.xfs.xfs.AllocationGroup dissect.xfs.xfs.INode Functions ~~~~~~~~~ .. autoapisummary:: :nosignatures: dissect.xfs.xfs.parse_fsblock dissect.xfs.xfs.fsb_to_bb Attributes ~~~~~~~~~~ .. autoapisummary:: dissect.xfs.xfs.log .. py:data:: log .. py:class:: XFS(fh: BinaryIO) .. py:method:: get(path: Union[int, str], node: Optional[INode] = None) -> INode .. py:method:: get_allocation_group(agnum: int) -> AllocationGroup .. py:method:: get_inode(absinum: int, *args, **kwargs) -> INode .. py:method:: get_relative_inode(agnum: int, inum: int, *args, **kwargs) -> INode .. py:method:: walk_agi(block: int, agnum: int) -> Iterator[dissect.cstruct.Instance] .. py:method:: walk_extents(block: int) -> Iterator[tuple[int, int, int, int]] .. py:method:: walk_large_tree(block: int, leaf_size: int, magic: Optional[list[int]] = None) -> Iterator[bytes] .. py:method:: walk_small_tree(block: int, agnum: int, leaf_size: int, magic: Optional[list[int]] = None) -> Iterator[bytes] .. py:class:: AllocationGroup(xfs: XFS, fh: BinaryIO, num: int) .. py:method:: get_inode(inum: int, filename: Optional[str] = None, filetype: Optional[int] = None, parent: Optional[INode] = None, lazy: bool = False) -> INode .. py:method:: walk_extents(fsb: int) -> Iterator[tuple[int, int, int, int]] .. py:method:: walk_agi() -> Iterator[dissect.cstruct.Instance] .. py:method:: walk_tree(fsb: int, magic: Optional[list[int]] = None, small: bool = False) .. py:class:: INode(ag: AllocationGroup, inum: int, filename: Optional[str] = None, filetype: Optional[int] = None, parent: Optional[INode] = None) .. py:property:: inode :type: dissect.cstruct.Instance .. py:property:: size :type: int .. py:property:: data_extents :type: int .. py:property:: attr_extents :type: int .. py:property:: filetype :type: int .. py:property:: link :type: str .. py:property:: link_inode :type: INode .. py:property:: atime :type: datetime.datetime .. py:property:: atime_ns :type: int .. py:property:: mtime :type: datetime.datetime .. py:property:: mtime_ns :type: int .. py:property:: ctime :type: datetime.datetime .. py:property:: ctime_ns :type: int .. py:property:: crtime :type: datetime.datetime .. py:property:: crtime_ns :type: int .. py:attribute:: dirlist .. py:method:: __repr__() -> str Return repr(self). .. py:method:: listdir() -> dict[str, INode] .. py:method:: iterdir() -> Iterator[INode] .. py:method:: datafork() -> BinaryIO .. py:method:: attrfork() -> BinaryIO .. py:method:: dataruns() -> list[tuple[Optional[int], int]] .. py:method:: open() -> BinaryIO .. py:function:: parse_fsblock(s: bytes) -> tuple[int, int, int, int] .. py:function:: fsb_to_bb(block: int, agblklog: int) -> tuple[int, int]