libretro.drivers.vfs.default¶
Default FileSystemDriver implementation backed by os and io.
See also
FileSystemDriverThe protocol this driver implements.
Classes
Default |
|
Default |
|
Default |
- class StandardFileHandle[source]¶
Bases:
FileHandleDefault
FileHandleimplementation backed byio.FileIO.- __init__(path, mode, hints)[source]¶
Open the file at
pathusingio.FileIO.- Parameters:
mode (
VfsFileAccess) – Access mode flags controlling read/write behavior.hints (
VfsFileAccessHint) – Hints describing the intended access pattern.
- Raises:
ValueError – If
pathis empty.OSError – If the file cannot be opened.
- close()[source]¶
Close the underlying file and release any associated resources.
- Return type:
- Returns:
Trueif the file was closed successfully,Falseotherwise.
- property path¶
Return the path that was used to open this file.
- property size¶
Return the size of the open file in bytes.
- Returns:
The current file size in bytes.
- Raises:
IOError – If the file is closed.
- seek(offset, whence)[source]¶
Move the file’s read/write offset to
offsetrelative towhence.- Parameters:
offset (
int) – The new offset, in bytes, relative towhence.whence (
VfsSeekPosition) – The reference position used to interpretoffset.
- Return type:
- Returns:
The resulting absolute offset from the start of the file.
- Raises:
IOError – If the file is closed.
- read(buffer)[source]¶
Read bytes from the file into
buffer.- Parameters:
buffer (
bytearray|memoryview) – A writable buffer to receive the bytes that were read.- Return type:
- Returns:
The number of bytes that were actually read.
- Raises:
IOError – If the file is closed.
- write(buffer)[source]¶
Write the contents of
bufferto the file at the current offset.- Parameters:
buffer (
bytes|bytearray|memoryview) – A readable buffer holding the bytes to write.- Return type:
- Returns:
The number of bytes that were actually written.
- Raises:
IOError – If the file is closed.
- property fileno¶
Return the OS-level file descriptor backing this handle.
- property vfs_handle¶
Return the
retro_vfs_file_handlethat represents this file in the VFS.- Returns:
The opaque VFS handle associated with this file.
- classmethod __new__(*args, **kwargs)¶
- class StandardDirectoryHandle[source]¶
Bases:
DirectoryHandleDefault
DirectoryHandleimplementation backed byos.scandir().- __init__(path, include_hidden)[source]¶
Open the directory at
pathfor iteration viaos.scandir().
- property dirent_name¶
Return the name of the current directory entry, if any.
- property dirent_is_dir¶
Return whether the current directory entry refers to a subdirectory.
- Returns:
Trueif the current entry is a directory,Falseotherwise.- Raises:
IOError – If the directory is closed.
ValueError – If no current entry is available.
- closedir()[source]¶
Close the directory and release any associated resources.
- Return type:
- Returns:
Trueif the directory was closed successfully,Falseotherwise.
- classmethod __new__(*args, **kwargs)¶
- class DefaultFileSystemDriver[source]¶
Bases:
FileSystemDriverDefault
FileSystemDriverimplementation backed byosandio.Open files and directories are tracked internally by their VFS handle ID so that they can be looked up when cores invoke the corresponding VFS callbacks.
- __init__(version=3)[source]¶
Initialize the driver and declare which VFS interface version it advertises.
- Parameters:
version (
1|2|3) – The VFS interface version to report viaversion; must be 1, 2, or 3. Defaults to 3.
- get_path(stream)[source]¶
Return the path that was used to open
stream.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().- Return type:
- Returns:
The original path as
bytes, orNoneifstreamis unknown.
See also
retro_vfs_get_path_t()
- open(path, mode, hints)[source]¶
Open the file at
pathand return a handle to it.- Parameters:
mode (
VfsFileAccess) – Access mode flags controlling read/write behavior.hints (
VfsFileAccessHint) – Hints describing the intended access pattern.
- Return type:
- Returns:
A new
retro_vfs_file_handle, orNoneif the file could not be opened.
See also
retro_vfs_open_t()
- close(stream)[source]¶
Close the file referenced by
stream.- Parameters:
stream (
retro_vfs_file_handle) – A file handle previously returned byopen().- Return type:
- Returns:
Trueif the file was closed successfully,Falseotherwise.
See also
retro_vfs_close_t()
- size(stream)[source]¶
Return the size of the file referenced by
stream.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().- Return type:
- Returns:
The size of the file in bytes, or a negative value on failure.
See also
retro_vfs_size_t()
- truncate(stream, length)[source]¶
Truncate (or extend) the file referenced by
streamtolengthbytes.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().length (
int) – The new size of the file, in bytes.
- Return type:
- Returns:
Trueif the operation succeeded,Falseotherwise.
See also
retro_vfs_truncate_t()
- tell(stream)[source]¶
Return the current read/write offset within
stream.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().- Return type:
- Returns:
The current byte offset from the start of the file, or a negative value on failure.
See also
retro_vfs_tell_t()
- seek(stream, offset, whence)[source]¶
Move
stream’s read/write offset tooffsetrelative towhence.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().offset (
int) – The new offset, in bytes, relative towhence.whence (
VfsSeekPosition) – The reference position used to interpretoffset.
- Return type:
- Returns:
The resulting absolute offset, or a negative value on failure.
See also
retro_vfs_seek_t()
- read(stream, buffer)[source]¶
Read bytes from
streamintobuffer.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().buffer (
memoryview[int]) – A writable buffer to receive the bytes that were read.
- Return type:
- Returns:
The number of bytes actually read, or a negative value on failure.
See also
retro_vfs_read_t()
- write(stream, buffer)[source]¶
Write the contents of
buffertostreamat its current offset.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().buffer (
memoryview[int]) – A readable buffer holding the bytes to write.
- Return type:
- Returns:
The number of bytes actually written, or a negative value on failure.
See also
retro_vfs_write_t()
- flush(stream)[source]¶
Flush any buffered data for
streamto the underlying storage.- Parameters:
stream (
retro_vfs_file_handle) – An open file handle previously returned byopen().- Return type:
- Returns:
Trueif the flush succeeded,Falseotherwise.
See also
retro_vfs_flush_t()
- remove(path)[source]¶
Delete the file at
path.- Parameters:
path (
bytes) – Path of the file to remove, encoded asbytes.- Return type:
- Returns:
Trueif the file was removed successfully,Falseotherwise.
See also
retro_vfs_remove_t()
- rename(old_path, new_path)[source]¶
Rename or move the file at
old_pathtonew_path.- Parameters:
- Return type:
- Returns:
Trueif the rename succeeded,Falseotherwise.
See also
retro_vfs_rename_t()
- stat(path)[source]¶
Return file metadata for
path.- Parameters:
path (
bytes) – Path of the entry to inspect, encoded asbytes.- Return type:
- Returns:
A pair of
VfsStatflags and the entry size in bytes, orNoneifpathdoes not exist.
See also
retro_vfs_stat_t()
- mkdir(path)[source]¶
Create a directory at
path.- Parameters:
path (
bytes) – Path of the directory to create, encoded asbytes.- Return type:
- Returns:
A
VfsMkdirResultdescribing the outcome of the operation.
See also
retro_vfs_mkdir_t()
- opendir(path, include_hidden)[source]¶
Open the directory at
pathfor iteration.- Parameters:
- Return type:
- Returns:
A new
retro_vfs_dir_handle, orNoneif the directory could not be opened.
See also
retro_vfs_opendir_t()
- readdir(dir)[source]¶
Advance
dirto its next entry.- Parameters:
dir (
retro_vfs_dir_handle) – An open directory handle previously returned byopendir().- Return type:
- Returns:
Trueif a new entry is now available,Falseif the end was reached.
See also
retro_vfs_readdir_t()
- dirent_get_name(dir)[source]¶
Return the name of the current entry in
dir.- Parameters:
dir (
retro_vfs_dir_handle) – An open directory handle previously returned byopendir().- Return type:
- Returns:
The entry name as
bytes, orNoneif no entry is available.
See also
retro_vfs_dirent_get_name_t()
- dirent_is_dir(dir)[source]¶
Return whether the current entry in
dirrefers to a subdirectory.- Parameters:
dir (
retro_vfs_dir_handle) – An open directory handle previously returned byopendir().- Return type:
- Returns:
Trueif the current entry is a directory,Falseotherwise.
See also
retro_vfs_dirent_is_dir_t()
- classmethod __new__(*args, **kwargs)¶
- closedir(dir)[source]¶
Close
dirand release any associated resources.- Parameters:
dir (
retro_vfs_dir_handle) – A directory handle previously returned byopendir().- Return type:
- Returns:
Trueif the directory was closed successfully,Falseotherwise.
See also
retro_vfs_closedir_t()
- property version¶
Return the VFS interface version implemented by this driver.
- Returns:
The supported VFS interface version (1, 2, or 3).