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