:py:mod:`dissect.fat.exfat` =========================== .. py:module:: dissect.fat.exfat Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.fat.exfat.ExFAT .. py:class:: ExFAT(fh: BinaryIO) .. py:attribute:: filesystem .. py:attribute:: vbr .. py:attribute:: fs_name .. py:attribute:: sector_size .. py:attribute:: cluster_size .. py:attribute:: fat_sector .. py:attribute:: fat_sector_count .. py:attribute:: fat_size .. py:attribute:: fat .. py:attribute:: cluster_heap_sector .. py:attribute:: cluster_count .. py:attribute:: root_dir_cluster .. py:attribute:: root_dir_sector .. py:attribute:: root_directory .. py:attribute:: files .. py:attribute:: alloc_bitmap :value: None .. py:attribute:: upcase_table :value: None .. py:attribute:: volume_label .. py:method:: cluster_to_sector(cluster: int) -> int | None Returns the clusters' corresponding sector address :param cluster: cluster address :type cluster: int :returns: corresponding sector address if available :rtype: int .. py:method:: sector_to_cluster(sector: int) -> int | None Returns the sectors' corresponding cluster address :param sector: sector address :type sector: int :returns: corresponding cluster address if available :rtype: int .. py:method:: runlist(starting_cluster: int, not_fragmented: bool = True, size: int | None = None) -> list[tuple[int, int]] Creates a RunlistStream compatible runlist from exFAT FAT structures, in sectors. :param starting_cluster: First cluster of file, folder or location in question :type starting_cluster: int :returns: [(sector_offset, run_length_in_sectors)] :rtype: runlist .. py:method:: get_cluster_chain(starting_cluster: int) -> list[int] Reads the on disk FAT to construct the cluster chain :param starting_cluster: cluster to look-up the chain from :type starting_cluster: int :returns: Chain of clusters. Including starting_cluster :rtype: list