diff --git a/src/LibHac/IO/IFileSystem.cs b/src/LibHac/IO/IFileSystem.cs
index 19b74dc2..54929a2f 100644
--- a/src/LibHac/IO/IFileSystem.cs
+++ b/src/LibHac/IO/IFileSystem.cs
@@ -33,8 +33,20 @@ namespace LibHac.IO
/// An I/O error occurred while deleting the directory.
void DeleteDirectory(string path);
+ ///
+ /// Deletes the specified directory and any subdirectories and files in the directory.
+ ///
+ /// The full path of the directory to delete.
+ /// The specified directory does not exist.
+ /// An I/O error occurred while deleting the directory.
void DeleteDirectoryRecursively(string path);
+ ///
+ /// Deletes any subdirectories and files in the specified directory.
+ ///
+ /// The full path of the directory to clean.
+ /// The specified directory does not exist.
+ /// An I/O error occurred while deleting the directory.
void CleanDirectoryRecursively(string path);
///
@@ -105,10 +117,26 @@ namespace LibHac.IO
/// The specified path does not exist.
DirectoryEntryType GetEntryType(string path);
+ ///
+ /// Gets the amount of available free space on a drive, in bytes.
+ ///
+ /// The path of the drive to query. Unused in almost all cases.
+ /// The amount of free space available on the drive, in bytes.
long GetFreeSpaceSize(string path);
+ ///
+ /// Gets the total size of storage space on a drive, in bytes.
+ ///
+ /// The path of the drive to query. Unused in almost all cases.
+ /// The total size of the drive, in bytes.
long GetTotalSpaceSize(string path);
+ ///
+ /// Gets the creation, last accessed, and last modified timestamps of a file or directory.
+ ///
+ /// The path of the file or directory.
+ /// The timestamps for the specified file or directory.
+ /// This value is expressed as a Unix timestamp
FileTimeStampRaw GetFileTimeStampRaw(string path);
///
@@ -117,6 +145,17 @@ namespace LibHac.IO
///
void Commit();
+ ///
+ /// Performs a query on the specified file.
+ ///
+ /// This method allows implementers of to accept queries and operations
+ /// not included in the IFileSystem interface itself.
+ /// The buffer for receiving data from the query operation.
+ /// May be unused depending on the query type.
+ /// The buffer for sending data to the query operation.
+ /// May be unused depending on the query type.
+ /// The full path of the file to query.
+ /// The type of query to perform.
void QueryEntry(Span outBuffer, ReadOnlySpan inBuffer, string path, QueryId queryId);
}
@@ -146,6 +185,10 @@ namespace LibHac.IO
public enum QueryId
{
+ ///
+ /// Turns a folder in a into a concatenation file by
+ /// setting the directory's archive flag.
+ ///
MakeConcatFile = 0
}
}
\ No newline at end of file