Cosmos/source2/Kernel/System/Hardware/Cosmos.Hardware/BlockDevice/Partition.cs
Trivalik_cp 8cd3d9cf47 GDB Client, change function label to textbox, allows to copy the name
change filesystem to int64, logical error in Read()
fix Ldarg, Ldarga xExtraSize, now should work really 64 bit and greater
2011-06-16 20:56:22 +00:00

30 lines
No EOL
994 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cosmos.Hardware.BlockDevice {
public class Partition : BlockDevice {
BlockDevice mHost;
UInt64 mStartingSector;
public Partition(BlockDevice aHost, UInt64 aStartingSector, UInt64 aSectorCount) {
mHost = aHost;
mStartingSector = aStartingSector;
mBlockCount = aSectorCount;
mBlockSize = mHost.BlockSize;
}
public override void ReadBlock(UInt64 aBlockNo, UInt32 aBlockCount, byte[] aData) {
UInt64 xHostBlockNo = mStartingSector + aBlockNo;
CheckBlockNo(xHostBlockNo, aBlockCount);
mHost.ReadBlock(xHostBlockNo, aBlockCount, aData);
}
public override void WriteBlock(UInt64 aBlockNo, UInt32 aBlockCount, byte[] aData) {
UInt64 xHostBlockNo = mStartingSector + aBlockNo;
CheckBlockNo(xHostBlockNo, aBlockCount);
mHost.WriteBlock(xHostBlockNo, aBlockCount, aData);
}
}
}