dissect.target.filesystems.exfat

Module Contents

Classes

ExfatFilesystem

Base class for filesystems.

ExfatDirEntry

Directory entry base class. Closely models os.DirEntry.

ExfatFilesystemEntry

Base class for filesystem entries.

Attributes

dissect.target.filesystems.exfat.ExfatFileTree
class dissect.target.filesystems.exfat.ExfatFilesystem(fh: BinaryIO, *args, **kwargs)

Bases: dissect.target.filesystem.Filesystem

Base class for filesystems.

__type__ = 'exfat'

A short string identifying the type of filesystem.

exfat
cluster_size
get(path: str) ExfatFilesystemEntry

Retrieve a FilesystemEntry from the filesystem.

Parameters:

path – The path which we want to retrieve.

Returns:

A FilesystemEntry for the path.

class dissect.target.filesystems.exfat.ExfatDirEntry(fs: Filesystem, path: str, name: str, entry: Any)

Bases: dissect.target.filesystem.DirEntry

Directory entry base class. Closely models os.DirEntry.

Filesystem implementations are encouraged to subclass this class to provide efficient implementations of the various methods.

Parameters:
  • fs – The filesystem the entry belongs to.

  • path – The path of the parent directory.

  • name – The name of the entry.

  • entry – The raw entry backing this directory entry.

fs: ExfatFilesystem

The filesystem the entry belongs to.

entry: ExfatFileTree

The raw entry backing this directory entry.

get() ExfatFilesystemEntry

Retrieve the FilesystemEntry this directory entry points to.

Subclasses should override this method to provide an efficient implementation.

stat(*, follow_symlinks: bool = True) dissect.target.helpers.fsutil.stat_result
class dissect.target.filesystems.exfat.ExfatFilesystemEntry(fs: ExfatFilesystem, path: str, entry: ExfatFileTree)

Bases: dissect.target.filesystem.FilesystemEntry

Base class for filesystem entries.

size
cluster
get(path: str) ExfatFilesystemEntry

Get a filesystem entry relative from the current one.

open() BinaryIO

Open this filesystem entry.

Returns:

A file-like object. Resolves symlinks when possible

scandir() collections.abc.Iterator[ExfatDirEntry]

Iterate over the contents of a directory, yields FilesystemEntry.

Returns:

An iterator of FilesystemEntry.

Return whether this entry is a link.

is_dir(follow_symlinks: bool = True) bool

Return whether this entry is a directory.

is_file(follow_symlinks: bool = True) bool

Return whether this entry is a file.

stat(follow_symlinks: bool = True) dissect.target.helpers.fsutil.stat_result

Determine the stat information of this entry.

If the entry is a symlink and follow_symlinks is True, it gets resolved, attempting to stat the path where it points to.

Parameters:

follow_symlinks – Whether to resolve the symbolic link if this entry is a symbolic link.

Returns:

The stat information of this entry.

lstat() dissect.target.helpers.fsutil.stat_result

Return the stat information of this entry.