Add "Author" field to plugins.

This commit is contained in:
2018-08-29 22:15:43 +01:00
parent bb359d88d3
commit abfc476e01
155 changed files with 937 additions and 980 deletions

View File

@@ -49,6 +49,7 @@ namespace DiscImageChef.Filesystems
public string Name => "Alexander Osipov DOS file system";
public Guid Id => new Guid("668E5039-9DDD-442A-BE1B-A315D6E38E26");
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -48,6 +48,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Apple File System";
public Guid Id => new Guid("A4060F9D-2909-42E2-9D95-DB31FA7EA797");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -81,6 +81,7 @@ namespace DiscImageChef.Filesystems
public string Name => "Acorn Advanced Disc Filing System";
public Guid Id => new Guid("BAFC1E50-9C64-4CD3-8400-80628CC27AFA");
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
// TODO: BBC Master hard disks are untested...
public bool Identify(IMediaImage imagePlugin, Partition partition)

View File

@@ -54,6 +54,7 @@ namespace DiscImageChef.Filesystems
public string Name => "Amiga DOS filesystem";
public Guid Id => new Guid("3c882400-208c-427d-a086-9119852a1bc7");
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -56,14 +56,13 @@ namespace DiscImageChef.Filesystems.AppleDOS
public Encoding Encoding { get; private set; }
public string Name => "Apple DOS File System";
public Guid Id => new Guid("8658A1E9-B2E7-4BCC-9638-157A31B0A700\n");
public string Author => "Natalia Portillo";
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
new (string name, Type type, string description)[] { };
static Dictionary<string, string> GetDefaultOptions()
{
return new Dictionary<string, string> {{"debug", false.ToString()}};
}
static Dictionary<string, string> GetDefaultOptions() =>
new Dictionary<string, string> {{"debug", false.ToString()}};
#region Caches
/// <summary>Caches track/sector lists</summary>

View File

@@ -60,6 +60,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Apple Hierarchical File System";
public Guid Id => new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -59,6 +59,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Apple HFS+ filesystem";
public Guid Id => new Guid("36405F8D-0D26-6EBE-436F-62F0586B4F08");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -66,14 +66,13 @@ namespace DiscImageChef.Filesystems.AppleMFS
public string Name => "Apple Macintosh File System";
public Guid Id => new Guid("36405F8D-0D26-4066-6538-5DBF5D065C3A");
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
// TODO: Implement Finder namespace (requires decoding Desktop database)
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
new (string name, Type type, string description)[] { };
static Dictionary<string, string> GetDefaultOptions()
{
return new Dictionary<string, string> {{"debug", false.ToString()}};
}
static Dictionary<string, string> GetDefaultOptions() =>
new Dictionary<string, string> {{"debug", false.ToString()}};
}
}

View File

@@ -53,6 +53,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "AtheOS Filesystem";
public Guid Id => new Guid("AAB2C4F1-DC07-49EE-A948-576CC51B58C5");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -58,6 +58,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Be Filesystem";
public Guid Id => new Guid("dc8572b3-b6ad-46e4-8de9-cbe123ff6672");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "B-tree file system";
public Guid Id => new Guid("C904CF15-5222-446B-B7DB-02EAC5D781B3");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -47,6 +47,7 @@ namespace DiscImageChef.Filesystems
public string Name => "Commodore file system";
public Guid Id => new Guid("D104744E-A376-450C-BAC0-1347C93F983B");
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{
@@ -99,9 +100,7 @@ namespace DiscImageChef.Filesystems
XmlFsType = new FileSystemType
{
Type = "Commodore file system",
Clusters = (long)imagePlugin.Info.Sectors,
ClusterSize = 256
Type = "Commodore file system", Clusters = (long)imagePlugin.Info.Sectors, ClusterSize = 256
};
if(imagePlugin.Info.Sectors == 3200)

View File

@@ -117,13 +117,12 @@ namespace DiscImageChef.Filesystems.CPM
public Encoding Encoding { get; private set; }
public string Name => "CP/M File System";
public Guid Id => new Guid("AA2B8585-41DF-4E3B-8A35-D1A935E2F8A1");
public string Author => "Natalia Portillo";
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
new (string name, Type type, string description)[] { };
static Dictionary<string, string> GetDefaultOptions()
{
return new Dictionary<string, string> {{"debug", false.ToString()}};
}
static Dictionary<string, string> GetDefaultOptions() =>
new Dictionary<string, string> {{"debug", false.ToString()}};
}
}

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Cram filesystem";
public Guid Id => new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -48,6 +48,7 @@ namespace DiscImageChef.Filesystems
public string Name => "ECMA-67";
public Guid Id => new Guid("62A2D44A-CBC1-4377-B4B6-28C5C92034A1");
public FileSystemType XmlFsType { get; private set; }
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Extent File System Plugin";
public Guid Id => new Guid("52A43F90-9AF3-4391-ADFE-65598DEEABAB");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -52,6 +52,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "F2FS Plugin";
public Guid Id => new Guid("82B0920F-5F0D-4063-9F57-ADE0AE02ECE5");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -138,10 +138,10 @@ namespace DiscImageChef.Filesystems
("d3e93f8b82ef250db216037d827a4896dc97d2be", "TracerST"), // OEM ID: "TracerST"
//("b741f85ef40288ccc8887de1f6e849009097e1c9", "Norton Utilities"), // OEM ID: "IBM PNCI", need to confirm
("c49b275537ac7237cac64d83f34d2024ae0ca96a",
"Windows NT (Spanish)"), // Need to check Windows >= 2000 (Spanish)
"Windows NT (Spanish)"), // Need to check Windows >= 2000 (Spanish)
//("a48b0e4b696317eed829e960d1aa576562a4f185", "TracerST"), // Unknown OEM ID, apparently Tracer, unconfirmed
("fe477972602ba76658ff7143859045b3c4036ca5",
"iomega"), // OEM ID: "SHIPDISK", contains timedate on boot code may not be unique
"iomega"), // OEM ID: "SHIPDISK", contains timedate on boot code may not be unique
("ef79a1f33e5237827eb812dda548f0e4e916d815", "GEOS"), // OEM ID: "GEOWORKS"
("8524587ee91494cc51cc2c9d07453e84be0cdc33", "Hero Soft v1.10"),
("681a0d9d662ba368e6acb0d0bf602e1f56411144", "Human68k 2.00")
@@ -152,6 +152,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Microsoft File Allocation Table";
public Guid Id => new Guid("33513B2C-0D26-0D2D-32C3-79D8611158E0");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{
@@ -1492,7 +1493,7 @@ namespace DiscImageChef.Filesystems
bootChk = Sha1Context.Data(fakeBpb.boot_code, out _);
// Workaround that PCExchange jumps into "FAT16 "...
// Workaround that PCExchange jumps into "FAT16 "...
if(XmlFsType.SystemIdentifier == "PCX 2.0 ") fakeBpb.jump[1] += 8;
// Check that jumps to a correct boot code position and has boot signature set.
@@ -2136,15 +2137,18 @@ namespace DiscImageChef.Filesystems
/// <summary>Operating system.</summary>
public byte operatingSystem;
/// <summary>Software write protection.</summary>
[MarshalAs(UnmanagedType.U1)] public bool writeProtected;
[MarshalAs(UnmanagedType.U1)]
public bool writeProtected;
/// <summary>Copy protected.</summary>
[MarshalAs(UnmanagedType.U1)] public bool copyProtected;
[MarshalAs(UnmanagedType.U1)]
public bool copyProtected;
/// <summary>Boot type.</summary>
public byte bootType;
/// <summary>Partitions.</summary>
public byte partitionCount;
/// <summary>Is hard disk?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool winchester;
[MarshalAs(UnmanagedType.U1)]
public bool winchester;
/// <summary>Sector size.</summary>
public ushort sectorSize;
/// <summary>Sectors per track.</summary>
@@ -2197,15 +2201,18 @@ namespace DiscImageChef.Filesystems
/// <summary>Major BIOS version.</summary>
public byte biosMajorVersion;
/// <summary>Diagnostics enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool diagnosticsFlag;
[MarshalAs(UnmanagedType.U1)]
public bool diagnosticsFlag;
/// <summary>Printer device.</summary>
public byte prnDevice;
/// <summary>Bell volume.</summary>
public byte bellVolume;
/// <summary>Cache enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool enableCache;
[MarshalAs(UnmanagedType.U1)]
public bool enableCache;
/// <summary>Graphics enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool enableGraphics;
[MarshalAs(UnmanagedType.U1)]
public bool enableGraphics;
/// <summary>Length in sectors of DOS.</summary>
public byte dosLength;
/// <summary>Length in sectors of FONT file.</summary>
@@ -2221,7 +2228,8 @@ namespace DiscImageChef.Filesystems
/// <summary>Keyboard click volume.</summary>
public byte keyboardVolume;
/// <summary>Auto-repeat enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool autorepeat;
[MarshalAs(UnmanagedType.U1)]
public bool autorepeat;
/// <summary>Auto-repeat lead-in.</summary>
public byte autorepeatLeadIn;
/// <summary>Auto-repeat interval.</summary>
@@ -2236,7 +2244,8 @@ namespace DiscImageChef.Filesystems
/// <summary>Screen line width.</summary>
public byte lineWidth;
/// <summary>Screen disabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool imageOff;
[MarshalAs(UnmanagedType.U1)]
public bool imageOff;
/// <summary>Spare area for screen values expansion.</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 13)]
public byte[] spareScreen;
@@ -2251,13 +2260,16 @@ namespace DiscImageChef.Filesystems
/// <summary>Stop bits.</summary>
public byte stopBits;
/// <summary>Parity enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool parityCheck;
[MarshalAs(UnmanagedType.U1)]
public bool parityCheck;
/// <summary>Parity type.</summary>
public byte parityType;
/// <summary>Xon/Xoff enabled on TX.</summary>
[MarshalAs(UnmanagedType.U1)] public bool txXonXoff;
[MarshalAs(UnmanagedType.U1)]
public bool txXonXoff;
/// <summary>Xon/Xoff enabled on RX.</summary>
[MarshalAs(UnmanagedType.U1)] public bool rxXonXoff;
[MarshalAs(UnmanagedType.U1)]
public bool rxXonXoff;
/// <summary>Xon character.</summary>
public byte xonCharacter;
/// <summary>Xoff character.</summary>
@@ -2265,30 +2277,39 @@ namespace DiscImageChef.Filesystems
/// <summary>Xon/Xoff buffer on RX.</summary>
public ushort rxXonXoffBuffer;
/// <summary>DTR/DSR enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool dtrDsr;
[MarshalAs(UnmanagedType.U1)]
public bool dtrDsr;
/// <summary>CTS/RTS enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool ctsRts;
[MarshalAs(UnmanagedType.U1)]
public bool ctsRts;
/// <summary>NULLs after CR.</summary>
public byte nullsAfterCr;
/// <summary>NULLs after 0xFF.</summary>
public byte nullsAfterFF;
/// <summary>Send LF after CR in serial port.</summary>
[MarshalAs(UnmanagedType.U1)] public bool lfAfterCRSerial;
[MarshalAs(UnmanagedType.U1)]
public bool lfAfterCRSerial;
/// <summary>BIOS error report in serial port.</summary>
[MarshalAs(UnmanagedType.U1)] public bool biosErrorReportSerial;
[MarshalAs(UnmanagedType.U1)]
public bool biosErrorReportSerial;
/// <summary>Spare area for serial port values expansion.</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 13)]
public byte[] spareSerial;
/// <summary>Send LF after CR in parallel port.</summary>
[MarshalAs(UnmanagedType.U1)] public bool lfAfterCrParallel;
[MarshalAs(UnmanagedType.U1)]
public bool lfAfterCrParallel;
/// <summary>Select line supported?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool selectLine;
[MarshalAs(UnmanagedType.U1)]
public bool selectLine;
/// <summary>Paper empty supported?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool paperEmpty;
[MarshalAs(UnmanagedType.U1)]
public bool paperEmpty;
/// <summary>Fault line supported?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool faultLine;
[MarshalAs(UnmanagedType.U1)]
public bool faultLine;
/// <summary>BIOS error report in parallel port.</summary>
[MarshalAs(UnmanagedType.U1)] public bool biosErrorReportParallel;
[MarshalAs(UnmanagedType.U1)]
public bool biosErrorReportParallel;
/// <summary>Spare area for parallel port values expansion.</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 11)]
public byte[] spareParallel;
@@ -2296,9 +2317,11 @@ namespace DiscImageChef.Filesystems
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 14)]
public byte[] spareWinchester;
/// <summary>Parking enabled?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool parkingEnabled;
[MarshalAs(UnmanagedType.U1)]
public bool parkingEnabled;
/// <summary>Format protection?.</summary>
[MarshalAs(UnmanagedType.U1)] public bool formatProtection;
[MarshalAs(UnmanagedType.U1)]
public bool formatProtection;
/// <summary>Spare area for RAM disk values expansion.</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public byte[] spareRamDisk;

View File

@@ -47,6 +47,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "FATX Filesystem Plugin";
public Guid Id => new Guid("ED27A721-4A17-4649-89FD-33633B46E228");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -84,6 +84,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "BSD Fast File System (aka UNIX File System, UFS)";
public Guid Id => new Guid("CC90D342-05DB-48A8-988C-C1FE000034A3");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Fossil Filesystem Plugin";
public Guid Id => new Guid("932BF104-43F6-494F-973C-45EF58A51DA9");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{
@@ -97,9 +98,7 @@ namespace DiscImageChef.Filesystems
XmlFsType = new FileSystemType
{
Type = "Fossil filesystem",
ClusterSize = hdr.blockSize,
Clusters = hdr.end
Type = "Fossil filesystem", ClusterSize = hdr.blockSize, Clusters = hdr.end
};
if(sbLocation <= partition.End)

View File

@@ -56,6 +56,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "HAMMER Filesystem";
public Guid Id => new Guid("91A188BF-5FD7-4677-BBD3-F59EBA9C864D");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -47,6 +47,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "OS/2 High Performance File System";
public Guid Id => new Guid("33513B2C-f590-4acb-8bf2-0b1d5e19dec5");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -54,6 +54,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "High Performance Optical File System";
public Guid Id => new Guid("1b72dcd5-d031-4757-8a9f-8d2fb18c59e2");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -44,5 +44,6 @@ namespace DiscImageChef.Filesystems.ISO9660
public Encoding Encoding { get; private set; }
public string Name => "ISO9660 Filesystem";
public Guid Id => new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8");
public string Author => "Natalia Portillo";
}
}

View File

@@ -48,6 +48,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "JFS Plugin";
public Guid Id => new Guid("D3BE2A41-8F28-4055-94DC-BB6C72A0E9C4");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -49,6 +49,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "HP Logical Interchange Format Plugin";
public Guid Id => new Guid("41535647-77A5-477B-9206-DA727ACDC704");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -55,15 +55,14 @@ namespace DiscImageChef.Filesystems.LisaFS
public Guid Id => new Guid("7E6034D1-D823-4248-A54D-239742B28391");
public Encoding Encoding { get; private set; }
public FileSystemType XmlFsType { get; private set; }
public string Author => "Natalia Portillo";
// TODO: Implement Lisa 7/7 namespace (needs decoding {!CATALOG} file)
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
new (string name, Type type, string description)[] { };
static Dictionary<string, string> GetDefaultOptions()
{
return new Dictionary<string, string> {{"debug", false.ToString()}};
}
static Dictionary<string, string> GetDefaultOptions() =>
new Dictionary<string, string> {{"debug", false.ToString()}};
#region Caches
/// <summary>Caches Extents Files</summary>

View File

@@ -71,6 +71,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Locus Filesystem Plugin";
public Guid Id => new Guid("1A70B30A-437D-479A-88E1-D0C9C1797FF4");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -50,6 +50,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "MicroDOS file system";
public Guid Id => new Guid("9F9A364A-1A27-48A3-B730-7A7122000324");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -69,6 +69,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Minix Filesystem";
public Guid Id => new Guid("FE248C3B-B727-4AE5-A39F-79EA9A07D4B3");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -48,6 +48,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "NILFS2 Plugin";
public Guid Id => new Guid("35224226-C5CC-48B5-8FFD-3781E91E86B6");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -47,6 +47,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "New Technology File System (NTFS)";
public Guid Id => new Guid("33513B2C-1e6d-4d21-a660-0bbc789c3871");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -45,6 +45,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Nintendo optical filesystems";
public Guid Id => new Guid("4675fcb4-4418-4288-9e4a-33d6a4ac1126");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -56,6 +56,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Files-11 On-Disk Structure";
public Guid Id => new Guid("de20633c-8021-4384-aeb0-83b0df14491f");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -45,6 +45,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Opera Filesystem Plugin";
public Guid Id => new Guid("0ec84ec7-eae6-4196-83fe-943b3fe46dbd");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -44,6 +44,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "PC Engine CD Plugin";
public Guid Id => new Guid("e5ee6d7c-90fa-49bd-ac89-14ef750b8af3");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -48,6 +48,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "PC-FX Plugin";
public Guid Id => new Guid("8BC27CCE-D9E9-48F8-BA93-C66A86EB565A");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -66,6 +66,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Professional File System";
public Guid Id => new Guid("68DE769E-D957-406A-8AE4-3781CA8CDA77");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -87,6 +87,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Apple ProDOS filesystem";
public Guid Id => new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -43,12 +43,15 @@ namespace DiscImageChef.Filesystems
public class QNX4 : IFilesystem
{
readonly byte[] qnx4_rootDir_fname =
{0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
{
0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
public FileSystemType XmlFsType { get; private set; }
public Encoding Encoding { get; private set; }
public string Name => "QNX4 Plugin";
public Guid Id => new Guid("E73A63FA-B5B0-48BF-BF82-DA5F0A8170D2");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -49,6 +49,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "QNX6 Plugin";
public Guid Id => new Guid("3E610EA2-4D08-4D70-8947-830CD4C74FC0");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -50,6 +50,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "OS-9 Random Block File Plugin";
public Guid Id => new Guid("E864E45B-0B52-4D29-A858-7BDFA9199FB2");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -49,6 +49,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "RT-11 file system";
public Guid Id => new Guid("DB3E2F98-8F98-463C-8126-E937843DA024");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -49,6 +49,7 @@ namespace DiscImageChef.Filesystems
public Guid Id => new Guid("37766C4E-EBF5-4113-A712-B758B756ABD6");
public FileSystemType XmlFsType { get; private set; }
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -52,6 +52,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Reiser Filesystem Plugin";
public Guid Id => new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -45,12 +45,15 @@ namespace DiscImageChef.Filesystems
const uint REISER4_SUPER_OFFSET = 0x10000;
readonly byte[] reiser4_magic =
{0x52, 0x65, 0x49, 0x73, 0x45, 0x72, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
{
0x52, 0x65, 0x49, 0x73, 0x45, 0x72, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
public FileSystemType XmlFsType { get; private set; }
public Encoding Encoding { get; private set; }
public string Name => "Reiser4 Filesystem Plugin";
public Guid Id => new Guid("301F2D00-E8D5-4F04-934E-81DFB21D15BA");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -50,6 +50,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "SmartFileSystem";
public Guid Id => new Guid("26550C19-3671-4A2D-BC2F-F20CEB7F48DC");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -46,6 +46,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Solar_OS filesystem";
public Guid Id => new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{
@@ -147,10 +148,7 @@ namespace DiscImageChef.Filesystems
XmlFsType = new FileSystemType
{
Type = "SolarFS",
Clusters = bpb.sectors,
ClusterSize = bpb.bps,
VolumeName = bpb.vol_name
Type = "SolarFS", Clusters = bpb.sectors, ClusterSize = bpb.bps, VolumeName = bpb.vol_name
};
information = sb.ToString();

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Squash filesystem";
public Guid Id => new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -66,6 +66,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "UNIX System V filesystem";
public Guid Id => new Guid("9B8D016A-8561-400E-A12A-A198283C211D");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -58,6 +58,7 @@ namespace DiscImageChef.Filesystems.UCSDPascal
public string Name => "U.C.S.D. Pascal filesystem";
public Guid Id => new Guid("B0AC2CB5-72AA-473A-9200-270B5A2C2D53");
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
public Errno ListXAttr(string path, out List<string> xattrs)
{
@@ -65,10 +66,7 @@ namespace DiscImageChef.Filesystems.UCSDPascal
return Errno.NotSupported;
}
public Errno GetXattr(string path, string xattr, ref byte[] buf)
{
return Errno.NotSupported;
}
public Errno GetXattr(string path, string xattr, ref byte[] buf) => Errno.NotSupported;
public Errno ReadLink(string path, out string dest)
{
@@ -79,9 +77,7 @@ namespace DiscImageChef.Filesystems.UCSDPascal
public IEnumerable<(string name, Type type, string description)> SupportedOptions =>
new (string name, Type type, string description)[] { };
static Dictionary<string, string> GetDefaultOptions()
{
return new Dictionary<string, string> {{"debug", false.ToString()}};
}
static Dictionary<string, string> GetDefaultOptions() =>
new Dictionary<string, string> {{"debug", false.ToString()}};
}
}

View File

@@ -46,14 +46,15 @@ namespace DiscImageChef.Filesystems
{
readonly byte[] UDF_Magic =
{
0x2A, 0x4F, 0x53, 0x54, 0x41, 0x20, 0x55, 0x44, 0x46, 0x20, 0x43, 0x6F, 0x6D, 0x70, 0x6C, 0x69, 0x61, 0x6E,
0x74, 0x00, 0x00, 0x00, 0x00
0x2A, 0x4F, 0x53, 0x54, 0x41, 0x20, 0x55, 0x44, 0x46, 0x20, 0x43, 0x6F, 0x6D, 0x70, 0x6C, 0x69, 0x61,
0x6E, 0x74, 0x00, 0x00, 0x00, 0x00
};
public FileSystemType XmlFsType { get; private set; }
public Encoding Encoding { get; private set; }
public string Name => "Universal Disk Format";
public Guid Id => new Guid("83976FEC-A91B-464B-9293-56C719461BAB");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{
@@ -294,13 +295,10 @@ namespace DiscImageChef.Filesystems
information = sbInformation.ToString();
}
static DateTime EcmaToDateTime(Timestamp timestamp)
{
return DateHandlers.EcmaToDateTime(timestamp.typeAndZone, timestamp.year, timestamp.month, timestamp.day,
timestamp.hour, timestamp.minute, timestamp.second,
timestamp.centiseconds, timestamp.hundredsMicroseconds,
timestamp.microseconds);
}
static DateTime EcmaToDateTime(Timestamp timestamp) =>
DateHandlers.EcmaToDateTime(timestamp.typeAndZone, timestamp.year, timestamp.month, timestamp.day,
timestamp.hour, timestamp.minute, timestamp.second, timestamp.centiseconds,
timestamp.hundredsMicroseconds, timestamp.microseconds);
[Flags]
enum EntityFlags : byte

View File

@@ -60,6 +60,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "UNICOS Filesystem Plugin";
public Guid Id => new Guid("61712F04-066C-44D5-A2A0-1E44C66B33F0");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -48,6 +48,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "UNIX Boot filesystem";
public Guid Id => new Guid("1E6E0DA6-F7E4-494C-80C6-CB5929E96155");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "VMware filesystem";
public Guid Id => new Guid("EE52BDB8-B49C-4122-A3DA-AD21CBE79843");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Veritas filesystem";
public Guid Id => new Guid("EC372605-7687-453C-8BEA-7E0DFF79CB03");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -49,6 +49,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "XFS Filesystem Plugin";
public Guid Id => new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -54,6 +54,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Xia filesystem";
public Guid Id => new Guid("169E1DE5-24F2-4EF6-A04D-A4B2CA66DE9D");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -44,16 +44,16 @@ namespace DiscImageChef.Filesystems
/*
* The ZFS on-disk structure is quite undocumented, so this has been checked using several test images and reading the comments and headers (but not the code)
* of ZFS-On-Linux.
*
*
* The most basic structure, the vdev label, is as follows:
* 8KiB of blank space
* 8KiB reserved for boot code, stored as a ZIO block with magic and checksum
* 112KiB of nvlist, usually encoded using XDR
* 128KiB of copies of the 1KiB uberblock
*
*
* Two vdev labels, L0 and L1 are stored at the start of the vdev.
* Another two, L2 and L3 are stored at the end.
*
*
* The nvlist is nothing more than a double linked list of name/value pairs where name is a string and value is an arbitrary type (and can be an array of it).
* On-disk they are stored sequentially (no pointers) and can be encoded in XDR (an old Sun serialization method that stores everything as 4 bytes chunks) or
* natively (that is as the host natively stores that values, for example on Intel an extended float would be 10 bytes (80 bit).
@@ -80,6 +80,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "ZFS Filesystem Plugin";
public Guid Id => new Guid("0750014F-A714-4692-A369-E23F6EC3659C");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -102,6 +102,7 @@ namespace DiscImageChef.Filesystems
public string Name => "dump(8) Plugin";
public Guid Id => new Guid("E53B4D28-C858-4800-B092-DDAE80D361B9");
public FileSystemType XmlFsType { get; private set; }
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -51,6 +51,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Microsoft Extended File Allocation Table";
public Guid Id => new Guid("8271D088-1533-4CB3-AC28-D802B68BB95C");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -165,6 +165,7 @@ namespace DiscImageChef.Filesystems
public Encoding Encoding { get; private set; }
public string Name => "Linux extended Filesystem 2, 3 and 4";
public Guid Id => new Guid("6AA91B88-150B-4A7B-AD56-F84FB2DF4184");
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{

View File

@@ -53,6 +53,7 @@ namespace DiscImageChef.Filesystems
public string Name => "Linux extended Filesystem";
public Guid Id => new Guid("076CB3A2-08C2-4D69-BC8A-FCAA2E502BE2");
public Encoding Encoding { get; private set; }
public string Author => "Natalia Portillo";
public bool Identify(IMediaImage imagePlugin, Partition partition)
{
@@ -121,8 +122,7 @@ namespace DiscImageChef.Filesystems
FreeClusters = extSb.freecountblk,
FreeClustersSpecified = true,
ClusterSize = 1024,
Clusters =
(long)((partition.End - partition.Start + 1) * imagePlugin.Info.SectorSize / 1024)
Clusters = (long)((partition.End - partition.Start + 1) * imagePlugin.Info.SectorSize / 1024)
};
information = sb.ToString();