diff --git a/Aaru.CommonTypes/Structs/Filesystems.cs b/Aaru.CommonTypes/Structs/Filesystems.cs index 6c8290302..770c6b1e8 100644 --- a/Aaru.CommonTypes/Structs/Filesystems.cs +++ b/Aaru.CommonTypes/Structs/Filesystems.cs @@ -150,7 +150,13 @@ public enum FileAttributes : ulong /// File is a pipe Pipe = 0x1000000000000, /// File is a socket - Socket = 0x2000000000000 + Socket = 0x2000000000000, + /// File has not been closed + Open = 0x4000000000000, + /// File has been deleted + Deleted = 0x8000000000000, + /// File can be executed + Executable = 0x10000000000000 } /// Information about a file entry @@ -158,49 +164,49 @@ public class FileEntryInfo { /// File attributes public FileAttributes Attributes { get; set; } - + /// File length in blocks public long Blocks { get; set; } - + /// File block size in bytes public long BlockSize { get; set; } - + /// If file points to a device, device number. Null if the underlying filesystem does not support them. public ulong? DeviceNo { get; set; } - + /// POSIX group ID. Null if the underlying filesystem does not support them. public ulong? GID { get; set; } - + /// inode number for this file (or other unique identifier for the volume) public ulong Inode { get; set; } - + /// File length in bytes public long Length { get; set; } - + /// Number of hard links pointing to this file (. and .. entries count as hard links) public ulong Links { get; set; } - + /// POSIX permissions/mode for this file. Null if the underlying filesystem does not support them. public uint? Mode { get; set; } - + /// POSIX owner ID. Null if the underlying filesystem does not support them. public ulong? UID { get; set; } - + /// File creation date in UTC. Null if the underlying filesystem does not support them. public DateTime? CreationTimeUtc { get; set; } - + /// File last access date in UTC. Null if the underlying filesystem does not support them. public DateTime? AccessTimeUtc { get; set; } - + /// File attributes change date in UTC. Null if the underlying filesystem does not support them. public DateTime? StatusChangeTimeUtc { get; set; } - + /// File last backup date in UTC. Null if the underlying filesystem does not support them. public DateTime? BackupTimeUtc { get; set; } - + /// File last modification date in UTC. Null if the underlying filesystem does not support them. public DateTime? LastWriteTimeUtc { get; set; } - + /// File creation date. Null if the underlying filesystem does not support them. [JsonIgnore] public DateTime? CreationTime @@ -208,7 +214,7 @@ public class FileEntryInfo get => CreationTimeUtc?.ToLocalTime(); set => CreationTimeUtc = value?.ToUniversalTime(); } - + /// File last access date. Null if the underlying filesystem does not support them. [JsonIgnore] public DateTime? AccessTime @@ -216,7 +222,7 @@ public class FileEntryInfo get => AccessTimeUtc?.ToLocalTime(); set => AccessTimeUtc = value?.ToUniversalTime(); } - + /// File attributes change date. Null if the underlying filesystem does not support them. [JsonIgnore] public DateTime? StatusChangeTime @@ -224,7 +230,7 @@ public class FileEntryInfo get => StatusChangeTimeUtc?.ToLocalTime(); set => StatusChangeTimeUtc = value?.ToUniversalTime(); } - + /// File last backup date. Null if the underlying filesystem does not support them. [JsonIgnore] public DateTime? BackupTime @@ -232,7 +238,7 @@ public class FileEntryInfo get => BackupTimeUtc?.ToLocalTime(); set => BackupTimeUtc = value?.ToUniversalTime(); } - + /// File last modification date. Null if the underlying filesystem does not support them. [JsonIgnore] public DateTime? LastWriteTime @@ -262,10 +268,10 @@ public class FileSystemInfo public Guid PluginId; /// Filesystem type public string Type; - + /// Initializes an empty instance of this structure public FileSystemInfo() => Id = new FileSystemId(); - + /// Gets a clone of this structure /// Clone of this structure public FileSystemInfo ShallowCopy() => (FileSystemInfo)MemberwiseClone(); @@ -284,7 +290,7 @@ public struct FileSystemId /// Set to true if the identifier is a GUID [FieldOffset(2)] public bool IsGuid; - + /// Identifier as a 32-bit integer [FieldOffset(3)] public uint Serial32;