mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[Aaru.Images] Reformat and cleanup.
This commit is contained in:
@@ -47,9 +47,11 @@ namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Udif
|
||||
{
|
||||
#region IWritableImage Members
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool Create(string path, MediaType mediaType, Dictionary<string, string> options, ulong sectors,
|
||||
uint sectorSize)
|
||||
uint sectorSize)
|
||||
{
|
||||
if(sectorSize != 512)
|
||||
{
|
||||
@@ -223,7 +225,7 @@ public sealed partial class Udif
|
||||
|
||||
for(uint i = 0; i < length; i++)
|
||||
{
|
||||
byte[] tmp = new byte[_imageInfo.SectorSize];
|
||||
var tmp = new byte[_imageInfo.SectorSize];
|
||||
Array.Copy(data, i * _imageInfo.SectorSize, tmp, 0, _imageInfo.SectorSize);
|
||||
|
||||
if(!WriteSector(tmp, sectorAddress + i))
|
||||
@@ -284,33 +286,33 @@ public sealed partial class Udif
|
||||
};
|
||||
|
||||
var chunkMs = new MemoryStream();
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.signature), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.version), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.sectorStart), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.sectorCount), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.dataOffset), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.buffers), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.descriptor), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved1), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved2), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved3), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved4), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved5), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved6), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.signature), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.version), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.sectorStart), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.sectorCount), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.dataOffset), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.buffers), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.descriptor), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved1), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved2), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved3), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved4), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved5), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.reserved6), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.checksumType), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.checksumLen), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.checksum), 0, 4);
|
||||
chunkMs.Write(new byte[124], 0, 124);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.chunks), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.checksumLen), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.checksum), 0, 4);
|
||||
chunkMs.Write(new byte[124], 0, 124);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(bHdr.chunks), 0, 4);
|
||||
|
||||
foreach(BlockChunk chunk in _chunks.Values)
|
||||
{
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.type), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.type), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.comment), 0, 4);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.sector), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.sector), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.sectors), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.offset), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.length), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.offset), 0, 8);
|
||||
chunkMs.Write(BigEndianBitConverter.GetBytes(chunk.length), 0, 8);
|
||||
}
|
||||
|
||||
byte[] plist = Encoding.UTF8.GetBytes(new NSDictionary
|
||||
@@ -323,21 +325,11 @@ public sealed partial class Udif
|
||||
{
|
||||
new NSDictionary
|
||||
{
|
||||
{
|
||||
"Attributes", "0x0050"
|
||||
},
|
||||
{
|
||||
"CFName", "whole disk (Aaru : 0)"
|
||||
},
|
||||
{
|
||||
"Data", chunkMs.ToArray()
|
||||
},
|
||||
{
|
||||
"ID", "0"
|
||||
},
|
||||
{
|
||||
"Name", "whole disk (Aaru : 0)"
|
||||
}
|
||||
{ "Attributes", "0x0050" },
|
||||
{ "CFName", "whole disk (Aaru : 0)" },
|
||||
{ "Data", chunkMs.ToArray() },
|
||||
{ "ID", "0" },
|
||||
{ "Name", "whole disk (Aaru : 0)" }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -370,33 +362,33 @@ public sealed partial class Udif
|
||||
};
|
||||
|
||||
_writingStream.Seek(0, SeekOrigin.End);
|
||||
_writingStream.Write(plist, 0, plist.Length);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.signature), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.version), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.headerSize), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.flags), 0, 4);
|
||||
_writingStream.Write(plist, 0, plist.Length);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.signature), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.version), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.headerSize), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.flags), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.runningDataForkOff), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkOff), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkLen), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.rsrcForkOff), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.rsrcForkLen), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.segmentNumber), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.segmentCount), 0, 4);
|
||||
_writingStream.Write(_footer.segmentId.ToByteArray(), 0, 16);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkChkType), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkChkLen), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkChk), 0, 4);
|
||||
_writingStream.Write(new byte[124], 0, 124);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.plistOff), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.plistLen), 0, 8);
|
||||
_writingStream.Write(new byte[120], 0, 120);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.masterChkType), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.masterChkLen), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.masterChk), 0, 4);
|
||||
_writingStream.Write(new byte[124], 0, 124);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.imageVariant), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.sectorCount), 0, 8);
|
||||
_writingStream.Write(new byte[12], 0, 12);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkOff), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkLen), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.rsrcForkOff), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.rsrcForkLen), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.segmentNumber), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.segmentCount), 0, 4);
|
||||
_writingStream.Write(_footer.segmentId.ToByteArray(), 0, 16);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkChkType), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkChkLen), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.dataForkChk), 0, 4);
|
||||
_writingStream.Write(new byte[124], 0, 124);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.plistOff), 0, 8);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.plistLen), 0, 8);
|
||||
_writingStream.Write(new byte[120], 0, 120);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.masterChkType), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.masterChkLen), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.masterChk), 0, 4);
|
||||
_writingStream.Write(new byte[124], 0, 124);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.imageVariant), 0, 4);
|
||||
_writingStream.Write(BigEndianBitConverter.GetBytes(_footer.sectorCount), 0, 8);
|
||||
_writingStream.Write(new byte[12], 0, 12);
|
||||
|
||||
_writingStream.Flush();
|
||||
_writingStream.Close();
|
||||
@@ -435,4 +427,6 @@ public sealed partial class Udif
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool SetMetadata(Metadata metadata) => false;
|
||||
|
||||
#endregion
|
||||
}
|
||||
Reference in New Issue
Block a user