mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Move all localizable strings from Aaru.Partitions project to resources.
This commit is contained in:
@@ -46,6 +46,12 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="AppleMap.cs"/>
|
<Compile Include="AppleMap.cs"/>
|
||||||
<Compile Include="Atari.cs"/>
|
<Compile Include="Atari.cs"/>
|
||||||
|
<Compile Include="Authors.cs"/>
|
||||||
|
<Compile Include="Localization\Localization.Designer.cs">
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Localization.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="MBR.cs"/>
|
<Compile Include="MBR.cs"/>
|
||||||
<Compile Include="NeXT.cs"/>
|
<Compile Include="NeXT.cs"/>
|
||||||
<Compile Include="RDB.cs"/>
|
<Compile Include="RDB.cs"/>
|
||||||
@@ -78,6 +84,10 @@
|
|||||||
<EmbeddedResource Include="..\LICENSE.LGPL">
|
<EmbeddedResource Include="..\LICENSE.LGPL">
|
||||||
<Link>LICENSE.LGPL</Link>
|
<Link>LICENSE.LGPL</Link>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Localization\Localization.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Localization.Designer.cs</LastGenOutput>
|
||||||
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Spectre.Console" Version="0.45.0"/>
|
<PackageReference Include="Spectre.Console" Version="0.45.0"/>
|
||||||
|
|||||||
5
Aaru.Partitions/Aaru.Partitions.csproj.DotSettings
Normal file
5
Aaru.Partitions/Aaru.Partitions.csproj.DotSettings
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<wpf:ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib"
|
||||||
|
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xml:space="preserve">
|
||||||
|
<s:Boolean
|
||||||
|
x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=localization/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||||
@@ -56,11 +56,11 @@ public sealed class Acorn : IPartition
|
|||||||
const uint TYPE_MASK = 15;
|
const uint TYPE_MASK = 15;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Acorn FileCore partitions";
|
public string Name => Localization.Acorn_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("A7C8FEBE-8D00-4933-B9F3-42184C8BA808");
|
public Guid Id => new("A7C8FEBE-8D00-4933-B9F3-42184C8BA808");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
|
|||||||
@@ -61,11 +61,11 @@ public sealed class AppleMap : IPartition
|
|||||||
const uint HFS_MAGIC_OLD = 0x54465331;
|
const uint HFS_MAGIC_OLD = 0x54465331;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Apple Partition Map";
|
public string Name => Localization.AppleMap_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("36405F8D-4F1A-07F5-209C-223D735D6D22");
|
public Guid Id => new("36405F8D-4F1A-07F5-209C-223D735D6D22");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -223,7 +223,7 @@ public sealed class AppleMap : IPartition
|
|||||||
// Check for a partition entry that's 512-byte aligned
|
// Check for a partition entry that's 512-byte aligned
|
||||||
if(entry.signature == APM_MAGIC)
|
if(entry.signature == APM_MAGIC)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "Found misaligned entry.");
|
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Found_misaligned_entry);
|
||||||
entrySize = 512;
|
entrySize = 512;
|
||||||
entryCount = entry.entries;
|
entryCount = entry.entries;
|
||||||
skipDdm = 512;
|
skipDdm = 512;
|
||||||
@@ -235,7 +235,7 @@ public sealed class AppleMap : IPartition
|
|||||||
|
|
||||||
if(entry.signature == APM_MAGIC)
|
if(entry.signature == APM_MAGIC)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "Found aligned entry.");
|
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Found_aligned_entry);
|
||||||
entrySize = sectorSize;
|
entrySize = sectorSize;
|
||||||
entryCount = entry.entries;
|
entryCount = entry.entries;
|
||||||
skipDdm = sectorSize;
|
skipDdm = sectorSize;
|
||||||
@@ -251,7 +251,7 @@ public sealed class AppleMap : IPartition
|
|||||||
|
|
||||||
if(entry.signature == APM_MAGIC)
|
if(entry.signature == APM_MAGIC)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "Found aligned entry.");
|
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Found_aligned_entry);
|
||||||
entrySize = sectorSize;
|
entrySize = sectorSize;
|
||||||
entryCount = entry.entries;
|
entryCount = entry.entries;
|
||||||
skipDdm = sectorSize;
|
skipDdm = sectorSize;
|
||||||
@@ -342,38 +342,39 @@ public sealed class AppleMap : IPartition
|
|||||||
Scheme = Name
|
Scheme = Name
|
||||||
};
|
};
|
||||||
|
|
||||||
sb.AppendLine("Partition flags:");
|
sb.AppendLine(Localization.Partition_flags);
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.Valid))
|
if(flags.HasFlag(AppleMapFlags.Valid))
|
||||||
sb.AppendLine("Partition is valid.");
|
sb.AppendLine(Localization.Partition_is_valid);
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.Allocated))
|
if(flags.HasFlag(AppleMapFlags.Allocated))
|
||||||
sb.AppendLine("Partition entry is allocated.");
|
sb.AppendLine(Localization.Partition_entry_is_allocated);
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.InUse))
|
if(flags.HasFlag(AppleMapFlags.InUse))
|
||||||
sb.AppendLine("Partition is in use.");
|
sb.AppendLine(Localization.Partition_is_in_use);
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.Bootable))
|
if(flags.HasFlag(AppleMapFlags.Bootable))
|
||||||
sb.AppendLine("Partition is bootable.");
|
sb.AppendLine(Localization.Partition_is_bootable);
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.Readable))
|
if(flags.HasFlag(AppleMapFlags.Readable))
|
||||||
sb.AppendLine("Partition is readable.");
|
sb.AppendLine(Localization.Partition_is_readable);
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.Writable))
|
if(flags.HasFlag(AppleMapFlags.Writable))
|
||||||
sb.AppendLine("Partition is writable.");
|
sb.AppendLine(Localization.Partition_is_writable);
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.Bootable))
|
if(flags.HasFlag(AppleMapFlags.Bootable))
|
||||||
{
|
{
|
||||||
sb.AppendFormat("First boot sector: {0}", entry.first_boot_block * entrySize / sectorSize).AppendLine();
|
sb.AppendFormat(Localization.First_boot_sector_0, entry.first_boot_block * entrySize / sectorSize).
|
||||||
|
AppendLine();
|
||||||
|
|
||||||
sb.AppendFormat("Boot is {0} bytes.", entry.boot_size).AppendLine();
|
sb.AppendFormat(Localization.Boot_is_0_bytes, entry.boot_size).AppendLine();
|
||||||
sb.AppendFormat("Boot load address: 0x{0:X8}", entry.load_address).AppendLine();
|
sb.AppendFormat(Localization.Boot_load_address_0_X8, entry.load_address).AppendLine();
|
||||||
sb.AppendFormat("Boot entry point: 0x{0:X8}", entry.entry_point).AppendLine();
|
sb.AppendFormat(Localization.Boot_entry_point_0_X8, entry.entry_point).AppendLine();
|
||||||
sb.AppendFormat("Boot code checksum: 0x{0:X8}", entry.checksum).AppendLine();
|
sb.AppendFormat(Localization.Boot_code_checksum_0_X8, entry.checksum).AppendLine();
|
||||||
sb.AppendFormat("Processor: {0}", StringHandlers.CToString(entry.processor)).AppendLine();
|
sb.AppendFormat(Localization.Processor_0, StringHandlers.CToString(entry.processor)).AppendLine();
|
||||||
|
|
||||||
if(flags.HasFlag(AppleMapFlags.PicCode))
|
if(flags.HasFlag(AppleMapFlags.PicCode))
|
||||||
sb.AppendLine("Partition's boot code is position independent.");
|
sb.AppendLine(Localization.Partition_boot_code_is_position_independent);
|
||||||
}
|
}
|
||||||
|
|
||||||
partition.Description = sb.ToString();
|
partition.Description = sb.ToString();
|
||||||
@@ -388,7 +389,7 @@ public sealed class AppleMap : IPartition
|
|||||||
// Some CD and DVDs end with an Apple_Free that expands beyond the disc size...
|
// Some CD and DVDs end with an Apple_Free that expands beyond the disc size...
|
||||||
else if(partition.Start < imagePlugin.Info.Sectors)
|
else if(partition.Start < imagePlugin.Info.Sectors)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "Cutting last partition end ({0}) to media size ({1})",
|
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Cutting_last_partition_end_0_to_media_size_1,
|
||||||
partition.End, imagePlugin.Info.Sectors - 1);
|
partition.End, imagePlugin.Info.Sectors - 1);
|
||||||
|
|
||||||
partition.Length = imagePlugin.Info.Sectors - partition.Start;
|
partition.Length = imagePlugin.Info.Sectors - partition.Start;
|
||||||
@@ -397,7 +398,7 @@ public sealed class AppleMap : IPartition
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
AaruConsole.DebugWriteLine("AppleMap Plugin",
|
AaruConsole.DebugWriteLine("AppleMap Plugin",
|
||||||
"Not adding partition because start ({0}) is outside media size ({1})",
|
Localization.Not_adding_partition_because_start_0_is_outside_media_size_1,
|
||||||
partition.Start, imagePlugin.Info.Sectors - 1);
|
partition.Start, imagePlugin.Info.Sectors - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,12 +52,12 @@ public sealed class Apricot : IPartition
|
|||||||
};
|
};
|
||||||
readonly string[] _bootTypeCodes =
|
readonly string[] _bootTypeCodes =
|
||||||
{
|
{
|
||||||
"Non-bootable", "Apricot & XI RAM BIOS", "Generic ROM BIOS", "Apricot & XI ROM BIOS",
|
Localization.Non_bootable, Localization.Apricot_XI_RAM_BIOS, Localization.Generic_ROM_BIOS,
|
||||||
"Apricot Portable ROM BIOS", "Apricot F1 ROM BIOS"
|
Localization.Apricot_XI_ROM_BIOS, Localization.Apricot_Portable_ROM_BIOS, Localization.Apricot_F1_ROM_BIOS
|
||||||
};
|
};
|
||||||
readonly string[] _diskTypeCodes =
|
readonly string[] _diskTypeCodes =
|
||||||
{
|
{
|
||||||
"MF1DD 70-track", "MF1DD", "MF2DD", "Winchester 5M", "Winchester 10M", "Winchester 20M"
|
Localization.MF1DD_70_track, "MF1DD", "MF2DD", "Winchester 5M", "Winchester 10M", "Winchester 20M"
|
||||||
};
|
};
|
||||||
readonly int[] _lineModes =
|
readonly int[] _lineModes =
|
||||||
{
|
{
|
||||||
@@ -69,15 +69,16 @@ public sealed class Apricot : IPartition
|
|||||||
};
|
};
|
||||||
readonly string[] _operatingSystemCodes =
|
readonly string[] _operatingSystemCodes =
|
||||||
{
|
{
|
||||||
"Invalid", "MS-DOS", "UCSD Pascal", "CP/M", "Concurrent CP/M"
|
Localization.Invalid_operating_system, "MS-DOS", "UCSD Pascal", Localization.CPM, "Concurrent CP/M"
|
||||||
};
|
};
|
||||||
readonly string[] _parityTypes =
|
readonly string[] _parityTypes =
|
||||||
{
|
{
|
||||||
"None", "Odd", "Even", "Mark", "Space"
|
Localization.None_parity, Localization.Odd_parity, Localization.Even_parity, Localization.Mark_parity,
|
||||||
|
Localization.Space_parity
|
||||||
};
|
};
|
||||||
readonly string[] _printDevices =
|
readonly string[] _printDevices =
|
||||||
{
|
{
|
||||||
"Parallel", "Serial"
|
Localization.Parallel_print_device, Localization.Serial_print_device
|
||||||
};
|
};
|
||||||
readonly double[] _stopBits =
|
readonly double[] _stopBits =
|
||||||
{
|
{
|
||||||
@@ -85,11 +86,11 @@ public sealed class Apricot : IPartition
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "ACT Apricot partitions";
|
public string Name => Localization.Apricot_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("8CBF5864-7B5A-47A0-8CEB-199C74FA22DE");
|
public Guid Id => new("8CBF5864-7B5A-47A0-8CEB-199C74FA22DE");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -124,13 +125,15 @@ public sealed class Apricot : IPartition
|
|||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.operatingSystem = {0} ({1})", label.operatingSystem,
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.operatingSystem = {0} ({1})", label.operatingSystem,
|
||||||
label.operatingSystem < _operatingSystemCodes.Length
|
label.operatingSystem < _operatingSystemCodes.Length
|
||||||
? _operatingSystemCodes[label.operatingSystem] : "Unknown");
|
? _operatingSystemCodes[label.operatingSystem]
|
||||||
|
: Localization.Unknown_operating_system);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.writeProtected = {0}", label.writeProtected);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.writeProtected = {0}", label.writeProtected);
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.copyProtected = {0}", label.copyProtected);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.copyProtected = {0}", label.copyProtected);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bootType = {0} ({1})", label.bootType,
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.bootType = {0} ({1})", label.bootType,
|
||||||
label.bootType < _bootTypeCodes.Length ? _bootTypeCodes[label.bootType] : "Unknown");
|
label.bootType < _bootTypeCodes.Length ? _bootTypeCodes[label.bootType]
|
||||||
|
: Localization.Unknown_boot_type);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitionCount = {0}", label.partitionCount);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitionCount = {0}", label.partitionCount);
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.winchester = {0}", label.winchester);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.winchester = {0}", label.winchester);
|
||||||
@@ -172,7 +175,7 @@ public sealed class Apricot : IPartition
|
|||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.diskType = {0} ({1})", label.mainBPB.diskType,
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.diskType = {0} ({1})", label.mainBPB.diskType,
|
||||||
label.mainBPB.diskType < _diskTypeCodes.Length
|
label.mainBPB.diskType < _diskTypeCodes.Length
|
||||||
? _diskTypeCodes[label.mainBPB.diskType] : "Unknown");
|
? _diskTypeCodes[label.mainBPB.diskType] : Localization.Unknown_disk_type);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.startSector = {0}", label.mainBPB.startSector);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.startSector = {0}", label.mainBPB.startSector);
|
||||||
|
|
||||||
@@ -187,7 +190,8 @@ public sealed class Apricot : IPartition
|
|||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.diagnosticsFlag = {0}", label.diagnosticsFlag);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.diagnosticsFlag = {0}", label.diagnosticsFlag);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.prnDevice = {0} ({1})", label.prnDevice,
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.prnDevice = {0} ({1})", label.prnDevice,
|
||||||
label.prnDevice < _printDevices.Length ? _printDevices[label.prnDevice] : "Unknown");
|
label.prnDevice < _printDevices.Length ? _printDevices[label.prnDevice]
|
||||||
|
: Localization.Unknown_print_device);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bellVolume = {0}", label.bellVolume);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.bellVolume = {0}", label.bellVolume);
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.enableCache = {0}", label.enableCache);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.enableCache = {0}", label.enableCache);
|
||||||
@@ -235,7 +239,8 @@ public sealed class Apricot : IPartition
|
|||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.parityCheck = {0}", label.parityCheck);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.parityCheck = {0}", label.parityCheck);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.parityType = {0} ({1})", label.parityType,
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.parityType = {0} ({1})", label.parityType,
|
||||||
label.parityType < _parityTypes.Length ? _parityTypes[label.parityType] : "Unknown");
|
label.parityType < _parityTypes.Length ? _parityTypes[label.parityType]
|
||||||
|
: Localization.Unknown_parity_type);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.txXonXoff = {0}", label.txXonXoff);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.txXonXoff = {0}", label.txXonXoff);
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.rxXonXoff = {0}", label.rxXonXoff);
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.rxXonXoff = {0}", label.rxXonXoff);
|
||||||
@@ -306,7 +311,8 @@ public sealed class Apricot : IPartition
|
|||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].diskType = {0} ({2})",
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].diskType = {0} ({2})",
|
||||||
label.partitions[i].diskType, i,
|
label.partitions[i].diskType, i,
|
||||||
label.partitions[i].diskType < _diskTypeCodes.Length
|
label.partitions[i].diskType < _diskTypeCodes.Length
|
||||||
? _diskTypeCodes[label.partitions[i].diskType] : "Unknown");
|
? _diskTypeCodes[label.partitions[i].diskType]
|
||||||
|
: Localization.Unknown_disk_type);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].startSector = {0}",
|
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].startSector = {0}",
|
||||||
label.partitions[i].startSector, i);
|
label.partitions[i].startSector, i);
|
||||||
|
|||||||
@@ -61,11 +61,11 @@ public sealed class AtariPartitions : IPartition
|
|||||||
const uint TYPE_MINIX2 = 0x004D4E58;
|
const uint TYPE_MINIX2 = 0x004D4E58;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Atari partitions";
|
public string Name => Localization.AtariPartitions_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("d1dd0f24-ec39-4c4d-9072-be31919a3b5e");
|
public Guid Id => new("d1dd0f24-ec39-4c4d-9072-be31919a3b5e");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -112,7 +112,7 @@ public sealed class AtariPartitions : IPartition
|
|||||||
|
|
||||||
var sha1Ctx = new Sha1Context();
|
var sha1Ctx = new Sha1Context();
|
||||||
sha1Ctx.Update(table.Boot);
|
sha1Ctx.Update(table.Boot);
|
||||||
AaruConsole.DebugWriteLine("Atari partition plugin", "Boot code SHA1: {0}", sha1Ctx.End());
|
AaruConsole.DebugWriteLine("Atari partition plugin", Localization.Boot_code_SHA1_0, sha1Ctx.End());
|
||||||
|
|
||||||
for(int i = 0; i < 8; i++)
|
for(int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
@@ -176,7 +176,7 @@ public sealed class AtariPartitions : IPartition
|
|||||||
{
|
{
|
||||||
if(table.Entries[i].Start + table.Entries[i].Length > imagePlugin.Info.Sectors)
|
if(table.Entries[i].Start + table.Entries[i].Length > imagePlugin.Info.Sectors)
|
||||||
AaruConsole.DebugWriteLine("Atari partition plugin",
|
AaruConsole.DebugWriteLine("Atari partition plugin",
|
||||||
"WARNING: End of partition goes beyond device size");
|
Localization.WARNING_End_of_partition_goes_beyond_device_size);
|
||||||
|
|
||||||
ulong sectorSize = imagePlugin.Info.SectorSize;
|
ulong sectorSize = imagePlugin.Info.SectorSize;
|
||||||
|
|
||||||
@@ -203,48 +203,48 @@ public sealed class AtariPartitions : IPartition
|
|||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case TYPE_GEMDOS:
|
case TYPE_GEMDOS:
|
||||||
part.Description = "Atari GEMDOS partition";
|
part.Description = Localization.Atari_GEMDOS_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_BIG_GEMDOS:
|
case TYPE_BIG_GEMDOS:
|
||||||
part.Description = "Atari GEMDOS partition bigger than 32 MiB";
|
part.Description = Localization.Atari_GEMDOS_partition_bigger_than_32_MiB;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_LINUX:
|
case TYPE_LINUX:
|
||||||
part.Description = "Linux partition";
|
part.Description = Localization.Linux_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_SWAP:
|
case TYPE_SWAP:
|
||||||
part.Description = "Swap partition";
|
part.Description = Localization.Swap_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_RAW:
|
case TYPE_RAW:
|
||||||
part.Description = "RAW partition";
|
part.Description = Localization.RAW_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_NETBSD:
|
case TYPE_NETBSD:
|
||||||
part.Description = "NetBSD partition";
|
part.Description = Localization.NetBSD_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_NETBSD_SWAP:
|
case TYPE_NETBSD_SWAP:
|
||||||
part.Description = "NetBSD swap partition";
|
part.Description = Localization.NetBSD_swap_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_SYSTEM_V:
|
case TYPE_SYSTEM_V:
|
||||||
part.Description = "Atari UNIX partition";
|
part.Description = Localization.Atari_UNIX_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_MAC:
|
case TYPE_MAC:
|
||||||
part.Description = "Macintosh partition";
|
part.Description = Localization.Macintosh_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_MINIX:
|
case TYPE_MINIX:
|
||||||
case TYPE_MINIX2:
|
case TYPE_MINIX2:
|
||||||
part.Description = "MINIX partition";
|
part.Description = Localization.MINIX_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
part.Description = "Unknown partition type";
|
part.Description = Localization.Unknown_partition_type;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -301,7 +301,7 @@ public sealed class AtariPartitions : IPartition
|
|||||||
|
|
||||||
if(extendedTable.Entries[j].Start + extendedTable.Entries[j].Length > imagePlugin.Info.Sectors)
|
if(extendedTable.Entries[j].Start + extendedTable.Entries[j].Length > imagePlugin.Info.Sectors)
|
||||||
AaruConsole.DebugWriteLine("Atari partition plugin",
|
AaruConsole.DebugWriteLine("Atari partition plugin",
|
||||||
"WARNING: End of partition goes beyond device size");
|
Localization.WARNING_End_of_partition_goes_beyond_device_size);
|
||||||
|
|
||||||
ulong sectorSize = imagePlugin.Info.SectorSize;
|
ulong sectorSize = imagePlugin.Info.SectorSize;
|
||||||
|
|
||||||
@@ -328,48 +328,48 @@ public sealed class AtariPartitions : IPartition
|
|||||||
switch(extendedType)
|
switch(extendedType)
|
||||||
{
|
{
|
||||||
case TYPE_GEMDOS:
|
case TYPE_GEMDOS:
|
||||||
part.Description = "Atari GEMDOS partition";
|
part.Description = Localization.Atari_GEMDOS_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_BIG_GEMDOS:
|
case TYPE_BIG_GEMDOS:
|
||||||
part.Description = "Atari GEMDOS partition bigger than 32 MiB";
|
part.Description = Localization.Atari_GEMDOS_partition_bigger_than_32_MiB;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_LINUX:
|
case TYPE_LINUX:
|
||||||
part.Description = "Linux partition";
|
part.Description = Localization.Linux_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_SWAP:
|
case TYPE_SWAP:
|
||||||
part.Description = "Swap partition";
|
part.Description = Localization.Swap_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_RAW:
|
case TYPE_RAW:
|
||||||
part.Description = "RAW partition";
|
part.Description = Localization.RAW_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_NETBSD:
|
case TYPE_NETBSD:
|
||||||
part.Description = "NetBSD partition";
|
part.Description = Localization.NetBSD_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_NETBSD_SWAP:
|
case TYPE_NETBSD_SWAP:
|
||||||
part.Description = "NetBSD swap partition";
|
part.Description = Localization.NetBSD_swap_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_SYSTEM_V:
|
case TYPE_SYSTEM_V:
|
||||||
part.Description = "Atari UNIX partition";
|
part.Description = Localization.Atari_UNIX_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_MAC:
|
case TYPE_MAC:
|
||||||
part.Description = "Macintosh partition";
|
part.Description = Localization.Macintosh_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_MINIX:
|
case TYPE_MINIX:
|
||||||
case TYPE_MINIX2:
|
case TYPE_MINIX2:
|
||||||
part.Description = "MINIX partition";
|
part.Description = Localization.MINIX_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
part.Description = "Unknown partition type";
|
part.Description = Localization.Unknown_partition_type;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -407,7 +407,7 @@ public sealed class AtariPartitions : IPartition
|
|||||||
|
|
||||||
if(table.IcdEntries[i].Start + table.IcdEntries[i].Length > imagePlugin.Info.Sectors)
|
if(table.IcdEntries[i].Start + table.IcdEntries[i].Length > imagePlugin.Info.Sectors)
|
||||||
AaruConsole.DebugWriteLine("Atari partition plugin",
|
AaruConsole.DebugWriteLine("Atari partition plugin",
|
||||||
"WARNING: End of partition goes beyond device size");
|
Localization.WARNING_End_of_partition_goes_beyond_device_size);
|
||||||
|
|
||||||
ulong sectorSize = imagePlugin.Info.SectorSize;
|
ulong sectorSize = imagePlugin.Info.SectorSize;
|
||||||
|
|
||||||
@@ -434,48 +434,48 @@ public sealed class AtariPartitions : IPartition
|
|||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case TYPE_GEMDOS:
|
case TYPE_GEMDOS:
|
||||||
part.Description = "Atari GEMDOS partition";
|
part.Description = Localization.Atari_GEMDOS_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_BIG_GEMDOS:
|
case TYPE_BIG_GEMDOS:
|
||||||
part.Description = "Atari GEMDOS partition bigger than 32 MiB";
|
part.Description = Localization.Atari_GEMDOS_partition_bigger_than_32_MiB;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_LINUX:
|
case TYPE_LINUX:
|
||||||
part.Description = "Linux partition";
|
part.Description = Localization.Linux_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_SWAP:
|
case TYPE_SWAP:
|
||||||
part.Description = "Swap partition";
|
part.Description = Localization.Swap_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_RAW:
|
case TYPE_RAW:
|
||||||
part.Description = "RAW partition";
|
part.Description = Localization.RAW_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_NETBSD:
|
case TYPE_NETBSD:
|
||||||
part.Description = "NetBSD partition";
|
part.Description = Localization.NetBSD_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_NETBSD_SWAP:
|
case TYPE_NETBSD_SWAP:
|
||||||
part.Description = "NetBSD swap partition";
|
part.Description = Localization.NetBSD_swap_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_SYSTEM_V:
|
case TYPE_SYSTEM_V:
|
||||||
part.Description = "Atari UNIX partition";
|
part.Description = Localization.Atari_UNIX_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_MAC:
|
case TYPE_MAC:
|
||||||
part.Description = "Macintosh partition";
|
part.Description = Localization.Macintosh_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TYPE_MINIX:
|
case TYPE_MINIX:
|
||||||
case TYPE_MINIX2:
|
case TYPE_MINIX2:
|
||||||
part.Description = "MINIX partition";
|
part.Description = Localization.MINIX_partition;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
part.Description = "Unknown partition type";
|
part.Description = Localization.Unknown_partition_type;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
34
Aaru.Partitions/Authors.cs
Normal file
34
Aaru.Partitions/Authors.cs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
// /***************************************************************************
|
||||||
|
// Aaru Data Preservation Suite
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// Filename : Authors.cs
|
||||||
|
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||||
|
//
|
||||||
|
// Component : Partitioning scheme plugins.
|
||||||
|
//
|
||||||
|
// --[ License ] --------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
|
// published by the Free Software Foundation; either version 2.1 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful, but
|
||||||
|
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Copyright © 2011-2022 Natalia Portillo
|
||||||
|
// ****************************************************************************/
|
||||||
|
|
||||||
|
namespace Aaru.Partitions;
|
||||||
|
|
||||||
|
static class Authors
|
||||||
|
{
|
||||||
|
internal const string NataliaPortillo = "Natalia Portillo";
|
||||||
|
}
|
||||||
@@ -65,11 +65,11 @@ public sealed class BSD : IPartition
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "BSD disklabel";
|
public string Name => Localization.BSD_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -104,7 +104,8 @@ public sealed class BSD : IPartition
|
|||||||
dl = Marshal.ByteArrayToStructureLittleEndian<DiskLabel>(sector);
|
dl = Marshal.ByteArrayToStructureLittleEndian<DiskLabel>(sector);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("BSD plugin",
|
AaruConsole.DebugWriteLine("BSD plugin",
|
||||||
"dl.magic on sector {0} at offset {1} = 0x{2:X8} (expected 0x{3:X8})",
|
Localization.
|
||||||
|
BSD_GetInformation_dl_magic_on_sector_0_at_offset_1_equals_2_X8_expected_3_X8,
|
||||||
location + sectorOffset, offset, dl.d_magic, DISK_MAGIC);
|
location + sectorOffset, offset, dl.d_magic, DISK_MAGIC);
|
||||||
|
|
||||||
if((dl.d_magic != DISK_MAGIC || dl.d_magic2 != DISK_MAGIC) &&
|
if((dl.d_magic != DISK_MAGIC || dl.d_magic2 != DISK_MAGIC) &&
|
||||||
@@ -200,7 +201,7 @@ public sealed class BSD : IPartition
|
|||||||
}
|
}
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("BSD plugin", "part.start = {0}", part.Start);
|
AaruConsole.DebugWriteLine("BSD plugin", "part.start = {0}", part.Start);
|
||||||
AaruConsole.DebugWriteLine("BSD plugin", "Adding it...");
|
AaruConsole.DebugWriteLine("BSD plugin", Localization.BSD_GetInformation_Adding_it);
|
||||||
partitions.Add(part);
|
partitions.Add(part);
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
@@ -212,36 +213,36 @@ public sealed class BSD : IPartition
|
|||||||
{
|
{
|
||||||
switch(typ)
|
switch(typ)
|
||||||
{
|
{
|
||||||
case fsType.Unused: return "Unused entry";
|
case fsType.Unused: return Localization.Unused_entry;
|
||||||
case fsType.Swap: return "Swap partition";
|
case fsType.Swap: return Localization.Swap_partition;
|
||||||
case fsType.V6: return "UNIX 6th Edition";
|
case fsType.V6: return Localization.UNIX_6th_Edition;
|
||||||
case fsType.V7: return "UNIX 7th Edition";
|
case fsType.V7: return Localization.UNIX_7th_Edition;
|
||||||
case fsType.SystemV: return "UNIX System V";
|
case fsType.SystemV: return Localization.UNIX_System_V;
|
||||||
case fsType.V7_1K: return "UNIX 7th Edition with 1K blocks";
|
case fsType.V7_1K: return Localization.UNIX_7th_Edition_with_1K_blocks;
|
||||||
case fsType.V8: return "UNIX 8th Edition with 4K blocks";
|
case fsType.V8: return Localization.UNIX_8th_Edition_with_4K_blocks;
|
||||||
case fsType.BSDFFS: return "4.2BSD Fast File System";
|
case fsType.BSDFFS: return Localization._4_2_BSD_Fast_File_System;
|
||||||
case fsType.BSDLFS: return "4.4LFS";
|
case fsType.BSDLFS: return Localization._4_4_LFS;
|
||||||
case fsType.HPFS: return "HPFS";
|
case fsType.HPFS: return Localization.HPFS;
|
||||||
case fsType.ISO9660: return "ISO9660";
|
case fsType.ISO9660: return Localization.ISO9660;
|
||||||
case fsType.Boot:
|
case fsType.Boot:
|
||||||
case fsType.SysVBoot: return "Boot";
|
case fsType.SysVBoot: return Localization.Boot;
|
||||||
case fsType.AFFS: return "Amiga FFS";
|
case fsType.AFFS: return Localization.Amiga_FFS;
|
||||||
case fsType.HFS: return "Apple HFS";
|
case fsType.HFS: return Localization.Apple_HFS;
|
||||||
case fsType.ADVfs: return "Digital Advanced File System";
|
case fsType.ADVfs: return Localization.Digital_Advanced_File_System;
|
||||||
case fsType.LSMpublic: return "Digital LSM Public Region";
|
case fsType.LSMpublic: return Localization.Digital_LSM_Public_Region;
|
||||||
case fsType.LSMprivate: return "Digital LSM Private Region";
|
case fsType.LSMprivate: return Localization.Digital_LSM_Private_Region;
|
||||||
case fsType.LSMsimple: return "Digital LSM Simple Disk";
|
case fsType.LSMsimple: return Localization.Digital_LSM_Simple_Disk;
|
||||||
case fsType.CCD: return "Concatenated disk";
|
case fsType.CCD: return Localization.Concatenated_disk;
|
||||||
case fsType.JFS2: return "IBM JFS2";
|
case fsType.JFS2: return Localization.IBM_JFS2;
|
||||||
case fsType.HAMMER: return "Hammer";
|
case fsType.HAMMER: return Localization.Hammer;
|
||||||
case fsType.HAMMER2: return "Hammer2";
|
case fsType.HAMMER2: return Localization.Hammer2;
|
||||||
case fsType.UDF: return "UDF";
|
case fsType.UDF: return Localization.UDF;
|
||||||
case fsType.EFS: return "EFS";
|
case fsType.EFS: return Localization.EFS;
|
||||||
case fsType.ZFS: return "ZFS";
|
case fsType.ZFS: return Localization.ZFS;
|
||||||
case fsType.NANDFS: return "FreeBSD nandfs";
|
case fsType.NANDFS: return Localization.FreeBSD_nandfs;
|
||||||
case fsType.MSDOS: return "FAT";
|
case fsType.MSDOS: return Localization.FAT;
|
||||||
case fsType.Other: return "Other or unknown";
|
case fsType.Other: return Localization.Other_or_unknown;
|
||||||
default: return "Unknown";
|
default: return Localization.Unknown_partition_type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ public sealed class DEC : IPartition
|
|||||||
const int PT_VALID = 1;
|
const int PT_VALID = 1;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "DEC disklabel";
|
public string Name => Localization.DEC_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("58CEC3B7-3B93-4D47-86EE-D6DADE9D444F");
|
public Guid Id => new("58CEC3B7-3B93-4D47-86EE-D6DADE9D444F");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
||||||
|
|||||||
@@ -49,11 +49,11 @@ public sealed class DragonFlyBSD : IPartition
|
|||||||
const uint DISK_MAGIC64 = 0xC4464C59;
|
const uint DISK_MAGIC64 = 0xC4464C59;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "DragonFly BSD 64-bit disklabel";
|
public string Name => Localization.DragonFlyBSD_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("D49E41A6-D952-4760-9D94-03DAE2450C5F");
|
public Guid Id => new("D49E41A6-D952-4760-9D94-03DAE2450C5F");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
|
|||||||
@@ -52,11 +52,11 @@ public sealed class GuidPartitionTable : IPartition
|
|||||||
const uint GPT_REVISION1 = 0x00010000;
|
const uint GPT_REVISION1 = 0x00010000;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "GUID Partition Table";
|
public string Name => Localization.GuidPartitionTable_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("CBC9D281-C1D0-44E8-9038-4D66FD2678AB");
|
public Guid Id => new("CBC9D281-C1D0-44E8-9038-4D66FD2678AB");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -91,7 +91,7 @@ public sealed class GuidPartitionTable : IPartition
|
|||||||
|
|
||||||
if(signature == GPT_MAGIC)
|
if(signature == GPT_MAGIC)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("GPT Plugin", "Found unaligned signature", signature);
|
AaruConsole.DebugWriteLine("GPT Plugin", Localization.Found_unaligned_signature, signature);
|
||||||
byte[] real = new byte[512];
|
byte[] real = new byte[512];
|
||||||
Array.Copy(hdrBytes, 512, real, 0, 512);
|
Array.Copy(hdrBytes, 512, real, 0, 512);
|
||||||
hdrBytes = real;
|
hdrBytes = real;
|
||||||
@@ -222,105 +222,105 @@ public sealed class GuidPartitionTable : IPartition
|
|||||||
|
|
||||||
switch(strType)
|
switch(strType)
|
||||||
{
|
{
|
||||||
case "024DEE41-33E7-11D3-9D69-0008C781F39F": return "MBR scheme";
|
case "024DEE41-33E7-11D3-9D69-0008C781F39F": return Localization.MBR_scheme;
|
||||||
case "C12A7328-F81F-11D2-BA4B-00A0C93EC93B": return "EFI System";
|
case "C12A7328-F81F-11D2-BA4B-00A0C93EC93B": return Localization.EFI_System;
|
||||||
case "21686148-6449-6E6F-744E-656564454649": return "BIOS Boot";
|
case "21686148-6449-6E6F-744E-656564454649": return Localization.BIOS_Boot;
|
||||||
case "D3BFE2DE-3DAF-11DF-BA40-E3A556D89593": return "Intel Fast Flash (iFFS)";
|
case "D3BFE2DE-3DAF-11DF-BA40-E3A556D89593": return Localization.Intel_Fast_Flash_iFFS;
|
||||||
case "F4019732-066E-4E12-8273-346C5641494F": return "Sony boot";
|
case "F4019732-066E-4E12-8273-346C5641494F": return Localization.Sony_boot;
|
||||||
case "BFBFAFE7-A34F-448A-9A5B-6213EB736C22": return "Lenovo boot";
|
case "BFBFAFE7-A34F-448A-9A5B-6213EB736C22": return Localization.Lenovo_boot;
|
||||||
case "E3C9E316-0B5C-4DB8-817D-F92DF00215AE": return "Microsoft Reserved (MSR)";
|
case "E3C9E316-0B5C-4DB8-817D-F92DF00215AE": return Localization.Microsoft_Reserved_MSR;
|
||||||
case "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7": return "Microsoft Basic data";
|
case "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7": return Localization.Microsoft_Basic_data;
|
||||||
case "5808C8AA-7E8F-42E0-85D2-E1E90434CFB3": return "Logical Disk Manager (LDM) metadata";
|
case "5808C8AA-7E8F-42E0-85D2-E1E90434CFB3": return Localization.Logical_Disk_Manager_LDM_metadata;
|
||||||
case "AF9B60A0-1431-4F62-BC68-3311714A69AD": return "Logical Disk Manager data";
|
case "AF9B60A0-1431-4F62-BC68-3311714A69AD": return Localization.Logical_Disk_Manager_data;
|
||||||
case "DE94BBA4-06D1-4D40-A16A-BFD50179D6AC": return "Windows Recovery Environment";
|
case "DE94BBA4-06D1-4D40-A16A-BFD50179D6AC": return Localization.Windows_Recovery_Environment;
|
||||||
case "37AFFC90-EF7D-4E96-91C3-2D7AE055B174": return "IBM General Parallel File System (GPFS)";
|
case "37AFFC90-EF7D-4E96-91C3-2D7AE055B174": return Localization.IBM_General_Parallel_File_System_GPFS;
|
||||||
case "E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D": return "Windows Storage Spaces";
|
case "E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D": return Localization.Windows_Storage_Spaces;
|
||||||
case "75894C1E-3AEB-11D3-B7C1-7B03A0000000": return "HP-UX Data";
|
case "75894C1E-3AEB-11D3-B7C1-7B03A0000000": return Localization.HP_UX_Data;
|
||||||
case "E2A1E728-32E3-11D6-A682-7B03A0000000": return "HP-UX Service";
|
case "E2A1E728-32E3-11D6-A682-7B03A0000000": return Localization.HP_UX_Service;
|
||||||
case "0FC63DAF-8483-4772-8E79-3D69D8477DE4": return "Linux filesystem";
|
case "0FC63DAF-8483-4772-8E79-3D69D8477DE4": return Localization.Linux_filesystem;
|
||||||
case "A19D880F-05FC-4D3B-A006-743F0F84911E": return "Linux RAID";
|
case "A19D880F-05FC-4D3B-A006-743F0F84911E": return Localization.Linux_RAID;
|
||||||
case "44479540-F297-41B2-9AF7-D131D5F0458A": return "Linux Root (x86)";
|
case "44479540-F297-41B2-9AF7-D131D5F0458A": return Localization.Linux_Root_x86;
|
||||||
case "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709": return "Linux Root (x86-64)";
|
case "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709": return Localization.Linux_Root_x86_64;
|
||||||
case "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3": return "Linux Root (32-bit ARM)";
|
case "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3": return Localization.Linux_Root_32_bit_ARM;
|
||||||
case "B921B045-1DF0-41C3-AF44-4C6F280D3FAE": return "Linux Root (64-bit ARM/AArch64)";
|
case "B921B045-1DF0-41C3-AF44-4C6F280D3FAE": return Localization.Linux_Root_AArch64;
|
||||||
case "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F": return "Linux Swap";
|
case "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F": return Localization.Linux_swap;
|
||||||
case "E6D6D379-F507-44C2-A23C-238F2A3DF928": return "Logical Volume Manager (LVM)";
|
case "E6D6D379-F507-44C2-A23C-238F2A3DF928": return Localization.Logical_Volume_Manager_LVM;
|
||||||
case "933AC7E1-2EB4-4F13-B844-0E14E2AEF915": return "Linux /home";
|
case "933AC7E1-2EB4-4F13-B844-0E14E2AEF915": return Localization.Linux_home;
|
||||||
case "3B8F8425-20E0-4F3B-907F-1A25A76F98E8": return "Linux /srv";
|
case "3B8F8425-20E0-4F3B-907F-1A25A76F98E8": return Localization.Linux_srv;
|
||||||
case "7FFEC5C9-2D00-49B7-8941-3EA10A5586B7": return "Plain dm-crypt";
|
case "7FFEC5C9-2D00-49B7-8941-3EA10A5586B7": return Localization.Plain_dm_crypt;
|
||||||
case "CA7D7CCB-63ED-4C53-861C-1742536059CC": return "LUKS";
|
case "CA7D7CCB-63ED-4C53-861C-1742536059CC": return Localization.LUKS;
|
||||||
case "8DA63339-0007-60C0-C436-083AC8230908": return "Linux Reserved";
|
case "8DA63339-0007-60C0-C436-083AC8230908": return Localization.Linux_Reserved;
|
||||||
case "83BD6B9D-7F41-11DC-BE0B-001560B84F0F": return "FreeBSD Boot";
|
case "83BD6B9D-7F41-11DC-BE0B-001560B84F0F": return Localization.FreeBSD_Boot;
|
||||||
case "516E7CB4-6ECF-11D6-8FF8-00022D09712B": return "FreeBSD Data";
|
case "516E7CB4-6ECF-11D6-8FF8-00022D09712B": return Localization.FreeBSD_Data;
|
||||||
case "516E7CB5-6ECF-11D6-8FF8-00022D09712B": return "FreeBSD Swap";
|
case "516E7CB5-6ECF-11D6-8FF8-00022D09712B": return Localization.FreeBSD_swap;
|
||||||
case "516E7CB6-6ECF-11D6-8FF8-00022D09712B": return "FreeBSD UFS";
|
case "516E7CB6-6ECF-11D6-8FF8-00022D09712B": return Localization.FreeBSD_UFS;
|
||||||
case "516E7CB7-6ECF-11D6-8FF8-00022D09712B": return "FreeBSD UFS2";
|
case "516E7CB7-6ECF-11D6-8FF8-00022D09712B": return Localization.FreeBSD_UFS2;
|
||||||
case "516E7CB8-6ECF-11D6-8FF8-00022D09712B": return "FreeBSD Vinum";
|
case "516E7CB8-6ECF-11D6-8FF8-00022D09712B": return Localization.FreeBSD_Vinum;
|
||||||
case "516E7CBA-6ECF-11D6-8FF8-00022D09712B": return "FreeBSD ZFS";
|
case "516E7CBA-6ECF-11D6-8FF8-00022D09712B": return Localization.FreeBSD_ZFS;
|
||||||
case "74BA7DD9-A689-11E1-BD04-00E081286ACF": return "FreeBSD nandfs";
|
case "74BA7DD9-A689-11E1-BD04-00E081286ACF": return Localization.FreeBSD_nandfs;
|
||||||
case "48465300-0000-11AA-AA11-00306543ECAC": return "Apple HFS";
|
case "48465300-0000-11AA-AA11-00306543ECAC": return Localization.Apple_HFS;
|
||||||
case "55465300-0000-11AA-AA11-00306543ECAC": return "Apple UFS";
|
case "55465300-0000-11AA-AA11-00306543ECAC": return Localization.Apple_UFS;
|
||||||
case "52414944-0000-11AA-AA11-00306543ECAC": return "Apple RAID";
|
case "52414944-0000-11AA-AA11-00306543ECAC": return Localization.Apple_RAID;
|
||||||
case "52414944-5F4F-11AA-AA11-00306543ECAC": return "Apple RAID, offline";
|
case "52414944-5F4F-11AA-AA11-00306543ECAC": return Localization.Apple_RAID_offline;
|
||||||
case "426F6F74-0000-11AA-AA11-00306543ECAC": return "Apple Boot";
|
case "426F6F74-0000-11AA-AA11-00306543ECAC": return Localization.Apple_Boot;
|
||||||
case "4C616265-6C00-11AA-AA11-00306543ECAC": return "Apple Label";
|
case "4C616265-6C00-11AA-AA11-00306543ECAC": return Localization.Apple_Label;
|
||||||
case "5265636F-7665-11AA-AA11-00306543ECAC": return "Apple TV Recovery";
|
case "5265636F-7665-11AA-AA11-00306543ECAC": return Localization.Apple_TV_Recovery;
|
||||||
case "53746F72-6167-11AA-AA11-00306543ECAC": return "Apple Core Storage";
|
case "53746F72-6167-11AA-AA11-00306543ECAC": return Localization.Apple_Core_Storage;
|
||||||
case "6A82CB45-1DD2-11B2-99A6-080020736631": return "Solaris Boot";
|
case "6A82CB45-1DD2-11B2-99A6-080020736631": return Localization.Solaris_boot;
|
||||||
case "6A85CF4D-1DD2-11B2-99A6-080020736631": return "Solaris Root";
|
case "6A85CF4D-1DD2-11B2-99A6-080020736631": return Localization.Solaris_Root;
|
||||||
case "6A87C46F-1DD2-11B2-99A6-080020736631": return "Solaris Swap";
|
case "6A87C46F-1DD2-11B2-99A6-080020736631": return Localization.Solaris_Swap;
|
||||||
case "6A8B642B-1DD2-11B2-99A6-080020736631": return "Solaris Backup";
|
case "6A8B642B-1DD2-11B2-99A6-080020736631": return Localization.Solaris_Backup;
|
||||||
case "6A898CC3-1DD2-11B2-99A6-080020736631": return "Solaris /usr or Apple ZFS";
|
case "6A898CC3-1DD2-11B2-99A6-080020736631": return Localization.Solaris_usr_or_Apple_ZFS;
|
||||||
case "6A8EF2E9-1DD2-11B2-99A6-080020736631": return "Solaris /var";
|
case "6A8EF2E9-1DD2-11B2-99A6-080020736631": return Localization.Solaris_var;
|
||||||
case "6A90BA39-1DD2-11B2-99A6-080020736631": return "Solaris /home";
|
case "6A90BA39-1DD2-11B2-99A6-080020736631": return Localization.Solaris_home;
|
||||||
case "6A9283A5-1DD2-11B2-99A6-080020736631": return "Solaris Alternate sector";
|
case "6A9283A5-1DD2-11B2-99A6-080020736631": return Localization.Solaris_Alternate_sector;
|
||||||
case "6A945A3B-1DD2-11B2-99A6-080020736631":
|
case "6A945A3B-1DD2-11B2-99A6-080020736631":
|
||||||
case "6A9630D1-1DD2-11B2-99A6-080020736631":
|
case "6A9630D1-1DD2-11B2-99A6-080020736631":
|
||||||
case "6A980767-1DD2-11B2-99A6-080020736631":
|
case "6A980767-1DD2-11B2-99A6-080020736631":
|
||||||
case "6A96237F-1DD2-11B2-99A6-080020736631":
|
case "6A96237F-1DD2-11B2-99A6-080020736631":
|
||||||
case "6A8D2AC7-1DD2-11B2-99A6-080020736631": return "Solaris Reserved";
|
case "6A8D2AC7-1DD2-11B2-99A6-080020736631": return Localization.Solaris_Reserved;
|
||||||
case "49F48D32-B10E-11DC-B99B-0019D1879648": return "NetBSD Swap";
|
case "49F48D32-B10E-11DC-B99B-0019D1879648": return Localization.NetBSD_Swap;
|
||||||
case "49F48D5A-B10E-11DC-B99B-0019D1879648": return "NetBSD FFS";
|
case "49F48D5A-B10E-11DC-B99B-0019D1879648": return Localization.NetBSD_FFS;
|
||||||
case "49F48D82-B10E-11DC-B99B-0019D1879648": return "NetBSD LFS";
|
case "49F48D82-B10E-11DC-B99B-0019D1879648": return Localization.NetBSD_LFS;
|
||||||
case "49F48DAA-B10E-11DC-B99B-0019D1879648": return "NetBSD RAID";
|
case "49F48DAA-B10E-11DC-B99B-0019D1879648": return Localization.NetBSD_RAID;
|
||||||
case "2DB519C4-B10F-11DC-B99B-0019D1879648": return "NetBSD Concatenated";
|
case "2DB519C4-B10F-11DC-B99B-0019D1879648": return Localization.NetBSD_Concatenated;
|
||||||
case "2DB519EC-B10F-11DC-B99B-0019D1879648": return "NetBSD Encrypted";
|
case "2DB519EC-B10F-11DC-B99B-0019D1879648": return Localization.NetBSD_Encrypted;
|
||||||
case "FE3A2A5D-4F32-41A7-B725-ACCC3285A309": return "ChromeOS kernel";
|
case "FE3A2A5D-4F32-41A7-B725-ACCC3285A309": return Localization.ChromeOS_kernel;
|
||||||
case "3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC": return "ChromeOS rootfs";
|
case "3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC": return Localization.ChromeOS_rootfs;
|
||||||
case "2E0A753D-9E48-43B0-8337-B15192CB1B5E": return "ChromeOS future use";
|
case "2E0A753D-9E48-43B0-8337-B15192CB1B5E": return Localization.ChromeOS_future_use;
|
||||||
case "42465331-3BA3-10F1-802A-4861696B7521": return "Haiku BFS";
|
case "42465331-3BA3-10F1-802A-4861696B7521": return Localization.Haiku_BFS;
|
||||||
case "85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7": return "MidnightBSD Boot";
|
case "85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7": return Localization.MidnightBSD_Boot;
|
||||||
case "85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7": return "MidnightBSD Data";
|
case "85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7": return Localization.MidnightBSD_Data;
|
||||||
case "85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7": return "MidnightBSD Swap";
|
case "85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7": return Localization.MidnightBSD_Swap;
|
||||||
case "0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7": return "MidnightBSD UFS";
|
case "0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7": return Localization.MidnightBSD_UFS;
|
||||||
case "85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7": return "MidnightBSD Vinum";
|
case "85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7": return Localization.MidnightBSD_Vinum;
|
||||||
case "85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7": return "MidnightBSD ZFS";
|
case "85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7": return Localization.MidnightBSD_ZFS;
|
||||||
case "45B0969E-9B03-4F30-B4C6-B4B80CEFF106": return "Ceph Journal";
|
case "45B0969E-9B03-4F30-B4C6-B4B80CEFF106": return Localization.Ceph_Journal;
|
||||||
case "45B0969E-9B03-4F30-B4C6-5EC00CEFF106": return "Ceph dm-crypt Encrypted Journal";
|
case "45B0969E-9B03-4F30-B4C6-5EC00CEFF106": return Localization.Ceph_dm_crypt_Encrypted_Journal;
|
||||||
case "4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D": return "Ceph OSD";
|
case "4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D": return Localization.Ceph_OSD;
|
||||||
case "4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D": return "Ceph dm-crypt OSD";
|
case "4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D": return Localization.Ceph_dm_crypt_OSD;
|
||||||
case "89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE": return "Ceph disk in creation";
|
case "89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE": return Localization.Ceph_disk_in_creation;
|
||||||
case "89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE": return "Ceph dm-crypt disk in creation";
|
case "89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE": return Localization.Ceph_dm_crypt_disk_in_creation;
|
||||||
case "824CC7A0-36A8-11E3-890A-952519AD3F61": return "OpenBSD Data";
|
case "824CC7A0-36A8-11E3-890A-952519AD3F61": return Localization.OpenBSD_Data;
|
||||||
case "CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1": return "QNX Power-safe (QNX6)";
|
case "CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1": return Localization.QNX_Power_safe_QNX6;
|
||||||
case "C91818F9-8025-47AF-89D2-F030D7000C2C": return "Plan 9";
|
case "C91818F9-8025-47AF-89D2-F030D7000C2C": return Localization.Plan_9;
|
||||||
case "9D275380-40AD-11DB-BF97-000C2911D1B8": return "VMware vmkcore (coredump)";
|
case "9D275380-40AD-11DB-BF97-000C2911D1B8": return Localization.VMware_vmkcore_coredump;
|
||||||
case "AA31E02A-400F-11DB-9590-000C2911D1B8": return "VMware VMFS";
|
case "AA31E02A-400F-11DB-9590-000C2911D1B8": return Localization.VMware_VMFS;
|
||||||
case "9198EFFC-31C0-11DB-8F78-000C2911D1B8": return "VMware Reserved";
|
case "9198EFFC-31C0-11DB-8F78-000C2911D1B8": return Localization.VMware_Reserved;
|
||||||
case "7412F7D5-A156-4B13-81DC-867174929325": return "ONIE boot";
|
case "7412F7D5-A156-4B13-81DC-867174929325": return Localization.ONIE_boot;
|
||||||
case "D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149": return "ONIE config";
|
case "D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149": return Localization.ONIE_config;
|
||||||
case "9E1A2D38-C612-4316-AA26-8B49521E5A8B": return "PowerPC PReP boot";
|
case "9E1A2D38-C612-4316-AA26-8B49521E5A8B": return Localization.PowerPC_PReP_boot;
|
||||||
case "0311FC50-01CA-4725-AD77-9ADBB20ACE98": return "Acronis Secure Zone";
|
case "0311FC50-01CA-4725-AD77-9ADBB20ACE98": return Localization.Acronis_Secure_Zone;
|
||||||
case "7C3457EF-0000-11AA-AA11-00306543ECAC": return "Apple File System";
|
case "7C3457EF-0000-11AA-AA11-00306543ECAC": return Localization.Apple_File_System;
|
||||||
case "9D087404-1CA5-11DC-8817-01301BB8A9F5": return "DragonflyBSD Label";
|
case "9D087404-1CA5-11DC-8817-01301BB8A9F5": return Localization.DragonflyBSD_Label;
|
||||||
case "9D58FDBD-1CA5-11DC-8817-01301BB8A9F5": return "DragonflyBSD Swap";
|
case "9D58FDBD-1CA5-11DC-8817-01301BB8A9F5": return Localization.DragonflyBSD_Swap;
|
||||||
case "9D94CE7C-1CA5-11DC-8817-01301BB8A9F5": return "DragonflyBSD UFS";
|
case "9D94CE7C-1CA5-11DC-8817-01301BB8A9F5": return Localization.DragonflyBSD_UFS;
|
||||||
case "9DD4478F-1CA5-11DC-8817-01301BB8A9F5": return "DragonflyBSD Vinum";
|
case "9DD4478F-1CA5-11DC-8817-01301BB8A9F5": return Localization.DragonflyBSD_Vinum;
|
||||||
case "DBD5211B-1CA5-11DC-8817-01301BB8A9F5": return "DragonflyBSD CCD";
|
case "DBD5211B-1CA5-11DC-8817-01301BB8A9F5": return Localization.DragonflyBSD_CCD;
|
||||||
case "3D48CE54-1D16-11DC-8817-01301BB8A9F5": return "DragonflyBSD Label";
|
case "3D48CE54-1D16-11DC-8817-01301BB8A9F5": return Localization.DragonflyBSD_Label;
|
||||||
case "BD215AB2-1D16-11DC-8696-01301BB8A9F5": return "DragonflyBSD Legacy";
|
case "BD215AB2-1D16-11DC-8696-01301BB8A9F5": return Localization.DragonflyBSD_Legacy;
|
||||||
case "61DC63AC-6E38-11DC-8513-01301BB8A9F5": return "DragonflyBSD Hammer";
|
case "61DC63AC-6E38-11DC-8513-01301BB8A9F5": return Localization.DragonflyBSD_Hammer;
|
||||||
case "5CBB9AD1-862D-11DC-A94D-01301BB8A9F5": return "DragonflyBSD Hammer2";
|
case "5CBB9AD1-862D-11DC-A94D-01301BB8A9F5": return Localization.DragonflyBSD_Hammer2;
|
||||||
default: return "";
|
default: return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,11 +51,11 @@ public sealed class Human68K : IPartition
|
|||||||
const uint X68K_MAGIC = 0x5836384B;
|
const uint X68K_MAGIC = 0x5836384B;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Human 68k partitions";
|
public string Name => Localization.Human68K_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
|
|||||||
2826
Aaru.Partitions/Localization/Localization.Designer.cs
generated
Normal file
2826
Aaru.Partitions/Localization/Localization.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
1413
Aaru.Partitions/Localization/Localization.resx
Normal file
1413
Aaru.Partitions/Localization/Localization.resx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -58,205 +58,256 @@ public sealed class MBR : IPartition
|
|||||||
static readonly string[] _mbrTypes =
|
static readonly string[] _mbrTypes =
|
||||||
{
|
{
|
||||||
// 0x00
|
// 0x00
|
||||||
"Empty", "FAT12", "XENIX root", "XENIX /usr",
|
Localization.Empty, Localization.FAT12, Localization.XENIX_root, Localization.XENIX_usr,
|
||||||
|
|
||||||
// 0x04
|
// 0x04
|
||||||
"FAT16 < 32 MiB", "Extended", "FAT16", "IFS (HPFS/NTFS)",
|
Localization.FAT16_32_MiB, Localization.Extended, Localization.FAT16, Localization.IFS_HPFS_NTFS,
|
||||||
|
|
||||||
// 0x08
|
// 0x08
|
||||||
"AIX boot, OS/2, Commodore DOS", "AIX data, Coherent, QNX", "Coherent swap, OPUS, OS/2 Boot Manager", "FAT32",
|
Localization.AIX_boot_OS2_Commodore_DOS, Localization.AIX_data_Coherent_QNX,
|
||||||
|
Localization.Coherent_swap_OPUS_OS_2_Boot_Manager, Localization.FAT32,
|
||||||
|
|
||||||
// 0x0C
|
// 0x0C
|
||||||
"FAT32 (LBA)", "Unknown", "FAT16 (LBA)", "Extended (LBA)",
|
Localization.FAT32_LBA, Localization.Unknown_partition_type, Localization.FAT16_LBA, Localization.Extended_LBA,
|
||||||
|
|
||||||
// 0x10
|
// 0x10
|
||||||
"OPUS", "Hidden FAT12", "Compaq diagnostics, recovery partition", "Unknown",
|
Localization.OPUS, Localization.Hidden_FAT12, Localization.Compaq_diagnostics_recovery_partition,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x14
|
// 0x14
|
||||||
"Hidden FAT16 < 32 MiB, AST-DOS", "Unknown", "Hidden FAT16", "Hidden IFS (HPFS/NTFS)",
|
Localization.Hidden_FAT16_32_MiB_AST_DOS, Localization.Unknown_partition_type, Localization.Hidden_FAT16,
|
||||||
|
Localization.Hidden_IFS_HPFS_NTFS,
|
||||||
|
|
||||||
// 0x18
|
// 0x18
|
||||||
"AST-Windows swap", "Willowtech Photon coS", "Unknown", "Hidden FAT32",
|
Localization.AST_Windows_swap, Localization.Willowtech_Photon_coS, Localization.Unknown_partition_type,
|
||||||
|
Localization.Hidden_FAT32,
|
||||||
|
|
||||||
// 0x1C
|
// 0x1C
|
||||||
"Hidden FAT32 (LBA)", "Unknown", "Hidden FAT16 (LBA)", "Unknown",
|
Localization.Hidden_FAT32_LBA, Localization.Unknown_partition_type, Localization.Hidden_FAT16_LBA,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x20
|
// 0x20
|
||||||
"Willowsoft Overture File System", "Oxygen FSo2", "Oxygen Extended ", "SpeedStor reserved",
|
Localization.Willowsoft_Overture_File_System, Localization.Oxygen_FSo2, Localization.Oxygen_Extended,
|
||||||
|
Localization.SpeedStor_reserved,
|
||||||
|
|
||||||
// 0x24
|
// 0x24
|
||||||
"NEC-DOS", "Unknown", "SpeedStor reserved", "Hidden NTFS",
|
Localization.NEC_DOS, Localization.Unknown_partition_type, Localization.SpeedStor_reserved,
|
||||||
|
Localization.Hidden_NTFS,
|
||||||
|
|
||||||
// 0x28
|
// 0x28
|
||||||
"Unknown", "Unknown", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x2C
|
// 0x2C
|
||||||
"Unknown", "Unknown", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x30
|
// 0x30
|
||||||
"Unknown", "SpeedStor reserved", "Unknown", "SpeedStor reserved",
|
Localization.Unknown_partition_type, Localization.SpeedStor_reserved, Localization.Unknown_partition_type,
|
||||||
|
Localization.SpeedStor_reserved,
|
||||||
|
|
||||||
// 0x34
|
// 0x34
|
||||||
"SpeedStor reserved", "Unknown", "SpeedStor reserved", "Unknown",
|
Localization.SpeedStor_reserved, Localization.Unknown_partition_type, Localization.SpeedStor_reserved,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x38
|
// 0x38
|
||||||
"Theos", "Plan 9", "Unknown", "Unknown",
|
Localization.Theos, Localization.Plan_9, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x3C
|
// 0x3C
|
||||||
"Partition Magic", "Hidden NetWare", "Unknown", "Unknown",
|
Localization.Partition_Magic, Localization.Hidden_NetWare, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x40
|
// 0x40
|
||||||
"VENIX 80286", "PReP Boot", "Secure File System", "PTS-DOS",
|
Localization.VENIX_80286, Localization.PReP_Boot, Localization.Secure_File_System, Localization.PTS_DOS,
|
||||||
|
|
||||||
// 0x44
|
// 0x44
|
||||||
"Unknown", "Priam, EUMEL/Elan", "EUMEL/Elan", "EUMEL/Elan",
|
Localization.Unknown_partition_type, Localization.Priam_EUMEL_Elan, Localization.EUMEL_Elan,
|
||||||
|
Localization.EUMEL_Elan,
|
||||||
|
|
||||||
// 0x48
|
// 0x48
|
||||||
"EUMEL/Elan", "Unknown", "ALFS/THIN lightweight filesystem for DOS", "Unknown",
|
Localization.EUMEL_Elan, Localization.Unknown_partition_type,
|
||||||
|
Localization.ALFS_THIN_lightweight_filesystem_for_DOS, Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x4C
|
// 0x4C
|
||||||
"Unknown", "QNX 4", "QNX 4", "QNX 4, Oberon",
|
Localization.Unknown_partition_type, Localization.QNX_4, Localization.QNX_4, Localization.QNX_4_Oberon,
|
||||||
|
|
||||||
// 0x50
|
// 0x50
|
||||||
"Ontrack DM, R/O, FAT", "Ontrack DM, R/W, FAT", "CP/M, Microport UNIX", "Ontrack DM 6",
|
Localization.Ontrack_DM_RO_FAT, Localization.Ontrack_DM_RW_FAT, Localization.CPM_Microport_UNIX,
|
||||||
|
Localization.Ontrack_DM_6,
|
||||||
|
|
||||||
// 0x54
|
// 0x54
|
||||||
"Ontrack DM 6", "EZ-Drive", "Golden Bow VFeature", "Unknown",
|
Localization.Ontrack_DM_6, Localization.EZ_Drive, Localization.Golden_Bow_VFeature,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x58
|
// 0x58
|
||||||
"Unknown", "Unknown", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x5C
|
// 0x5C
|
||||||
"Priam EDISK", "Unknown", "Unknown", "Unknown",
|
Localization.Priam_EDISK, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x60
|
// 0x60
|
||||||
"Unknown", "SpeedStor", "Unknown", "GNU Hurd, System V, 386/ix",
|
Localization.Unknown_partition_type, Localization.SpeedStor, Localization.Unknown_partition_type,
|
||||||
|
Localization.GNU_Hurd_System_V_386ix,
|
||||||
|
|
||||||
// 0x64
|
// 0x64
|
||||||
"NetWare 286", "NetWare", "NetWare 386", "NetWare",
|
Localization.NetWare_286, Localization.NetWare, Localization.NetWare_386, Localization.NetWare,
|
||||||
|
|
||||||
// 0x68
|
// 0x68
|
||||||
"NetWare", "NetWare NSS", "Unknown", "Unknown",
|
Localization.NetWare, Localization.NetWare_NSS, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x6C
|
// 0x6C
|
||||||
"Unknown", "Unknown", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x70
|
// 0x70
|
||||||
"DiskSecure Multi-Boot", "Unknown", "UNIX 7th Edition", "Unknown",
|
Localization.DiskSecure_Multi_Boot, Localization.Unknown_partition_type, Localization.UNIX_7th_Edition,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x74
|
// 0x74
|
||||||
"Unknown", "IBM PC/IX", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.IBM_PC_IX, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x78
|
// 0x78
|
||||||
"Unknown", "Unknown", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x7C
|
// 0x7C
|
||||||
"Unknown", "Unknown", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x80
|
// 0x80
|
||||||
"Old MINIX", "MINIX, Old Linux", "Linux swap, Solaris", "Linux",
|
Localization.Old_MINIX, Localization.MINIX_Old_Linux, Localization.Linux_swap_Solaris, Localization.Linux,
|
||||||
|
|
||||||
// 0x84
|
// 0x84
|
||||||
"Hidden by OS/2, APM hibernation", "Linux extended", "NT Stripe Set", "NT Stripe Set",
|
Localization.Hidden_by_OS2_APM_hibernation, Localization.Linux_extended, Localization.NT_Stripe_Set,
|
||||||
|
Localization.NT_Stripe_Set,
|
||||||
|
|
||||||
// 0x88
|
// 0x88
|
||||||
"Linux Plaintext", "Unknown", "Unknown", "Unknown",
|
Localization.Linux_Plaintext, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x8C
|
// 0x8C
|
||||||
"Unknown", "Unknown", "Linux LVM", "Unknown",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Linux_LVM,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x90
|
// 0x90
|
||||||
"Unknown", "Unknown", "Unknown", "Amoeba, Hidden Linux",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Amoeba_Hidden_Linux,
|
||||||
|
|
||||||
// 0x94
|
// 0x94
|
||||||
"Amoeba bad blocks", "Unknown", "Unknown", "Unknown",
|
Localization.Amoeba_bad_blocks, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x98
|
// 0x98
|
||||||
"Unknown", "Mylex EISA SCSI", "Unknown", "Unknown",
|
Localization.Unknown_partition_type, Localization.Mylex_EISA_SCSI, Localization.Unknown_partition_type,
|
||||||
|
Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0x9C
|
// 0x9C
|
||||||
"Unknown", "Unknown", "Unknown", "BSD/OS",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.BSD_OS,
|
||||||
|
|
||||||
// 0xA0
|
// 0xA0
|
||||||
"Hibernation", "HP Volume Expansion", "Unknown", "HP Volume Expansion",
|
Localization.Hibernation, Localization.HP_Volume_Expansion, Localization.Unknown_partition_type,
|
||||||
|
Localization.HP_Volume_Expansion,
|
||||||
|
|
||||||
// 0xA4
|
// 0xA4
|
||||||
"HP Volume Expansion", "FreeBSD", "OpenBSD", "NeXTStep",
|
Localization.HP_Volume_Expansion, Localization.FreeBSD, Localization.OpenBSD, Localization.NeXTStep,
|
||||||
|
|
||||||
// 0xA8
|
// 0xA8
|
||||||
"Apple UFS", "NetBSD", "Olivetti DOS FAT12", "Apple Boot",
|
Localization.Apple_UFS, Localization.NetBSD, Localization.Olivetti_DOS_FAT12, Localization.Apple_Boot,
|
||||||
|
|
||||||
// 0xAC
|
// 0xAC
|
||||||
"Unknown", "Unknown", "Unknown", "Apple HFS",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.Apple_HFS,
|
||||||
|
|
||||||
// 0xB0
|
// 0xB0
|
||||||
"BootStar", "HP Volume Expansion", "Unknown", "HP Volume Expansion",
|
Localization.BootStar, Localization.HP_Volume_Expansion, Localization.Unknown_partition_type,
|
||||||
|
Localization.HP_Volume_Expansion,
|
||||||
|
|
||||||
// 0xB4
|
// 0xB4
|
||||||
"HP Volume Expansion", "Unknown", "HP Volume Expansion", "BSDi",
|
Localization.HP_Volume_Expansion, Localization.Unknown_partition_type, Localization.HP_Volume_Expansion,
|
||||||
|
Localization.BSDi,
|
||||||
|
|
||||||
// 0xB8
|
// 0xB8
|
||||||
"BSDi swap", "Unknown", "Unknown", "PTS BootWizard",
|
"BSDi swap", Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.PTS_BootWizard,
|
||||||
|
|
||||||
// 0xBC
|
// 0xBC
|
||||||
"Unknown", "Unknown", "Solaris boot", "Solaris",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Solaris_boot,
|
||||||
|
Localization.Solaris,
|
||||||
|
|
||||||
// 0xC0
|
// 0xC0
|
||||||
"Novell DOS, DR-DOS secured", "DR-DOS secured FAT12", "DR-DOS reserved", "DR-DOS reserved",
|
Localization.Novell_DOS_DR_DOS_secured, Localization.DR_DOS_secured_FAT12, Localization.DR_DOS_reserved,
|
||||||
|
Localization.DR_DOS_reserved,
|
||||||
|
|
||||||
// 0xC4
|
// 0xC4
|
||||||
"DR-DOS secured FAT16 < 32 MiB", "Unknown", "DR-DOS secured FAT16", "Syrinx",
|
Localization.DR_DOS_secured_FAT16_32_MiB, Localization.Unknown_partition_type,
|
||||||
|
Localization.DR_DOS_secured_FAT16, Localization.Syrinx,
|
||||||
|
|
||||||
// 0xC8
|
// 0xC8
|
||||||
"DR-DOS reserved", "DR-DOS reserved", "DR-DOS reserved", "DR-DOS secured FAT32",
|
Localization.DR_DOS_reserved, Localization.DR_DOS_reserved, Localization.DR_DOS_reserved,
|
||||||
|
Localization.DR_DOS_secured_FAT32,
|
||||||
|
|
||||||
// 0xCC
|
// 0xCC
|
||||||
"DR-DOS secured FAT32 (LBA)", "DR-DOS reserved", "DR-DOS secured FAT16 (LBA)", "DR-DOS secured extended (LBA)",
|
Localization.DR_DOS_secured_FAT32_LBA, Localization.DR_DOS_reserved, Localization.DR_DOS_secured_FAT16_LBA,
|
||||||
|
Localization.DR_DOS_secured_extended_LBA,
|
||||||
|
|
||||||
// 0xD0
|
// 0xD0
|
||||||
"Multiuser DOS secured FAT12", "Multiuser DOS secured FAT12", "Unknown", "Unknown",
|
Localization.Multiuser_DOS_secured_FAT12, Localization.Multiuser_DOS_secured_FAT12,
|
||||||
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0xD4
|
// 0xD4
|
||||||
"Multiuser DOS secured FAT16 < 32 MiB", "Multiuser DOS secured extended", "Multiuser DOS secured FAT16",
|
Localization.Multiuser_DOS_secured_FAT16_32_MiB, Localization.Multiuser_DOS_secured_extended,
|
||||||
"Unknown",
|
Localization.Multiuser_DOS_secured_FAT16, Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0xD8
|
// 0xD8
|
||||||
"CP/M", "Unknown", "Filesystem-less data", "CP/M, CCP/M, CTOS",
|
Localization.CPM, Localization.Unknown_partition_type, Localization.Filesystem_less_data,
|
||||||
|
Localization.CPM_CCPM_CTOS,
|
||||||
|
|
||||||
// 0xDC
|
// 0xDC
|
||||||
"Unknown", "Unknown", "Dell partition", "BootIt EMBRM",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Dell_partition,
|
||||||
|
Localization.BootIt_EMBRM,
|
||||||
|
|
||||||
// 0xE0
|
// 0xE0
|
||||||
"Unknown", "SpeedStor", "DOS read/only", "SpeedStor",
|
Localization.Unknown_partition_type, Localization.SpeedStor, Localization.DOS_read_only, Localization.SpeedStor,
|
||||||
|
|
||||||
// 0xE4
|
// 0xE4
|
||||||
"SpeedStor", "Tandy DOS", "SpeedStor", "Unknown",
|
Localization.SpeedStor, Localization.Tandy_DOS, Localization.SpeedStor, Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0xE8
|
// 0xE8
|
||||||
"Unknown", "Unknown", "Unknown", "BeOS",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.BeOS,
|
||||||
|
|
||||||
// 0xEC
|
// 0xEC
|
||||||
"Unknown", "Spryt*x", "Guid Partition Table", "EFI system partition",
|
Localization.Unknown_partition_type, Localization.Sprytx, Localization.Guid_Partition_Table,
|
||||||
|
Localization.EFI_system_partition,
|
||||||
|
|
||||||
// 0xF0
|
// 0xF0
|
||||||
"Linux boot", "SpeedStor", "DOS 3.3 secondary, Unisys DOS", "SpeedStor",
|
Localization.Linux_boot, Localization.SpeedStor, Localization.DOS_3_3_secondary_Unisys_DOS,
|
||||||
|
Localization.SpeedStor,
|
||||||
|
|
||||||
// 0xF4
|
// 0xF4
|
||||||
"SpeedStor", "Prologue", "SpeedStor", "Unknown",
|
Localization.SpeedStor, Localization.Prologue, Localization.SpeedStor, Localization.Unknown_partition_type,
|
||||||
|
|
||||||
// 0xF8
|
// 0xF8
|
||||||
"Unknown", "Unknown", "Unknown", "VMWare VMFS",
|
Localization.Unknown_partition_type, Localization.Unknown_partition_type, Localization.Unknown_partition_type,
|
||||||
|
Localization.VMware_VMFS,
|
||||||
|
|
||||||
// 0xFC
|
// 0xFC
|
||||||
"VMWare VMKCORE", "Linux RAID, FreeDOS", "SpeedStor, LANStep, PS/2 IML", "Xenix bad block"
|
Localization.VMWare_VMKCORE, Localization.Linux_RAID_FreeDOS, Localization.SpeedStor_LANStep_PS2_IML,
|
||||||
|
Localization.Xenix_bad_block
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Master Boot Record";
|
public string Name => Localization.MBR_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("5E8A34E8-4F1A-59E6-4BF7-7EA647063A76");
|
public Guid Id => new("5E8A34E8-4F1A-59E6-4BF7-7EA647063A76");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
[SuppressMessage("ReSharper", "UnusedVariable")]
|
[SuppressMessage("ReSharper", "UnusedVariable")]
|
||||||
@@ -439,7 +490,7 @@ public sealed class MBR : IPartition
|
|||||||
part.Type = $"0x{entry.type:X2}";
|
part.Type = $"0x{entry.type:X2}";
|
||||||
part.Name = DecodeMbrType(entry.type);
|
part.Name = DecodeMbrType(entry.type);
|
||||||
part.Sequence = counter;
|
part.Sequence = counter;
|
||||||
part.Description = entry.status == 0x80 ? "Partition is bootable." : "";
|
part.Description = entry.status == 0x80 ? Localization.Partition_is_bootable : "";
|
||||||
part.Scheme = Name;
|
part.Scheme = Name;
|
||||||
|
|
||||||
counter++;
|
counter++;
|
||||||
@@ -562,7 +613,7 @@ public sealed class MBR : IPartition
|
|||||||
part.Type = $"0x{ebrEntry.type:X2}";
|
part.Type = $"0x{ebrEntry.type:X2}";
|
||||||
part.Name = DecodeMbrType(ebrEntry.type);
|
part.Name = DecodeMbrType(ebrEntry.type);
|
||||||
part.Sequence = counter;
|
part.Sequence = counter;
|
||||||
part.Description = ebrEntry.status == 0x80 ? "Partition is bootable." : "";
|
part.Description = ebrEntry.status == 0x80 ? Localization.Partition_is_bootable : "";
|
||||||
part.Scheme = Name;
|
part.Scheme = Name;
|
||||||
counter++;
|
counter++;
|
||||||
|
|
||||||
@@ -664,8 +715,8 @@ public sealed class MBR : IPartition
|
|||||||
|
|
||||||
anyMnx = true;
|
anyMnx = true;
|
||||||
part.Type = "MINIX";
|
part.Type = "MINIX";
|
||||||
part.Name = "MINIX";
|
part.Name = Localization.MINIX;
|
||||||
part.Description = mnxEntry.status == 0x80 ? "Partition is bootable." : "";
|
part.Description = mnxEntry.status == 0x80 ? Localization.Partition_is_bootable : "";
|
||||||
part.Scheme = "MINIX";
|
part.Scheme = "MINIX";
|
||||||
|
|
||||||
partitions.Add(part);
|
partitions.Add(part);
|
||||||
|
|||||||
@@ -64,11 +64,11 @@ public sealed class NeXTDisklabel : IPartition
|
|||||||
const ushort DISKTAB_ENTRY_SIZE = 0x2C;
|
const ushort DISKTAB_ENTRY_SIZE = 0x2C;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "NeXT Disklabel";
|
public string Name => Localization.NeXTDisklabel_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -229,34 +229,34 @@ public sealed class NeXTDisklabel : IPartition
|
|||||||
|
|
||||||
if(part.Start + part.Length > imagePlugin.Info.Sectors)
|
if(part.Start + part.Length > imagePlugin.Info.Sectors)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("NeXT Plugin", "Partition bigger than device, reducing...");
|
AaruConsole.DebugWriteLine("NeXT Plugin", Localization.Partition_bigger_than_device_reducing);
|
||||||
part.Length = imagePlugin.Info.Sectors - part.Start;
|
part.Length = imagePlugin.Info.Sectors - part.Start;
|
||||||
part.Size = part.Length * sectorSize;
|
part.Size = part.Length * sectorSize;
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_size = {1}", i, part.Length);
|
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_size = {1}", i, part.Length);
|
||||||
}
|
}
|
||||||
|
|
||||||
sb.AppendFormat("{0} bytes per block", label.dl_dt.d_partitions[i].p_bsize).AppendLine();
|
sb.AppendFormat(Localization._0_bytes_per_block, label.dl_dt.d_partitions[i].p_bsize).AppendLine();
|
||||||
sb.AppendFormat("{0} bytes per fragment", label.dl_dt.d_partitions[i].p_fsize).AppendLine();
|
sb.AppendFormat(Localization._0_bytes_per_fragment, label.dl_dt.d_partitions[i].p_fsize).AppendLine();
|
||||||
|
|
||||||
if(label.dl_dt.d_partitions[i].p_opt == 's')
|
if(label.dl_dt.d_partitions[i].p_opt == 's')
|
||||||
sb.AppendLine("Space optimized");
|
sb.AppendLine(Localization.Space_optimized);
|
||||||
else if(label.dl_dt.d_partitions[i].p_opt == 't')
|
else if(label.dl_dt.d_partitions[i].p_opt == 't')
|
||||||
sb.AppendLine("Time optimized");
|
sb.AppendLine(Localization.Time_optimized);
|
||||||
else
|
else
|
||||||
sb.AppendFormat("Unknown optimization {0:X2}", label.dl_dt.d_partitions[i].p_opt).AppendLine();
|
sb.AppendFormat(Localization.Unknown_optimization_0_X2, label.dl_dt.d_partitions[i].p_opt).AppendLine();
|
||||||
|
|
||||||
sb.AppendFormat("{0} cylinders per group", label.dl_dt.d_partitions[i].p_cpg).AppendLine();
|
sb.AppendFormat(Localization._0_cylinders_per_group, label.dl_dt.d_partitions[i].p_cpg).AppendLine();
|
||||||
sb.AppendFormat("{0} bytes per inode", label.dl_dt.d_partitions[i].p_density).AppendLine();
|
sb.AppendFormat(Localization._0_bytes_per_inode, label.dl_dt.d_partitions[i].p_density).AppendLine();
|
||||||
|
|
||||||
sb.AppendFormat("{0}% of space must be free at minimum", label.dl_dt.d_partitions[i].p_minfree).
|
sb.AppendFormat(Localization._0_of_space_must_be_free_at_minimum, label.dl_dt.d_partitions[i].p_minfree).
|
||||||
AppendLine();
|
AppendLine();
|
||||||
|
|
||||||
if(label.dl_dt.d_partitions[i].p_newfs != 1)
|
if(label.dl_dt.d_partitions[i].p_newfs != 1)
|
||||||
sb.AppendLine("Filesystem should be formatted at start");
|
sb.AppendLine(Localization.Filesystem_should_be_formatted_at_start);
|
||||||
|
|
||||||
if(label.dl_dt.d_partitions[i].p_automnt == 1)
|
if(label.dl_dt.d_partitions[i].p_automnt == 1)
|
||||||
sb.AppendLine("Filesystem should be automatically mounted");
|
sb.AppendLine(Localization.Filesystem_should_be_automatically_mounted);
|
||||||
|
|
||||||
part.Description = sb.ToString();
|
part.Description = sb.ToString();
|
||||||
|
|
||||||
|
|||||||
@@ -47,11 +47,11 @@ namespace Aaru.Partitions;
|
|||||||
public sealed class PC98 : IPartition
|
public sealed class PC98 : IPartition
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "NEC PC-9800 partition table";
|
public string Name => Localization.PC98_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("27333401-C7C2-447D-961C-22AD0641A09A");
|
public Guid Id => new("27333401-C7C2-447D-961C-22AD0641A09A");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
||||||
@@ -74,7 +74,7 @@ public sealed class PC98 : IPartition
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Prevent false positives with some FAT BPBs
|
// Prevent false positives with some FAT BPBs
|
||||||
if(Encoding.ASCII.GetString(bootSector, 0x36, 3) == "FAT")
|
if(Encoding.ASCII.GetString(bootSector, 0x36, 3) == Localization.FAT)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Table table = Marshal.ByteArrayToStructureLittleEndian<Table>(sector);
|
Table table = Marshal.ByteArrayToStructureLittleEndian<Table>(sector);
|
||||||
@@ -151,20 +151,20 @@ public sealed class PC98 : IPartition
|
|||||||
{
|
{
|
||||||
switch(sid & 0x7F)
|
switch(sid & 0x7F)
|
||||||
{
|
{
|
||||||
case 0x01: return "FAT12";
|
case 0x01: return Localization.FAT12;
|
||||||
case 0x04: return "PC-UX";
|
case 0x04: return Localization.PC_UX;
|
||||||
case 0x06: return "N88-BASIC(86)";
|
case 0x06: return Localization.N88_BASIC_86;
|
||||||
|
|
||||||
// Supposedly for FAT16 < 32 MiB, seen in bigger partitions
|
// Supposedly for FAT16 < 32 MiB, seen in bigger partitions
|
||||||
case 0x11:
|
case 0x11:
|
||||||
case 0x21: return "FAT16";
|
case 0x21: return Localization.FAT16;
|
||||||
case 0x28:
|
case 0x28:
|
||||||
case 0x41:
|
case 0x41:
|
||||||
case 0x48: return "Windows Volume Set";
|
case 0x48: return Localization.Windows_Volume_Set;
|
||||||
case 0x44: return "FreeBSD";
|
case 0x44: return Localization.FreeBSD;
|
||||||
case 0x61: return "FAT32";
|
case 0x61: return Localization.FAT32;
|
||||||
case 0x62: return "Linux";
|
case 0x62: return Localization.Linux;
|
||||||
default: return "Unknown";
|
default: return Localization.Unknown_partition_type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,11 +50,11 @@ namespace Aaru.Partitions;
|
|||||||
public sealed class Plan9 : IPartition
|
public sealed class Plan9 : IPartition
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Plan9 partition table";
|
public string Name => Localization.Plan9_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("F0BF4FFC-056E-4E7C-8B65-4EAEE250ADD9");
|
public Guid Id => new("F0BF4FFC-056E-4E7C-8B65-4EAEE250ADD9");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
|
|||||||
@@ -178,11 +178,11 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
const uint FLAGS_NO_AUTOMOUNT = 0x00000002;
|
const uint FLAGS_NO_AUTOMOUNT = 0x00000002;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Amiga Rigid Disk Block";
|
public string Name => Localization.AmigaRigidDiskBlock_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("8D72ED97-1854-4170-9CE4-6E8446FD9863");
|
public Guid Id => new("8D72ED97-1854-4170-9CE4-6E8446FD9863");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -211,11 +211,12 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
|
|
||||||
uint magic = BigEndianBitConverter.ToUInt32(tmpSector, 0);
|
uint magic = BigEndianBitConverter.ToUInt32(tmpSector, 0);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Possible magic at block {0} is 0x{1:X8}", rdbBlock, magic);
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Possible_magic_at_block_0_is_1_X8, rdbBlock,
|
||||||
|
magic);
|
||||||
|
|
||||||
if(magic == RIGID_DISK_BLOCK_MAGIC)
|
if(magic == RIGID_DISK_BLOCK_MAGIC)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Found RDB magic at block {0}", rdbBlock);
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_RDB_magic_at_block_0, rdbBlock);
|
||||||
|
|
||||||
foundRdb = true;
|
foundRdb = true;
|
||||||
|
|
||||||
@@ -371,7 +372,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
|
|
||||||
while(nextBlock != 0xFFFFFFFF)
|
while(nextBlock != 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Going to block {0} in search of a BadBlock block",
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Going_to_block_0_in_search_of_a_BadBlock_block,
|
||||||
nextBlock);
|
nextBlock);
|
||||||
|
|
||||||
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
||||||
@@ -384,7 +385,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
if(magic != BAD_BLOCK_LIST_MAGIC)
|
if(magic != BAD_BLOCK_LIST_MAGIC)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Found BadBlock block");
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_BadBlock_block);
|
||||||
|
|
||||||
var chainEntry = new BadBlockList
|
var chainEntry = new BadBlockList
|
||||||
{
|
{
|
||||||
@@ -415,7 +416,8 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
|
|
||||||
chainEntry.BlockPairs[i].GoodBlock = BigEndianBitConverter.ToUInt32(sector, (int)(0x18 + (i * 8) + 4));
|
chainEntry.BlockPairs[i].GoodBlock = BigEndianBitConverter.ToUInt32(sector, (int)(0x18 + (i * 8) + 4));
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Bad block at {0} replaced with good block at {1}",
|
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||||
|
Localization.Bad_block_at_0_replaced_with_good_block_at_1,
|
||||||
chainEntry.BlockPairs[i].BadBlock, chainEntry.BlockPairs[i].GoodBlock);
|
chainEntry.BlockPairs[i].BadBlock, chainEntry.BlockPairs[i].GoodBlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -429,7 +431,8 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
|
|
||||||
while(nextBlock != 0xFFFFFFFF)
|
while(nextBlock != 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Going to block {0} in search of a PartitionEntry block",
|
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||||
|
Localization.Going_to_block_0_in_search_of_a_PartitionEntry_block,
|
||||||
nextBlock + sectorOffset);
|
nextBlock + sectorOffset);
|
||||||
|
|
||||||
errno = imagePlugin.ReadSector(nextBlock + sectorOffset, out sector);
|
errno = imagePlugin.ReadSector(nextBlock + sectorOffset, out sector);
|
||||||
@@ -442,7 +445,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
if(magic != PARTITION_BLOCK_MAGIC)
|
if(magic != PARTITION_BLOCK_MAGIC)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Found PartitionEntry block");
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_PartitionEntry_block);
|
||||||
|
|
||||||
var partEntry = new PartitionEntry
|
var partEntry = new PartitionEntry
|
||||||
{
|
{
|
||||||
@@ -598,8 +601,8 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
|
|
||||||
while(nextBlock != 0xFFFFFFFF)
|
while(nextBlock != 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Going to block {0} in search of a FileSystemHeader block",
|
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||||
nextBlock);
|
Localization.Going_to_block_0_in_search_of_a_FileSystemHeader_block, nextBlock);
|
||||||
|
|
||||||
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
||||||
|
|
||||||
@@ -611,7 +614,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
if(magic != FILESYSTEM_HEADER_MAGIC)
|
if(magic != FILESYSTEM_HEADER_MAGIC)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Found FileSystemHeader block");
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_FileSystemHeader_block);
|
||||||
|
|
||||||
var fshd = new FileSystemHeader
|
var fshd = new FileSystemHeader
|
||||||
{
|
{
|
||||||
@@ -676,8 +679,8 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
|
|
||||||
while(nextBlock != 0xFFFFFFFF)
|
while(nextBlock != 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Going to block {0} in search of a LoadSegment block",
|
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||||
nextBlock);
|
Localization.Going_to_block_0_in_search_of_a_LoadSegment_block, nextBlock);
|
||||||
|
|
||||||
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
||||||
|
|
||||||
@@ -689,7 +692,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
if(magicSeg != LOAD_SEG_MAGIC)
|
if(magicSeg != LOAD_SEG_MAGIC)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "Found LoadSegment block");
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_LoadSegment_block);
|
||||||
|
|
||||||
thereAreLoadSegments = true;
|
thereAreLoadSegments = true;
|
||||||
|
|
||||||
@@ -723,7 +726,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
if(thereAreLoadSegments)
|
if(thereAreLoadSegments)
|
||||||
{
|
{
|
||||||
string loadSegSha1 = sha1Ctx.End();
|
string loadSegSha1 = sha1Ctx.End();
|
||||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "LoadSegment data SHA1: {0}", loadSegSha1);
|
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.LoadSegment_data_SHA1_0, loadSegSha1);
|
||||||
}
|
}
|
||||||
|
|
||||||
fshdEntries.Add(fshd);
|
fshdEntries.Add(fshd);
|
||||||
@@ -760,88 +763,99 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
|||||||
{
|
{
|
||||||
switch(amigaDosType)
|
switch(amigaDosType)
|
||||||
{
|
{
|
||||||
case TYPEID_OFS: return "Amiga Original File System";
|
case TYPEID_OFS: return Localization.Amiga_Original_File_System;
|
||||||
case TYPEID_FFS: return "Amiga Fast File System";
|
case TYPEID_FFS: return Localization.Amiga_Fast_File_System;
|
||||||
case TYPEID_OFS_INTL: return "Amiga Original File System with international characters";
|
case TYPEID_OFS_INTL: return Localization.Amiga_Original_File_System_with_international_characters;
|
||||||
case TYPEID_FFS_INTL: return "Amiga Fast File System with international characters";
|
case TYPEID_FFS_INTL: return Localization.Amiga_Fast_File_System_with_international_characters;
|
||||||
case TYPEID_OFS_CACHE: return "Amiga Original File System with directory cache";
|
case TYPEID_OFS_CACHE: return Localization.Amiga_Original_File_System_with_directory_cache;
|
||||||
case TYPEID_FFS_CACHE: return "Amiga Fast File System with directory cache";
|
case TYPEID_FFS_CACHE: return Localization.Amiga_Fast_File_System_with_directory_cache;
|
||||||
case TYPEID_OFS2: return "Amiga Original File System with long filenames";
|
case TYPEID_OFS2: return Localization.Amiga_Original_File_System_with_long_filenames;
|
||||||
case TYPEID_FFS2: return "Amiga Fast File System with long filenames";
|
case TYPEID_FFS2: return Localization.Amiga_Fast_File_System_with_long_filenames;
|
||||||
case TYPEID_AMIX_SYSV: return "Amiga UNIX System V filesystem";
|
case TYPEID_AMIX_SYSV: return Localization.Amiga_UNIX_System_V_filesystem;
|
||||||
case TYPEID_AMIX_BOOT: return "Amiga UNIX boot filesystem";
|
case TYPEID_AMIX_BOOT: return Localization.Amiga_UNIX_boot_filesystem;
|
||||||
case TYPEID_AMIX_FFS: return "Amiga UNIX BSD filesystem";
|
case TYPEID_AMIX_FFS: return Localization.Amiga_UNIX_BSD_filesystem;
|
||||||
case TYPEID_AMIX_RESERVED: return "Amiga UNIX Reserved partition (swap)";
|
case TYPEID_AMIX_RESERVED: return Localization.Amiga_UNIX_Reserved_partition__swap_;
|
||||||
case TYPEID_PFS:
|
case TYPEID_PFS:
|
||||||
case TYPEID_PFS2:
|
case TYPEID_PFS2:
|
||||||
case TYPEID_PFS_MUSER:
|
case TYPEID_PFS_MUSER:
|
||||||
case TYPEID_AFS: return "ProfessionalFileSystem";
|
case TYPEID_AFS: return Localization.ProfessionalFileSystem;
|
||||||
case TYPEID_SFS: return "SmartFileSystem v1";
|
case TYPEID_SFS: return Localization.SmartFileSystem_v1;
|
||||||
case TYPEID_SFS2: return "SmartFileSystem v2";
|
case TYPEID_SFS2: return Localization.SmartFileSystem_v2;
|
||||||
case TYPEID_JXFS: return "JXFS";
|
case TYPEID_JXFS: return Localization.JXFS;
|
||||||
case TYPEID_CROSS_DOS: return "FAT, as set by CrossDOS";
|
case TYPEID_CROSS_DOS: return Localization.FAT_as_set_by_CrossDOS;
|
||||||
case TYPEID_CROSS_MAC: return "HFS, as set by CrossMac";
|
case TYPEID_CROSS_MAC: return Localization.HFS_as_set_by_CrossMac;
|
||||||
case TYPEID_BFFS: return "4.2UFS, for BFFS";
|
case TYPEID_BFFS: return Localization._4_2_UFS_for_BFFS;
|
||||||
case TYPEID_OFS_MUSER: return "Amiga Original File System with multi-user patches";
|
case TYPEID_OFS_MUSER: return Localization.Amiga_Original_File_System_with_multi_user_patches;
|
||||||
case TYPEID_FFS_MUSER: return "Amiga Fast File System with multi-user patches";
|
case TYPEID_FFS_MUSER: return Localization.Amiga_Fast_File_System_with_multi_user_patches;
|
||||||
case TYPEID_OFS_INTL_MUSER:
|
case TYPEID_OFS_INTL_MUSER:
|
||||||
return "Amiga Original File System with international characters and multi-user patches";
|
return Localization.Amiga_Original_File_System_with_international_characters_and_multi_user_patches;
|
||||||
case TYPEID_FFS_INTL_MUSER:
|
case TYPEID_FFS_INTL_MUSER:
|
||||||
return "Amiga Fast File System with international characters and multi-user patches";
|
return Localization.Amiga_Fast_File_System_with_international_characters_and_multi_user_patches;
|
||||||
case TYPEID_OFS_CACHE_MUSER:
|
case TYPEID_OFS_CACHE_MUSER:
|
||||||
return "Amiga Original File System with directory cache and multi-user patches";
|
return Localization.Amiga_Original_File_System_with_directory_cache_and_multi_user_patches;
|
||||||
case TYPEID_FFS_CACHE_MUSER: return "Amiga Fast File System with directory cache and multi-user patches";
|
case TYPEID_FFS_CACHE_MUSER:
|
||||||
case TYPEID_OLD_BSD_UNUSED: return "BSD unused";
|
return Localization.Amiga_Fast_File_System_with_directory_cache_and_multi_user_patches;
|
||||||
case TYPEID_OLD_BSD_SWAP: return "BSD swap";
|
case TYPEID_OLD_BSD_UNUSED: return Localization.BSD_unused;
|
||||||
case TYPEID_OLD_BSD42_FFS: return "BSD 4.2 FFS";
|
case TYPEID_OLD_BSD_SWAP: return Localization.BSD_swap;
|
||||||
case TYPEID_OLD_BSD44_LFS: return "BSD 4.4 LFS";
|
case TYPEID_OLD_BSD42_FFS: return Localization.BSD_4_2_FFS;
|
||||||
case TYPEID_NETBSD_ROOT_UNUSED: return "NetBSD unused root partition";
|
case TYPEID_OLD_BSD44_LFS: return Localization.BSD_4_4_LFS;
|
||||||
case TYPEID_NETBSD_ROOT_42FFS: return "NetBSD 4.2 FFS root partition";
|
case TYPEID_NETBSD_ROOT_UNUSED: return Localization.NetBSD_unused_root_partition;
|
||||||
case TYPEID_NETBSD_ROOT_44LFS: return "NetBSD 4.4 LFS root partition";
|
case TYPEID_NETBSD_ROOT_42FFS: return Localization.NetBSD_4_2_FFS_root_partition;
|
||||||
case TYPEID_NETBSD_USER_UNUSED: return "NetBSD unused user partition";
|
case TYPEID_NETBSD_ROOT_44LFS: return Localization.NetBSD_4_4_LFS_root_partition;
|
||||||
case TYPEID_NETBSD_USER_42FFS: return "NetBSD 4.2 FFS user partition";
|
case TYPEID_NETBSD_USER_UNUSED: return Localization.NetBSD_unused_user_partition;
|
||||||
case TYPEID_NETBSD_USER_44LFS: return "NetBSD 4.4 LFS user partition";
|
case TYPEID_NETBSD_USER_42FFS: return Localization.NetBSD_4_2_FFS_user_partition;
|
||||||
case TYPEID_NETBSD_SWAP: return "NetBSD swap partition";
|
case TYPEID_NETBSD_USER_44LFS: return Localization.NetBSD_4_4_LFS_user_partition;
|
||||||
case TYPEID_LINUX: return "Linux filesystem partition";
|
case TYPEID_NETBSD_SWAP: return Localization.NetBSD_swap_partition;
|
||||||
case TYPEID_LINUX_SWAP: return "Linux swap partition";
|
case TYPEID_LINUX: return Localization.Linux_filesystem_partition;
|
||||||
|
case TYPEID_LINUX_SWAP: return Localization.Linux_swap_partition;
|
||||||
case TYPEID_RAID_FRAME:
|
case TYPEID_RAID_FRAME:
|
||||||
case TYPEID_RAID_FRAME0: return "RaidFrame partition";
|
case TYPEID_RAID_FRAME0: return Localization.RaidFrame_partition;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
if((amigaDosType & TYPEID_OFS) == TYPEID_OFS)
|
if((amigaDosType & TYPEID_OFS) == TYPEID_OFS)
|
||||||
return $"Unknown Amiga DOS filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_Amiga_DOS_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_AMIX_SYSV) == TYPEID_AMIX_SYSV)
|
if((amigaDosType & TYPEID_AMIX_SYSV) == TYPEID_AMIX_SYSV)
|
||||||
return $"Unknown Amiga UNIX filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_Amiga_UNIX_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & 0x50465300) == 0x50465300 ||
|
if((amigaDosType & 0x50465300) == 0x50465300 ||
|
||||||
(amigaDosType & 0x41465300) == 0x41465300)
|
(amigaDosType & 0x41465300) == 0x41465300)
|
||||||
return $"Unknown ProfessionalFileSystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_ProfessionalFileSystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_SFS) == TYPEID_SFS)
|
if((amigaDosType & TYPEID_SFS) == TYPEID_SFS)
|
||||||
return $"Unknown SmartFileSystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_SmartFileSystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_OFS_MUSER) == TYPEID_OFS_MUSER)
|
if((amigaDosType & TYPEID_OFS_MUSER) == TYPEID_OFS_MUSER)
|
||||||
return $"Unknown Amiga DOS multi-user filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_Amiga_DOS_multi_user_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_OLD_BSD_UNUSED) == TYPEID_OLD_BSD_UNUSED)
|
if((amigaDosType & TYPEID_OLD_BSD_UNUSED) == TYPEID_OLD_BSD_UNUSED)
|
||||||
return $"Unknown BSD filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_BSD_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_NETBSD_ROOT_UNUSED) == TYPEID_NETBSD_ROOT_UNUSED)
|
if((amigaDosType & TYPEID_NETBSD_ROOT_UNUSED) == TYPEID_NETBSD_ROOT_UNUSED)
|
||||||
return $"Unknown NetBSD root filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_NetBSD_root_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_NETBSD_USER_UNUSED) == TYPEID_NETBSD_USER_UNUSED)
|
if((amigaDosType & TYPEID_NETBSD_USER_UNUSED) == TYPEID_NETBSD_USER_UNUSED)
|
||||||
return $"Unknown NetBSD user filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_NetBSD_user_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_NETBSD_SWAP) == TYPEID_NETBSD_SWAP)
|
if((amigaDosType & TYPEID_NETBSD_SWAP) == TYPEID_NETBSD_SWAP)
|
||||||
return $"Unknown NetBSD swap filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_NetBSD_swap_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
if((amigaDosType & TYPEID_LINUX) == TYPEID_LINUX ||
|
if((amigaDosType & TYPEID_LINUX) == TYPEID_LINUX ||
|
||||||
(amigaDosType & TYPEID_LINUX_SWAP) == TYPEID_LINUX_SWAP)
|
(amigaDosType & TYPEID_LINUX_SWAP) == TYPEID_LINUX_SWAP)
|
||||||
return $"Unknown Linux filesystem type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_Linux_filesystem_type_0,
|
||||||
|
AmigaDosTypeToString(amigaDosType));
|
||||||
|
|
||||||
return $"Unknown partition type {AmigaDosTypeToString(amigaDosType)}";
|
return string.Format(Localization.Unknown_partition_type_0, AmigaDosTypeToString(amigaDosType));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,11 +49,11 @@ public sealed class RioKarma : IPartition
|
|||||||
const byte ENTRY_MAGIC = 0x4D;
|
const byte ENTRY_MAGIC = 0x4D;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Rio Karma partitioning";
|
public string Name => Localization.RioKarma_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
public Guid Id => new("246A6D93-4F1A-1F8A-344D-50187A5513A9");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -78,7 +78,7 @@ public sealed class RioKarma : IPartition
|
|||||||
Offset = (ulong)(entry.offset * sector.Length),
|
Offset = (ulong)(entry.offset * sector.Length),
|
||||||
Size = entry.size,
|
Size = entry.size,
|
||||||
Length = (ulong)(entry.size * sector.Length),
|
Length = (ulong)(entry.size * sector.Length),
|
||||||
Type = "Rio Karma",
|
Type = Localization.Rio_Karma,
|
||||||
Sequence = counter++,
|
Sequence = counter++,
|
||||||
Scheme = Name
|
Scheme = Name
|
||||||
} where entry.type == ENTRY_MAGIC select part).ToList();
|
} where entry.type == ENTRY_MAGIC select part).ToList();
|
||||||
|
|||||||
@@ -53,11 +53,11 @@ public sealed class SGI : IPartition
|
|||||||
const int SGI_MAGIC = 0x0BE5A941;
|
const int SGI_MAGIC = 0x0BE5A941;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "SGI Disk Volume Header";
|
public string Name => Localization.SGI_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("AEF5AB45-4880-4CE8-8735-F0A402E2E5F2");
|
public Guid Id => new("AEF5AB45-4880-4CE8-8735-F0A402E2E5F2");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
||||||
@@ -78,7 +78,8 @@ public sealed class SGI : IPartition
|
|||||||
for(int i = 0; i < dvh.partitions.Length; i++)
|
for(int i = 0; i < dvh.partitions.Length; i++)
|
||||||
dvh.partitions[i] = (Partition)Marshal.SwapStructureMembersEndian(dvh.partitions[i]);
|
dvh.partitions[i] = (Partition)Marshal.SwapStructureMembersEndian(dvh.partitions[i]);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.magic = 0x{0:X8} (should be 0x{1:X8})", dvh.magic, SGI_MAGIC);
|
AaruConsole.DebugWriteLine("SGIVH plugin", Localization.dvh_magic_equals_0_X8_should_be_1_X8, dvh.magic,
|
||||||
|
SGI_MAGIC);
|
||||||
|
|
||||||
if(dvh.magic != SGI_MAGIC)
|
if(dvh.magic != SGI_MAGIC)
|
||||||
return false;
|
return false;
|
||||||
@@ -168,24 +169,24 @@ public sealed class SGI : IPartition
|
|||||||
|
|
||||||
static string TypeToString(SGIType typ) => typ switch
|
static string TypeToString(SGIType typ) => typ switch
|
||||||
{
|
{
|
||||||
SGIType.Header => "Volume header",
|
SGIType.Header => Localization.Volume_header,
|
||||||
SGIType.TrkRepl => "Track replacements",
|
SGIType.TrkRepl => Localization.Track_replacements,
|
||||||
SGIType.SecRepl => "Sector replacements",
|
SGIType.SecRepl => Localization.Sector_replacements,
|
||||||
SGIType.Swap => "Raw data (swap)",
|
SGIType.Swap => Localization.Raw_data_swap,
|
||||||
SGIType.Bsd => "4.2BSD Fast File System",
|
SGIType.Bsd => Localization._4_2_BSD_Fast_File_System,
|
||||||
SGIType.SystemV => "UNIX System V",
|
SGIType.SystemV => Localization.UNIX_System_V,
|
||||||
SGIType.Volume => "Whole device",
|
SGIType.Volume => Localization.Whole_device,
|
||||||
SGIType.EFS => "EFS",
|
SGIType.EFS => Localization.EFS,
|
||||||
SGIType.Lvol => "Logical volume",
|
SGIType.Lvol => Localization.Logical_volume,
|
||||||
SGIType.Rlvol => "Raw logical volume",
|
SGIType.Rlvol => Localization.Raw_logical_volume,
|
||||||
SGIType.XFS => "XFS",
|
SGIType.XFS => Localization.XFS,
|
||||||
SGIType.Xlvol => "XFS log device",
|
SGIType.Xlvol => Localization.XFS_log_device,
|
||||||
SGIType.Rxlvol => "XLV volume",
|
SGIType.Rxlvol => Localization.XLV_volume,
|
||||||
SGIType.Xvm => "SGI XVM",
|
SGIType.Xvm => Localization.SGI_XVM,
|
||||||
SGIType.LinuxSwap => "Linux swap",
|
SGIType.LinuxSwap => Localization.Linux_swap,
|
||||||
SGIType.Linux => "Linux",
|
SGIType.Linux => Localization.Linux,
|
||||||
SGIType.LinuxRAID => "Linux RAID",
|
SGIType.LinuxRAID => Localization.Linux_RAID,
|
||||||
_ => "Unknown"
|
_ => Localization.Unknown_partition_type
|
||||||
};
|
};
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||||
|
|||||||
@@ -76,11 +76,11 @@ public sealed class SunDisklabel : IPartition
|
|||||||
(4 * 4) + (12 * 2) + (2 * 2));
|
(4 * 4) + (12 * 2) + (2 * 2));
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Sun Disklabel";
|
public string Name => Localization.SunDisklabel_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("50F35CC4-8375-4445-8DCB-1BA550C931A3");
|
public Guid Id => new("50F35CC4-8375-4445-8DCB-1BA550C931A3");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -195,7 +195,7 @@ public sealed class SunDisklabel : IPartition
|
|||||||
(((ulong)dkl.dkl_map[i].dkl_cylno * sectorsPerCylinder) + sectorOffset) * DK_LABEL_SIZE,
|
(((ulong)dkl.dkl_map[i].dkl_cylno * sectorsPerCylinder) + sectorOffset) * DK_LABEL_SIZE,
|
||||||
Start = (((ulong)dkl.dkl_map[i].dkl_cylno * sectorsPerCylinder) + sectorOffset) *
|
Start = (((ulong)dkl.dkl_map[i].dkl_cylno * sectorsPerCylinder) + sectorOffset) *
|
||||||
DK_LABEL_SIZE / imagePlugin.Info.SectorSize,
|
DK_LABEL_SIZE / imagePlugin.Info.SectorSize,
|
||||||
Type = "SunOS partition",
|
Type = Localization.SunOS_partition,
|
||||||
Scheme = Name
|
Scheme = Name
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -278,8 +278,9 @@ public sealed class SunDisklabel : IPartition
|
|||||||
};
|
};
|
||||||
|
|
||||||
if(dkl8.dkl_vtoc.v_timestamp[i] != 0)
|
if(dkl8.dkl_vtoc.v_timestamp[i] != 0)
|
||||||
part.Description += $"\nPartition timestamped on {
|
part.Description += "\n" + string.Format(Localization.Partition_timestamped_on_0,
|
||||||
DateHandlers.UnixToDateTime(dkl8.dkl_vtoc.v_timestamp[i])}";
|
DateHandlers.
|
||||||
|
UnixToDateTime(dkl8.dkl_vtoc.v_timestamp[i]));
|
||||||
|
|
||||||
if(part.Start < imagePlugin.Info.Sectors &&
|
if(part.Start < imagePlugin.Info.Sectors &&
|
||||||
part.End <= imagePlugin.Info.Sectors)
|
part.End <= imagePlugin.Info.Sectors)
|
||||||
@@ -359,8 +360,9 @@ public sealed class SunDisklabel : IPartition
|
|||||||
};
|
};
|
||||||
|
|
||||||
if(dkl16.dkl_vtoc.v_timestamp[i] != 0)
|
if(dkl16.dkl_vtoc.v_timestamp[i] != 0)
|
||||||
part.Description += $"\nPartition timestamped on {
|
part.Description += "\n" + string.Format(Localization.Partition_timestamped_on_0,
|
||||||
DateHandlers.UnixToDateTime(dkl16.dkl_vtoc.v_timestamp[i])}";
|
DateHandlers.
|
||||||
|
UnixToDateTime(dkl16.dkl_vtoc.v_timestamp[i]));
|
||||||
|
|
||||||
if(part.Start < imagePlugin.Info.Sectors &&
|
if(part.Start < imagePlugin.Info.Sectors &&
|
||||||
part.End <= imagePlugin.Info.Sectors)
|
part.End <= imagePlugin.Info.Sectors)
|
||||||
@@ -373,7 +375,7 @@ public sealed class SunDisklabel : IPartition
|
|||||||
|
|
||||||
static dk_label SwapDiskLabel(dk_label label)
|
static dk_label SwapDiskLabel(dk_label label)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Sun plugin", "Swapping dk_label");
|
AaruConsole.DebugWriteLine("Sun plugin", Localization.Swapping_dk_label);
|
||||||
label = (dk_label)Marshal.SwapStructureMembersEndian(label);
|
label = (dk_label)Marshal.SwapStructureMembersEndian(label);
|
||||||
|
|
||||||
for(int i = 0; i < label.dkl_map.Length; i++)
|
for(int i = 0; i < label.dkl_map.Length; i++)
|
||||||
@@ -384,7 +386,7 @@ public sealed class SunDisklabel : IPartition
|
|||||||
|
|
||||||
static dk_label8 SwapDiskLabel(dk_label8 label)
|
static dk_label8 SwapDiskLabel(dk_label8 label)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Sun plugin", "Swapping dk_label8");
|
AaruConsole.DebugWriteLine("Sun plugin", Localization.Swapping_dk_label8);
|
||||||
label = (dk_label8)Marshal.SwapStructureMembersEndian(label);
|
label = (dk_label8)Marshal.SwapStructureMembersEndian(label);
|
||||||
|
|
||||||
for(int i = 0; i < label.dkl_map.Length; i++)
|
for(int i = 0; i < label.dkl_map.Length; i++)
|
||||||
@@ -410,7 +412,7 @@ public sealed class SunDisklabel : IPartition
|
|||||||
|
|
||||||
static dk_label16 SwapDiskLabel(dk_label16 label)
|
static dk_label16 SwapDiskLabel(dk_label16 label)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("Sun plugin", "Swapping dk_label16");
|
AaruConsole.DebugWriteLine("Sun plugin", Localization.Swapping_dk_label16);
|
||||||
label = (dk_label16)Marshal.SwapStructureMembersEndian(label);
|
label = (dk_label16)Marshal.SwapStructureMembersEndian(label);
|
||||||
|
|
||||||
for(int i = 0; i < label.dkl_vtoc.v_bootinfo.Length; i++)
|
for(int i = 0; i < label.dkl_vtoc.v_bootinfo.Length; i++)
|
||||||
@@ -438,41 +440,41 @@ public sealed class SunDisklabel : IPartition
|
|||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
|
|
||||||
if(flags.HasFlag(SunFlags.NoMount))
|
if(flags.HasFlag(SunFlags.NoMount))
|
||||||
sb.AppendLine("Unmountable");
|
sb.AppendLine(Localization.Unmountable);
|
||||||
|
|
||||||
if(flags.HasFlag(SunFlags.ReadOnly))
|
if(flags.HasFlag(SunFlags.ReadOnly))
|
||||||
sb.AppendLine("Read-only");
|
sb.AppendLine(Localization.Read_only);
|
||||||
|
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
static string SunIdToString(SunTag id) => id switch
|
static string SunIdToString(SunTag id) => id switch
|
||||||
{
|
{
|
||||||
SunTag.Linux => "Linux",
|
SunTag.Linux => Localization.Linux,
|
||||||
SunTag.LinuxRaid => "Linux RAID",
|
SunTag.LinuxRaid => Localization.Linux_RAID,
|
||||||
SunTag.LinuxSwap => "Linux swap",
|
SunTag.LinuxSwap => Localization.Linux_swap,
|
||||||
SunTag.LVM => "LVM",
|
SunTag.LVM => Localization.LVM,
|
||||||
SunTag.SunBoot => "Sun boot",
|
SunTag.SunBoot => Localization.Sun_boot,
|
||||||
SunTag.SunEmpty => "Empty",
|
SunTag.SunEmpty => Localization.Empty,
|
||||||
SunTag.SunHome => "Sun /home",
|
SunTag.SunHome => Localization.Sun_home,
|
||||||
SunTag.SunRoot => "Sun /",
|
SunTag.SunRoot => Localization.Sun_root,
|
||||||
SunTag.SunStand => "Sun /stand",
|
SunTag.SunStand => Localization.Sun_stand,
|
||||||
SunTag.SunSwap => "Sun swap",
|
SunTag.SunSwap => Localization.Sun_swap,
|
||||||
SunTag.SunUsr => "Sun /usr",
|
SunTag.SunUsr => Localization.Sun_usr,
|
||||||
SunTag.SunVar => "Sun /var",
|
SunTag.SunVar => Localization.Sun_var,
|
||||||
SunTag.SunWholeDisk => "Whole disk",
|
SunTag.SunWholeDisk => Localization.Whole_disk,
|
||||||
SunTag.SunAlt => "Replacement sectors",
|
SunTag.SunAlt => Localization.Replacement_sectors,
|
||||||
SunTag.SunCache => "Sun cachefs",
|
SunTag.SunCache => Localization.Sun_cachefs,
|
||||||
SunTag.SunReserved => "Reserved for SMI",
|
SunTag.SunReserved => Localization.Reserved_for_SMI,
|
||||||
SunTag.VxVmPublic => "Veritas public",
|
SunTag.VxVmPublic => Localization.Veritas_public,
|
||||||
SunTag.VxVmPrivate => "Veritas private",
|
SunTag.VxVmPrivate => Localization.Veritas_private,
|
||||||
SunTag.NetBSD => "NetBSD",
|
SunTag.NetBSD => Localization.NetBSD,
|
||||||
SunTag.FreeBSD_Swap => "FreeBSD swap",
|
SunTag.FreeBSD_Swap => Localization.FreeBSD_swap,
|
||||||
SunTag.FreeBSD_UFS => "FreeBSD",
|
SunTag.FreeBSD_UFS => Localization.FreeBSD,
|
||||||
SunTag.FreeBSD_Vinum => "Vinum",
|
SunTag.FreeBSD_Vinum => Localization.Vinum,
|
||||||
SunTag.FreeBSD_ZFS => "FreeBSD ZFS",
|
SunTag.FreeBSD_ZFS => Localization.FreeBSD_ZFS,
|
||||||
SunTag.FreeBSD_NANDFS => "FreeBSD nandfs",
|
SunTag.FreeBSD_NANDFS => Localization.FreeBSD_nandfs,
|
||||||
_ => "Unknown"
|
_ => Localization.Unknown_partition_type
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SunTag : ushort
|
enum SunTag : ushort
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -57,11 +57,11 @@ public sealed class VTOC : IPartition
|
|||||||
const uint XPDVERS = 3; /* 1st version of extended pdinfo */
|
const uint XPDVERS = 3; /* 1st version of extended pdinfo */
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "UNIX VTOC";
|
public string Name => Localization.VTOC_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("6D35A66F-8D77-426F-A562-D88F6A1F1702");
|
public Guid Id => new("6D35A66F-8D77-426F-A562-D88F6A1F1702");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -87,7 +87,7 @@ public sealed class VTOC : IPartition
|
|||||||
|
|
||||||
magic = BitConverter.ToUInt32(pdsector, 4);
|
magic = BitConverter.ToUInt32(pdsector, 4);
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin", "sanity at {0} is 0x{1:X8} (should be 0x{2:X8} or 0x{3:X8})",
|
AaruConsole.DebugWriteLine("VTOC plugin", Localization.sanity_at_0_is_1_X8_should_be_2_X8_or_3_X8,
|
||||||
i + sectorOffset, magic, PD_MAGIC, PD_CIGAM);
|
i + sectorOffset, magic, PD_MAGIC, PD_CIGAM);
|
||||||
|
|
||||||
if(magic != PD_MAGIC &&
|
if(magic != PD_MAGIC &&
|
||||||
@@ -175,7 +175,7 @@ public sealed class VTOC : IPartition
|
|||||||
if(magic is VTOC_SANE or VTOC_ENAS)
|
if(magic is VTOC_SANE or VTOC_ENAS)
|
||||||
{
|
{
|
||||||
magicFound = true;
|
magicFound = true;
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin", "New VTOC found at {0}", pdloc + sectorOffset + 1);
|
AaruConsole.DebugWriteLine("VTOC plugin", Localization.New_VTOC_found_at_0, pdloc + sectorOffset + 1);
|
||||||
|
|
||||||
if(magic == VTOC_SANE)
|
if(magic == VTOC_SANE)
|
||||||
vtoc = Marshal.ByteArrayToStructureLittleEndian<vtoc>(vtocsector);
|
vtoc = Marshal.ByteArrayToStructureLittleEndian<vtoc>(vtocsector);
|
||||||
@@ -203,7 +203,7 @@ public sealed class VTOC : IPartition
|
|||||||
{
|
{
|
||||||
magicFound = true;
|
magicFound = true;
|
||||||
useOld = true;
|
useOld = true;
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin", "Old VTOC found at {0}", pdloc + sectorOffset + 1);
|
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Old_VTOC_found_at_0, pdloc + sectorOffset + 1);
|
||||||
|
|
||||||
if(magic == VTOC_SANE)
|
if(magic == VTOC_SANE)
|
||||||
vtocOld = Marshal.ByteArrayToStructureLittleEndian<vtocold>(vtocsector);
|
vtocOld = Marshal.ByteArrayToStructureLittleEndian<vtocold>(vtocsector);
|
||||||
@@ -225,7 +225,7 @@ public sealed class VTOC : IPartition
|
|||||||
|
|
||||||
if(!magicFound)
|
if(!magicFound)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin", "Searching for VTOC on relative byte {0}", pd.vtoc_ptr);
|
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Searching_for_VTOC_on_relative_byte_0, pd.vtoc_ptr);
|
||||||
ulong relSecPtr = pd.vtoc_ptr / imagePlugin.Info.SectorSize;
|
ulong relSecPtr = pd.vtoc_ptr / imagePlugin.Info.SectorSize;
|
||||||
uint relSecOff = pd.vtoc_ptr % imagePlugin.Info.SectorSize;
|
uint relSecOff = pd.vtoc_ptr % imagePlugin.Info.SectorSize;
|
||||||
uint secCount = (relSecOff + pd.vtoc_len) / imagePlugin.Info.SectorSize;
|
uint secCount = (relSecOff + pd.vtoc_len) / imagePlugin.Info.SectorSize;
|
||||||
@@ -234,12 +234,12 @@ public sealed class VTOC : IPartition
|
|||||||
secCount++;
|
secCount++;
|
||||||
|
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin",
|
AaruConsole.DebugWriteLine("VTOC plugin",
|
||||||
"Going to read {0} sectors from sector {1}, getting VTOC from byte {2}",
|
Localization.Going_to_read_0_sectors_from_sector_1_getting_VTOC_from_byte_2,
|
||||||
secCount, relSecPtr + sectorOffset, relSecOff);
|
secCount, relSecPtr + sectorOffset, relSecOff);
|
||||||
|
|
||||||
if(relSecPtr + sectorOffset + secCount >= imagePlugin.Info.Sectors)
|
if(relSecPtr + sectorOffset + secCount >= imagePlugin.Info.Sectors)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin", "Going to read past device size, aborting...");
|
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Going_to_read_past_device_size_aborting);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -256,7 +256,7 @@ public sealed class VTOC : IPartition
|
|||||||
if(magic is VTOC_SANE or VTOC_ENAS)
|
if(magic is VTOC_SANE or VTOC_ENAS)
|
||||||
{
|
{
|
||||||
magicFound = true;
|
magicFound = true;
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin", "New VTOC found.");
|
AaruConsole.DebugWriteLine("VTOC plugin", Localization.New_VTOC_found);
|
||||||
|
|
||||||
if(magic == VTOC_SANE)
|
if(magic == VTOC_SANE)
|
||||||
vtoc = Marshal.ByteArrayToStructureLittleEndian<vtoc>(vtocsector);
|
vtoc = Marshal.ByteArrayToStructureLittleEndian<vtoc>(vtocsector);
|
||||||
@@ -278,7 +278,7 @@ public sealed class VTOC : IPartition
|
|||||||
|
|
||||||
if(!magicFound)
|
if(!magicFound)
|
||||||
{
|
{
|
||||||
AaruConsole.DebugWriteLine("VTOC plugin", "Cannot find VTOC.");
|
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Cannot_find_VTOC);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -397,22 +397,22 @@ public sealed class VTOC : IPartition
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(parts[i].p_flag.HasFlag(pFlag.V_VALID))
|
if(parts[i].p_flag.HasFlag(pFlag.V_VALID))
|
||||||
info += " (valid)";
|
info += Localization.valid;
|
||||||
|
|
||||||
if(parts[i].p_flag.HasFlag(pFlag.V_UNMNT))
|
if(parts[i].p_flag.HasFlag(pFlag.V_UNMNT))
|
||||||
info += " (unmountable)";
|
info += Localization._unmountable_;
|
||||||
|
|
||||||
if(parts[i].p_flag.HasFlag(pFlag.V_OPEN))
|
if(parts[i].p_flag.HasFlag(pFlag.V_OPEN))
|
||||||
info += " (open)";
|
info += Localization.open;
|
||||||
|
|
||||||
if(parts[i].p_flag.HasFlag(pFlag.V_REMAP))
|
if(parts[i].p_flag.HasFlag(pFlag.V_REMAP))
|
||||||
info += " (alternate sector mapping)";
|
info += Localization.alternate_sector_mapping;
|
||||||
|
|
||||||
if(parts[i].p_flag.HasFlag(pFlag.V_RONLY))
|
if(parts[i].p_flag.HasFlag(pFlag.V_RONLY))
|
||||||
info += " (read-only)";
|
info += Localization._read_only_;
|
||||||
|
|
||||||
if(timestamps[i] != 0)
|
if(timestamps[i] != 0)
|
||||||
info += $" created on {DateHandlers.UnixToDateTime(timestamps[i])}";
|
info += string.Format(Localization.created_on_0, DateHandlers.UnixToDateTime(timestamps[i]));
|
||||||
|
|
||||||
part.Description = "UNIX slice" + info + ".";
|
part.Description = "UNIX slice" + info + ".";
|
||||||
|
|
||||||
@@ -425,23 +425,23 @@ public sealed class VTOC : IPartition
|
|||||||
|
|
||||||
static string DecodeUnixtag(pTag type, bool isNew) => type switch
|
static string DecodeUnixtag(pTag type, bool isNew) => type switch
|
||||||
{
|
{
|
||||||
pTag.V_UNUSED => "Unused",
|
pTag.V_UNUSED => Localization.Unused,
|
||||||
pTag.V_BOOT => "Boot",
|
pTag.V_BOOT => Localization.Boot,
|
||||||
pTag.V_ROOT => "/",
|
pTag.V_ROOT => "/",
|
||||||
pTag.V_SWAP => "Swap",
|
pTag.V_SWAP => Localization.swap,
|
||||||
pTag.V_USER => "/usr",
|
pTag.V_USER => "/usr",
|
||||||
pTag.V_BACKUP => "Whole disk",
|
pTag.V_BACKUP => Localization.Whole_disk,
|
||||||
pTag.V_STAND_OLD => isNew ? "Stand" : "Alternate sector space",
|
pTag.V_STAND_OLD => isNew ? "Stand" : Localization.Alternate_sector_space,
|
||||||
pTag.V_VAR_OLD => isNew ? "/var" : "non UNIX",
|
pTag.V_VAR_OLD => isNew ? "/var" : Localization.non_UNIX,
|
||||||
pTag.V_HOME_OLD => isNew ? "/home" : "Alternate track space",
|
pTag.V_HOME_OLD => isNew ? "/home" : Localization.Alternate_track_space,
|
||||||
pTag.V_ALTSCTR_OLD => isNew ? "Alternate sector track" : "Stand",
|
pTag.V_ALTSCTR_OLD => isNew ? Localization.Alternate_sector_track : "Stand",
|
||||||
pTag.V_CACHE => isNew ? "Cache" : "/var",
|
pTag.V_CACHE => isNew ? Localization.Cache : "/var",
|
||||||
pTag.V_RESERVED => isNew ? "Reserved" : "/home",
|
pTag.V_RESERVED => isNew ? Localization.Reserved : "/home",
|
||||||
pTag.V_DUMP => "dump",
|
pTag.V_DUMP => Localization.dump,
|
||||||
pTag.V_ALTSCTR => "Alternate sector track",
|
pTag.V_ALTSCTR => Localization.Alternate_sector_track,
|
||||||
pTag.V_VMPUBLIC => "volume mgt public partition",
|
pTag.V_VMPUBLIC => Localization.volume_mgt_public_partition,
|
||||||
pTag.V_VMPRIVATE => "volume mgt private partition",
|
pTag.V_VMPRIVATE => Localization.volume_mgt_private_partition,
|
||||||
_ => $"Unknown TAG: 0x{type:X4}"
|
_ => string.Format(Localization.Unknown_TAG_0, type)
|
||||||
};
|
};
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||||
|
|||||||
@@ -53,11 +53,11 @@ public sealed class XENIX : IPartition
|
|||||||
const uint XENIX_OFFSET = 977;
|
const uint XENIX_OFFSET = 977;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "XENIX";
|
public string Name => Localization.XENIX_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("53BE01DE-E68B-469F-A17F-EC2E4BD61CD9");
|
public Guid Id => new("53BE01DE-E68B-469F-A17F-EC2E4BD61CD9");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset)
|
||||||
|
|||||||
@@ -65,11 +65,11 @@ public sealed class Xbox : IPartition
|
|||||||
const uint XBOX360_DEVKIT_MAGIC = 0x00020000;
|
const uint XBOX360_DEVKIT_MAGIC = 0x00020000;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Name => "Xbox partitioning";
|
public string Name => Localization.Xbox_Name;
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Guid Id => new("E3F6FB91-D358-4F22-A550-81E92D50EB78");
|
public Guid Id => new("E3F6FB91-D358-4F22-A550-81E92D50EB78");
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string Author => "Natalia Portillo";
|
public string Author => Authors.NataliaPortillo;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
public bool GetInformation(IMediaImage imagePlugin, out List<Partition> partitions, ulong sectorOffset)
|
||||||
@@ -94,7 +94,7 @@ public sealed class Xbox : IPartition
|
|||||||
{
|
{
|
||||||
var contentPart = new Partition
|
var contentPart = new Partition
|
||||||
{
|
{
|
||||||
Description = "Content volume",
|
Description = Localization.Content_volume,
|
||||||
Size = (ulong)table.contentLen * imagePlugin.Info.SectorSize,
|
Size = (ulong)table.contentLen * imagePlugin.Info.SectorSize,
|
||||||
Length = table.contentLen,
|
Length = table.contentLen,
|
||||||
Sequence = 1,
|
Sequence = 1,
|
||||||
@@ -105,7 +105,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var dashboardPart = new Partition
|
var dashboardPart = new Partition
|
||||||
{
|
{
|
||||||
Description = "Dashboard volume",
|
Description = Localization.Dashboard_volume,
|
||||||
Size = (ulong)table.dashboardLen * imagePlugin.Info.SectorSize,
|
Size = (ulong)table.dashboardLen * imagePlugin.Info.SectorSize,
|
||||||
Length = table.dashboardLen,
|
Length = table.dashboardLen,
|
||||||
Sequence = 2,
|
Sequence = 2,
|
||||||
@@ -134,7 +134,7 @@ public sealed class Xbox : IPartition
|
|||||||
{
|
{
|
||||||
var sysCachePart = new Partition
|
var sysCachePart = new Partition
|
||||||
{
|
{
|
||||||
Description = "System cache",
|
Description = Localization.System_cache,
|
||||||
Size = MEMORY_UNIT_DATA_OFF,
|
Size = MEMORY_UNIT_DATA_OFF,
|
||||||
Length = (ulong)(MEMORY_UNIT_DATA_OFF / imagePlugin.Info.SectorSize),
|
Length = (ulong)(MEMORY_UNIT_DATA_OFF / imagePlugin.Info.SectorSize),
|
||||||
Sequence = 1,
|
Sequence = 1,
|
||||||
@@ -145,7 +145,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var dataPart = new Partition
|
var dataPart = new Partition
|
||||||
{
|
{
|
||||||
Description = "Data volume",
|
Description = Localization.Data_volume,
|
||||||
Size = (imagePlugin.Info.Sectors * imagePlugin.Info.SectorSize) - MEMORY_UNIT_DATA_OFF,
|
Size = (imagePlugin.Info.Sectors * imagePlugin.Info.SectorSize) - MEMORY_UNIT_DATA_OFF,
|
||||||
Length = imagePlugin.Info.Sectors - sysCachePart.Length,
|
Length = imagePlugin.Info.Sectors - sysCachePart.Length,
|
||||||
Sequence = 2,
|
Sequence = 2,
|
||||||
@@ -178,7 +178,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var securityPart = new Partition
|
var securityPart = new Partition
|
||||||
{
|
{
|
||||||
Description = "Security sectors",
|
Description = Localization.Security_sectors,
|
||||||
Size = XBOX360_SECURITY_SECTOR_LEN,
|
Size = XBOX360_SECURITY_SECTOR_LEN,
|
||||||
Length = (ulong)(XBOX360_SECURITY_SECTOR_LEN / imagePlugin.Info.SectorSize),
|
Length = (ulong)(XBOX360_SECURITY_SECTOR_LEN / imagePlugin.Info.SectorSize),
|
||||||
Sequence = 1,
|
Sequence = 1,
|
||||||
@@ -189,7 +189,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var sysCachePart = new Partition
|
var sysCachePart = new Partition
|
||||||
{
|
{
|
||||||
Description = "System cache",
|
Description = Localization.System_cache,
|
||||||
Size = XBOX360_SYSTEM_CACHE_LEN,
|
Size = XBOX360_SYSTEM_CACHE_LEN,
|
||||||
Length = (ulong)(XBOX360_SYSTEM_CACHE_LEN / imagePlugin.Info.SectorSize),
|
Length = (ulong)(XBOX360_SYSTEM_CACHE_LEN / imagePlugin.Info.SectorSize),
|
||||||
Sequence = 2,
|
Sequence = 2,
|
||||||
@@ -200,7 +200,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var gameCachePart = new Partition
|
var gameCachePart = new Partition
|
||||||
{
|
{
|
||||||
Description = "Game cache",
|
Description = Localization.Game_cache,
|
||||||
Size = XBOX360_GAME_CACHE_LEN,
|
Size = XBOX360_GAME_CACHE_LEN,
|
||||||
Length = (ulong)(XBOX360_GAME_CACHE_LEN / imagePlugin.Info.SectorSize),
|
Length = (ulong)(XBOX360_GAME_CACHE_LEN / imagePlugin.Info.SectorSize),
|
||||||
Sequence = 3,
|
Sequence = 3,
|
||||||
@@ -211,7 +211,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var sysExtPart = new Partition
|
var sysExtPart = new Partition
|
||||||
{
|
{
|
||||||
Description = "System volume",
|
Description = Localization.System_volume,
|
||||||
Size = XBOX368_SYS_EXT_LEN,
|
Size = XBOX368_SYS_EXT_LEN,
|
||||||
Length = (ulong)(XBOX368_SYS_EXT_LEN / imagePlugin.Info.SectorSize),
|
Length = (ulong)(XBOX368_SYS_EXT_LEN / imagePlugin.Info.SectorSize),
|
||||||
Sequence = 4,
|
Sequence = 4,
|
||||||
@@ -222,7 +222,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var sysExt2Part = new Partition
|
var sysExt2Part = new Partition
|
||||||
{
|
{
|
||||||
Description = "System volume 2",
|
Description = Localization.System_volume_2,
|
||||||
Size = XBOX360_SYS_EXT2_LEN,
|
Size = XBOX360_SYS_EXT2_LEN,
|
||||||
Length = (ulong)(XBOX360_SYS_EXT2_LEN / imagePlugin.Info.SectorSize),
|
Length = (ulong)(XBOX360_SYS_EXT2_LEN / imagePlugin.Info.SectorSize),
|
||||||
Sequence = 5,
|
Sequence = 5,
|
||||||
@@ -233,7 +233,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var xbox1Part = new Partition
|
var xbox1Part = new Partition
|
||||||
{
|
{
|
||||||
Description = "Xbox backwards compatibility",
|
Description = Localization.Xbox_backwards_compatibility,
|
||||||
Size = XBOX360_COMPAT_LEN,
|
Size = XBOX360_COMPAT_LEN,
|
||||||
Length = (ulong)(XBOX360_COMPAT_LEN / imagePlugin.Info.SectorSize),
|
Length = (ulong)(XBOX360_COMPAT_LEN / imagePlugin.Info.SectorSize),
|
||||||
Sequence = 6,
|
Sequence = 6,
|
||||||
@@ -244,7 +244,7 @@ public sealed class Xbox : IPartition
|
|||||||
|
|
||||||
var dataPart = new Partition
|
var dataPart = new Partition
|
||||||
{
|
{
|
||||||
Description = "Data volume",
|
Description = Localization.Data_volume,
|
||||||
Sequence = 7,
|
Sequence = 7,
|
||||||
Offset = XBOX_360DATA_OFF,
|
Offset = XBOX_360DATA_OFF,
|
||||||
Start = (ulong)(XBOX_360DATA_OFF / imagePlugin.Info.SectorSize),
|
Start = (ulong)(XBOX_360DATA_OFF / imagePlugin.Info.SectorSize),
|
||||||
|
|||||||
Reference in New Issue
Block a user