This commit is contained in:
kudzu_cp 2008-05-07 00:30:49 +00:00
parent fc23b5b0c0
commit fef34dae02
17 changed files with 869 additions and 861 deletions

View file

@ -27,6 +27,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -46,6 +47,17 @@
<Compile Include="FileSystem.cs" />
<Compile Include="ext2\ext2FS.cs" />
<Compile Include="MBT.cs" />
<Compile Include="Old\Ext2.cs" />
<Compile Include="Old\Ext2.Structs.cs" />
<Compile Include="Old\Ext2Old.cs" />
<Compile Include="Old\Ext2Old.Structs.cs" />
<Compile Include="Old\Fat16.cs" />
<Compile Include="Old\File.cs" />
<Compile Include="Old\FileSystem.cs" />
<Compile Include="Old\FileSystem2.cs" />
<Compile Include="Old\ISO9660.cs" />
<Compile Include="Old\Path.cs" />
<Compile Include="Old\TestsMatthijs.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>

View file

@ -64,8 +64,9 @@ namespace Cosmos.Kernel.FileSystem {
return -1;
}
int xBytesToRead = count;
byte* xBuffer = (byte*)Heap.MemAlloc(mFilesystem.mBlockSize);
while (xBytesToRead > 0) {
//byte* xBuffer = (byte*)Heap.MemAlloc(mFilesystem.mBlockSize);
byte* xBuffer = null;
while (xBytesToRead > 0) {
if (!mFilesystem.ReadINodeContents(&xINode, xBlock, xBuffer)) {
return -2;
}
@ -112,9 +113,9 @@ namespace Cosmos.Kernel.FileSystem {
fixed (byte* xByteBuff = &xBytes[0]) {
var xByteBuffAsSuperBlock = (SuperBlock*)xByteBuff;
mSuperBlock = xByteBuffAsSuperBlock[0];
DebugUtil.SendExt2_SuperBlock("", mSuperBlock);
// DebugUtil.SendExt2_SuperBlock("", mSuperBlock);
mBlockSize = (uint)(1024 << (byte)(mSuperBlock.LogBlockSize));
DebugUtil.SendDoubleNumber("Numbers", "", mSuperBlock.INodesCount, 32, mSuperBlock.INodesPerGroup, 32);
// DebugUtil.SendDoubleNumber("Numbers", "", mSuperBlock.INodesCount, 32, mSuperBlock.INodesPerGroup, 32);
mGroupsCount = mSuperBlock.INodesCount / mSuperBlock.INodesPerGroup;
mGroupDescriptorsPerBlock = (uint)(mBlockSize / sizeof(GroupDescriptor));
if (!ReadGroupDescriptorsOfBlock()) {
@ -129,7 +130,7 @@ namespace Cosmos.Kernel.FileSystem {
mGroupDescriptors = new GroupDescriptor[mGroupsCount];
GroupDescriptor* xDescriptorPtr=(GroupDescriptor*)0;
for (int i = 0; i < mGroupsCount; i++) {
DebugUtil.SendNumber("Ext2", "ReadGroupDescriptorsOfBlock, I", (uint)i, 16);
// DebugUtil.SendNumber("Ext2", "ReadGroupDescriptorsOfBlock, I", (uint)i, 16);
uint xATABlock = (uint)(mBlockSize / mBackend.BlockSize);
xATABlock += (uint)(i / mGroupDescriptorsPerBlock);
if ((i % 16) == 0) {
@ -138,10 +139,10 @@ namespace Cosmos.Kernel.FileSystem {
xDescriptorPtr = (GroupDescriptor*)xDescriptorPtr2;
}
}
GroupDescriptor* xItem = (GroupDescriptor*)Heap.MemAlloc((uint)sizeof(GroupDescriptor));
CopyPointers((byte*)&xDescriptorPtr[i % mGroupDescriptorsPerBlock], (byte*)xItem, (uint)sizeof(GroupDescriptor));
mGroupDescriptors[i] = *xItem;
DebugUtil.SendExt2_GroupDescriptor("ReadGroupDescriptorsOfBlock", xATABlock, i, 0, xDescriptorPtr[i % mGroupDescriptorsPerBlock]);
//GroupDescriptor* xItem = (GroupDescriptor*)Heap.MemAlloc((uint)sizeof(GroupDescriptor));
//CopyPointers((byte*)&xDescriptorPtr[i % mGroupDescriptorsPerBlock], (byte*)xItem, (uint)sizeof(GroupDescriptor));
//mGroupDescriptors[i] = *xItem;
// DebugUtil.SendExt2_GroupDescriptor("ReadGroupDescriptorsOfBlock", xATABlock, i, 0, xDescriptorPtr[i % mGroupDescriptorsPerBlock]);
}
return true;
}
@ -241,28 +242,30 @@ namespace Cosmos.Kernel.FileSystem {
}
private unsafe bool ReadINode(uint aINodeNumber, out INode aINode) {
DebugUtil.SendNumber("Ext2", "reading INode", aINodeNumber, 32);
aINodeNumber--;
uint xGroup = aINodeNumber / mSuperBlock.INodesPerGroup;
DebugUtil.SendNumber("Ext2", "xGroup", xGroup, 32);
uint xIndex = (aINodeNumber % mSuperBlock.INodesPerGroup) * mSuperBlock.INodeSize;
DebugUtil.SendNumber("Ext2", "xIndex", xIndex, 32);
uint xOffset = xIndex % mBlockSize;
DebugUtil.SendNumber("Ext2", "xOffset", xOffset, 32);
uint xLogBlockNumber = mGroupDescriptors[xGroup].INodeTable;
DebugUtil.SendNumber("Ext2", "InodeBitmap", mGroupDescriptors[xGroup].INodeBitmap, 32);
DebugUtil.SendNumber("Ext2", "xLogBlockNumber(1)", xLogBlockNumber, 32);
xLogBlockNumber += (xIndex / mBlockSize);
DebugUtil.SendNumber("Ext2", "xLogBlockNumber(2)", xLogBlockNumber, 32);
uint xPhBlockNumber = (xLogBlockNumber * mBlockSize) / mBackend.BlockSize;
xPhBlockNumber += xIndex / mBackend.BlockSize;
xIndex %= mBackend.BlockSize;
var xBytes = mBackend.ReadBlock(xPhBlockNumber);
DebugUtil.SendNumber("Ext2", "BlockOffset", xIndex, 32);
fixed (byte* xINodePtr = &xBytes[xIndex]) {
aINode = *(INode*)xINodePtr;
}
return true;
//DebugUtil.SendNumber("Ext2", "reading INode", aINodeNumber, 32);
//aINodeNumber--;
//uint xGroup = aINodeNumber / mSuperBlock.INodesPerGroup;
//DebugUtil.SendNumber("Ext2", "xGroup", xGroup, 32);
//uint xIndex = (aINodeNumber % mSuperBlock.INodesPerGroup) * mSuperBlock.INodeSize;
//DebugUtil.SendNumber("Ext2", "xIndex", xIndex, 32);
//uint xOffset = xIndex % mBlockSize;
//DebugUtil.SendNumber("Ext2", "xOffset", xOffset, 32);
//uint xLogBlockNumber = mGroupDescriptors[xGroup].INodeTable;
//DebugUtil.SendNumber("Ext2", "InodeBitmap", mGroupDescriptors[xGroup].INodeBitmap, 32);
//DebugUtil.SendNumber("Ext2", "xLogBlockNumber(1)", xLogBlockNumber, 32);
//xLogBlockNumber += (xIndex / mBlockSize);
//DebugUtil.SendNumber("Ext2", "xLogBlockNumber(2)", xLogBlockNumber, 32);
//uint xPhBlockNumber = (xLogBlockNumber * mBlockSize) / mBackend.BlockSize;
uint xPhBlockNumber = 0;
//xPhBlockNumber += xIndex / mBackend.BlockSize;
//xIndex %= mBackend.BlockSize;
var xBytes = mBackend.ReadBlock(xPhBlockNumber);
//DebugUtil.SendNumber("Ext2", "BlockOffset", xIndex, 32);
//fixed (byte* xINodePtr = &xBytes[xIndex]) {
fixed (byte* xINodePtr = &xBytes[0]) {
aINode = *(INode*)xINodePtr;
}
return true;
}
/// <summary>
@ -331,30 +334,31 @@ namespace Cosmos.Kernel.FileSystem {
if (xSize > mBackend.BlockSize) {
xSize = mBackend.BlockSize;
}
DebugUtil.SendNumber("Ext2", "ReadFile, Block1", xINode.Block1, 32);
byte* xBuff = (byte*)Heap.MemAlloc(mBlockSize);
// DebugUtil.SendNumber("Ext2", "ReadFile, Block1", xINode.Block1, 32);
//byte* xBuff = (byte*)Heap.MemAlloc(mBlockSize);
try {
if (!ReadINodeContents(&xINode, 0, xBuff)) {
//if (!ReadINodeContents(&xINode, 0, xBuff)) {
return null;
}
//}
byte[] xResult = new byte[xSize];
for (int i = 0; i < xSize; i++) {
xResult[i] = xBuff[i];
//xResult[i] = xBuff[i];
}
return xResult;
} finally {
Heap.MemFree((uint)xBuff);
//Heap.MemFree((uint)xBuff);
}
}
private bool GetINodeByName(string[] aPath, out INode aINode) {
ushort* xBuffer = (ushort*)Heap.MemAlloc(mBackend.BlockSize);
byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
INode xCurrentINode = new INode();
//ushort* xBuffer = (ushort*)Heap.MemAlloc(mBackend.BlockSize);
//byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
byte* xExt2BlockBuffer = null;
INode xCurrentINode = new INode();
aINode = xCurrentINode;
if (!ReadINode(EXT2_ROOT_INO, out xCurrentINode)) {
Heap.MemFree((uint)xBuffer);
Heap.MemFree((uint)xExt2BlockBuffer);
// Heap.MemFree((uint)xBuffer);
// Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
bool xCurrentINodeChanged = true;
@ -365,20 +369,20 @@ namespace Cosmos.Kernel.FileSystem {
Console.WriteLine("");
if (!xCurrentINodeChanged) {
Console.WriteLine("Terminating for loop, CurrentINode didn't change");
Heap.MemFree((uint)xBuffer);
Heap.MemFree((uint)xExt2BlockBuffer);
// Heap.MemFree((uint)xBuffer);
// Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
xCurrentINodeChanged = false;
if (!ReadINodeContents(&xCurrentINode, 0, xExt2BlockBuffer)) {
Heap.MemFree((uint)xBuffer);
Heap.MemFree((uint)xExt2BlockBuffer);
// Heap.MemFree((uint)xBuffer);
// Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
DirectoryEntry* xEntryPtr = (DirectoryEntry*)xExt2BlockBuffer;
uint xTotalSize = mBlockSize;
while (xTotalSize != 0) {
DebugUtil.SendExt2_DirectoryEntry(xEntryPtr);
// DebugUtil.SendExt2_DirectoryEntry(xEntryPtr);
uint xPtrAddress = (uint)xEntryPtr;
char[] xName = new char[xEntryPtr->NameLength];
byte* xNamePtr = &xEntryPtr->FirstNameChar;
@ -388,8 +392,8 @@ namespace Cosmos.Kernel.FileSystem {
xInspectedINodeCount++;
if (EqualsName(aPath[i], xName)) {
if (!ReadINode(xEntryPtr->INodeNumber, out xCurrentINode)) {
Heap.MemFree((uint)xBuffer);
Heap.MemFree((uint)xExt2BlockBuffer);
// Heap.MemFree((uint)xBuffer);
//Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
xCurrentINodeChanged = true;
@ -408,23 +412,24 @@ namespace Cosmos.Kernel.FileSystem {
public string[] GetDirectoryEntries(string[] aPath) {
List<string> xResult = new List<string>(32);
INode xINode;
byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
if (!GetINodeByName(aPath, out xINode)) {
//byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
byte* xExt2BlockBuffer = null;
if (!GetINodeByName(aPath, out xINode)) {
throw new Exception("Couldn't find path!");
}
if ((xINode.Mode & INodeModeEnum.Directory) == 0) {
Console.WriteLine("Ext2|GetDirectoryEntries, No directory after for loop");
return null;
}
if (!ReadINodeContents(&xINode, 0, xExt2BlockBuffer)) {
Heap.MemFree((uint)xExt2BlockBuffer);
// if (!ReadINodeContents(&xINode, 0, xExt2BlockBuffer)) {
// Heap.MemFree((uint)xExt2BlockBuffer);
return null;
}
// }
DirectoryEntry* xEntry = (DirectoryEntry*)xExt2BlockBuffer;
uint xSize = mBlockSize;
DebugUtil.SendMessage("Ext2", "GetDirectoryEntries");
// DebugUtil.SendMessage("Ext2", "GetDirectoryEntries");
while (xSize != 0) {
DebugUtil.SendExt2_DirectoryEntry(xEntry);
// DebugUtil.SendExt2_DirectoryEntry(xEntry);
uint xPtrAddress = (uint)xEntry;
char[] xName = new char[xEntry->NameLength];
byte* xNamePtr = &xEntry->FirstNameChar;
@ -437,7 +442,7 @@ namespace Cosmos.Kernel.FileSystem {
xSize -= xEntry->RecordLength;
xEntry = (DirectoryEntry*)xPtrAddress;
}
Heap.MemFree((uint)xExt2BlockBuffer);
// Heap.MemFree((uint)xExt2BlockBuffer);
return xResult.ToArray();
}

View file

@ -24,8 +24,9 @@ namespace Cosmos.Kernel.FileSystem {
}
public static unsafe void PrintAllFilesAndDirectories(byte aController, byte aDrive) {
ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
//ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
ushort* xBuffer = null;
if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
Console.WriteLine("[Ext2|SuperBlock] Error while reading SuperBlock data");
return;
}
@ -82,7 +83,7 @@ namespace Cosmos.Kernel.FileSystem {
xName[c] = (char)xNamePtr[c];
}
string s = new String(xName);
DebugUtil.SendMessage("Ext2, DirectoryEntryName", s);
// DebugUtil.SendMessage("Ext2, DirectoryEntryName", s);
//}
xPtrAddress += xEntryPtr->RecordLength;
xTotalSize -= xEntryPtr->RecordLength;
@ -94,12 +95,13 @@ namespace Cosmos.Kernel.FileSystem {
}
}
DebugUtil.SendNumber("Ext2", "Used INode count", xCount, 32);
// DebugUtil.SendNumber("Ext2", "Used INode count", xCount, 32);
}
public static unsafe byte[] ReadFile(byte aController, byte aDrive, string[] xPath) {
ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
//ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
ushort* xBuffer = null;
if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
Console.WriteLine("[Ext2|SuperBlock] Error while reading SuperBlock data");
return null;
}
@ -135,7 +137,7 @@ namespace Cosmos.Kernel.FileSystem {
Hardware.Storage.ATAOld.WriteNumber(xCurrentINode, 32);
Console.WriteLine("");
DebugUtil.SendNumber("Ext2", "Current INode", xCurrentINode, 32);
// DebugUtil.SendNumber("Ext2", "Current INode", xCurrentINode, 32);
for (uint g = 0; g < xGroupDescriptors.Length; g++) {
GroupDescriptor xGroupDescriptor = xGroupDescriptors[g];
if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, (int)((xGroupDescriptor.INodeBitmap) * 8), xBuffer)) {

View file

@ -47,15 +47,10 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Old\Debug.cs" />
<Compile Include="Old\FileSystem\Ext2.cs" />
<Compile Include="Old\FileSystem\Ext2Old.cs" />
<Compile Include="Old\FileSystem\Ext2Old.Structs.cs" />
<Compile Include="Old\FileSystem\FileSystem.cs" />
<Compile Include="Old\FileSystem\ISO9660.cs" />
<Compile Include="Debug.cs" />
<Compile Include="Heap.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Old\TextScreen-Old.cs" />
<Compile Include="TextScreen-Old.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Cosmos.Kernel.FileSystems\Cosmos.FileSystem.csproj">
@ -74,12 +69,6 @@
<ItemGroup>
<Compile Include="Boot.cs" />
<Compile Include="Global.cs" />
<Compile Include="Old\FileSystem\Ext2.Structs.cs" />
<Compile Include="Old\FileSystem\Fat16.cs" />
<Compile Include="Old\FileSystem\File.cs" />
<Compile Include="Old\FileSystem\FileSystem2.cs" />
<Compile Include="Old\FileSystem\Path.cs" />
<Compile Include="Old\FileSystem\TestsMatthijs.cs" />
</ItemGroup>
<ItemGroup>
<None Include="Cosmos.snk" />

View file

@ -0,0 +1,771 @@

namespace Cosmos.Kernel {
public static class DebugUtil {
public static void Initialize() {
Hardware.DebugUtil.Initialize();
}
private static void StartLogging() {
Hardware.DebugUtil.StartLogging();
}
private static void EndLogging() {
Hardware.DebugUtil.EndLogging();
}
public static void SendNumber(string aModule, string aDescription, uint aNumber, byte aBits) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Number Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Number=\"");
Hardware.DebugUtil.WriteNumber(aNumber, aBits);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendTestCase(string testcase) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<TestCase_Started Name=\"");
Hardware.DebugUtil.WriteSerialString(testcase);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendTestAssert(bool condition, string message) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<TestCase Message=\"");
Hardware.DebugUtil.WriteSerialString(message);
Hardware.DebugUtil.WriteSerialString("\" Success=\"");
if (condition)
Hardware.DebugUtil.WriteSerialString("yes");
else
Hardware.DebugUtil.WriteSerialString("no");
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendDoubleNumber(string aModule, string aDescription, uint aNumber, byte aBits, uint aNumber2, byte aBits2) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Number Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Number1=\"");
Hardware.DebugUtil.WriteNumber(aNumber, aBits);
Hardware.DebugUtil.WriteSerialString("\" Number2=\"");
Hardware.DebugUtil.WriteNumber(aNumber2, aBits2);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMessage(string aModule, string aData) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Message Type=\"Info\" Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aData);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendKeyboardEvent(uint aScanCode, bool aReleased) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<KeyboardEvent ScanCode=\"");
Hardware.DebugUtil.WriteNumber(aScanCode, 32);
Hardware.DebugUtil.WriteSerialString("\" Released=\"");
if (aReleased) {
Hardware.DebugUtil.WriteSerialString("true");
} else {
Hardware.DebugUtil.WriteSerialString("false");
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendError(string aModule, string aData) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Error Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aData);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendError(string aModule, string aDescription, uint aData, byte aBits) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Error Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Data=\"");
Hardware.DebugUtil.WriteNumber(aData, aBits);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendWarning(string aModule, string aData) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Warning Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aData);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMM_Alloc(uint aStartAddr, uint aLength) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<MM_Alloc StartAddr=\"");
Hardware.DebugUtil.WriteNumber(aStartAddr, 32);
Hardware.DebugUtil.WriteSerialString("\" Length=\"");
Hardware.DebugUtil.WriteNumber(aLength, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMM_Init(uint aStartAddr, uint aLength) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<MM_Init StartAddr=\"");
Hardware.DebugUtil.WriteNumber(aStartAddr, 32);
Hardware.DebugUtil.WriteSerialString("\" Length=\"");
Hardware.DebugUtil.WriteNumber(aLength, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMM_Free(uint aStartAddr, uint aLength) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<MM_Free StartAddr=\"");
Hardware.DebugUtil.WriteNumber(aStartAddr, 32);
Hardware.DebugUtil.WriteSerialString("\" Length=\"");
Hardware.DebugUtil.WriteNumber(aLength, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
//internal static void SendExt2_GroupDescriptor(string aDescription, uint aBlock, int aIndex, uint aAddresss, FileSystem.Ext2.GroupDescriptor aDescriptor) {
// StartLogging();
// Hardware.DebugUtil.WriteSerialString("<Ext2_GroupDescriptor Description=\"");
// Hardware.DebugUtil.WriteSerialString(aDescription);
// Hardware.DebugUtil.WriteSerialString("\" Block=\"");
// Hardware.DebugUtil.WriteNumber((uint)aBlock, 32);
// Hardware.DebugUtil.WriteSerialString("\" Index=\"");
// Hardware.DebugUtil.WriteNumber((uint)aIndex, 32);
// Hardware.DebugUtil.WriteSerialString("\" Address=\"");
// Hardware.DebugUtil.WriteNumber(aAddresss, 32);
// Hardware.DebugUtil.WriteSerialString("\" BlockBitmap=\"");
// Hardware.DebugUtil.WriteNumber(aDescriptor.BlockBitmap, 32);
// Hardware.DebugUtil.WriteSerialString("\" INodeBitmap=\"");
// Hardware.DebugUtil.WriteNumber(aDescriptor.INodeBitmap, 32);
// Hardware.DebugUtil.WriteSerialString("\" INodeTable=\"");
// Hardware.DebugUtil.WriteNumber(aDescriptor.INodeTable, 32);
// Hardware.DebugUtil.WriteSerialString("\" FreeBlocksCount=\"");
// Hardware.DebugUtil.WriteNumber(aDescriptor.FreeBlocksCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" FreeINodesCount=\"");
// Hardware.DebugUtil.WriteNumber(aDescriptor.FreeINodesCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" UsedDirsCount=\"");
// Hardware.DebugUtil.WriteNumber(aDescriptor.UsedDirsCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" Pad=\"");
// Hardware.DebugUtil.WriteNumber(aDescriptor.Pad, 32);
// Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
// EndLogging();
//}
//internal static unsafe void SendExt2_SuperBlock(string aDescription, FileSystem.Ext2.SuperBlock aSuperBlock) {
// StartLogging();
// Hardware.DebugUtil.WriteSerialString("<Ext2_SuperBlock1 Description=\"");
// Hardware.DebugUtil.WriteSerialString(aDescription);
// Hardware.DebugUtil.WriteSerialString("\" INodesCount=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.INodesCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" BlockCount=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.BlockCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" RBlocksCount=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.RBlocksCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" FreeBlocksCount=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.FreeBlocksCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" FreeINodesCount=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.FreeINodesCount, 32);
// Hardware.DebugUtil.WriteSerialString("\" FirstDataBlock=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.FirstDataBlock, 32);
// Hardware.DebugUtil.WriteSerialString("\" LogBlockSize=\"");
// Hardware.DebugUtil.WriteNumber((uint)aSuperBlock.LogBlockSize, 32);
// Hardware.DebugUtil.WriteSerialString("\" LogFragSize=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.LogFragSize, 32);
// Hardware.DebugUtil.WriteSerialString("\" BlocksPerGroup=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.BlocksPerGroup, 32);
// Hardware.DebugUtil.WriteSerialString("\" FragsPerGroup=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.FragsPerGroup, 32);
// Hardware.DebugUtil.WriteSerialString("\" INodesPerGroup=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.INodesPerGroup, 32);
// Hardware.DebugUtil.WriteSerialString("\" MTime=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.MTime, 32);
// Hardware.DebugUtil.WriteSerialString("\" WTime=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.WTime, 32);
// Hardware.DebugUtil.WriteSerialString("\" MntCount=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.MntCount, 16);
// Hardware.DebugUtil.WriteSerialString("\" MaxMntCount=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.MaxMntCount, 16);
// Hardware.DebugUtil.WriteSerialString("\" Magic=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Magic, 16);
// Hardware.DebugUtil.WriteSerialString("\" State=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.State, 16);
// Hardware.DebugUtil.WriteSerialString("\" Errors=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Errors, 16);
// Hardware.DebugUtil.WriteSerialString("\" MinorRevLevel=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.MinorRevLevel, 16);
// Hardware.DebugUtil.WriteSerialString("\" LastCheck=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.LastCheck, 32);
// Hardware.DebugUtil.WriteSerialString("\" CheckInterval=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.CheckInterval, 32);
// Hardware.DebugUtil.WriteSerialString("\" CreatorOS=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.CreatorOS, 32);
// Hardware.DebugUtil.WriteSerialString("\" RevLevel=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.RevLevel, 32);
// Hardware.DebugUtil.WriteSerialString("\" RefResUID=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.RefResUID, 16);
// Hardware.DebugUtil.WriteSerialString("\" DefResGID=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.DefResGID, 16);
// Hardware.DebugUtil.WriteSerialString("\" FirstINode=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.FirstINode, 32);
// Hardware.DebugUtil.WriteSerialString("\" INodeSize=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.INodeSize, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding2=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding2, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding3=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding3, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding4=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding4, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding5=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding5, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding6=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding6, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding7=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding7, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding8=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding8, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding9=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding9, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding10=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding10, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding11=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding11, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding12=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding12, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding13=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding13, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding14=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding14, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding15=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding15, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding16=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding16, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding17=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding17, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding18=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding18, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding19=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding19, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding20=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding20, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding21=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding21, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding22=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding22, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding23=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding23, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding24=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding24, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding25=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding25, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding26=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding26, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding27=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding27, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding28=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding28, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding29=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding29, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding30=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding30, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding31=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding31, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding32=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding32, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding33=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding33, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding34=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding34, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding35=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding35, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding36=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding36, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding37=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding37, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding38=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding38, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding39=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding39, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding40=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding40, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding41=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding41, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding42=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding42, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding43=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding43, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding44=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding44, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding45=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding45, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding46=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding46, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding47=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding47, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding48=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding48, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding49=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding49, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding50=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding50, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding51=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding51, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding52=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding52, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding53=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding53, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding54=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding54, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding55=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding55, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding56=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding56, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding57=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding57, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding58=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding58, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding59=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding59, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding60=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding60, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding61=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding61, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding62=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding62, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding63=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding63, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding64=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding64, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding65=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding65, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding66=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding66, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding67=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding67, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding68=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding68, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding69=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding69, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding70=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding70, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding71=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding71, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding72=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding72, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding73=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding73, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding74=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding74, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding75=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding75, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding76=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding76, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding77=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding77, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding78=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding78, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding79=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding79, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding80=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding80, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding81=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding81, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding82=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding82, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding83=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding83, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding84=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding84, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding85=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding85, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding86=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding86, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding87=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding87, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding88=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding88, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding89=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding89, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding90=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding90, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding91=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding91, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding92=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding92, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding93=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding93, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding94=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding94, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding95=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding95, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding96=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding96, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding97=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding97, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding98=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding98, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding99=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding99, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding100=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding100, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding101=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding101, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding102=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding102, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding103=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding103, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding104=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding104, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding105=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding105, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding106=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding106, 32);
// Hardware.DebugUtil.WriteSerialString("\" Padding107=\"");
// Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding107, 32);
// Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
// EndLogging();
//}
//internal static void SendExt2_INodeMode(uint aIdentifier, ushort aMode) {
// StartLogging();
// Hardware.DebugUtil.WriteSerialString("<Ext2_INodeMode Identifier=\"");
// Hardware.DebugUtil.WriteNumber(aIdentifier, 32);
// Hardware.DebugUtil.WriteSerialString("\" Mode=\"");
// bool xAlreadySentContent = false;
// if ((aMode & 0x1) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("OthersAccessRightsExecute");
// }
// if ((aMode & 0x2) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("OthersAccessRightsWrite");
// }
// if ((aMode & 0x4) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("OthersAccessRightsRead");
// }
// if ((aMode & 0x7) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("OthersAccessRightsMask");
// }
// if ((aMode & 0x8) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("GroupAccessRightsExecute");
// }
// if ((aMode & 0x10) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("GroupAccessRightsWrite");
// }
// if ((aMode & 0x20) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("GroupAccessRightsRead");
// }
// if ((aMode & 0x38) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("GroupAccessRightsMask");
// }
// if ((aMode & 0x40) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("UserAccessRightsExecute");
// }
// if ((aMode & 0x80) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("UserAccessRightsWrite");
// }
// if ((aMode & 0x100) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("UserAccessRightsRead");
// }
// if ((aMode & 0x1C0) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("UserAccessRightsMask");
// }
// if ((aMode & 0x200) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("StickyBit");
// }
// if ((aMode & 0x400) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("SGID");
// }
// if ((aMode & 0x800) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("SUID");
// }
// if ((aMode & 0x1000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("Fifo");
// }
// if ((aMode & 0x2000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("CharacterDevice");
// }
// if ((aMode & 0x4000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("Directory");
// }
// if ((aMode & 0x6000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("BlockDevice");
// }
// if ((aMode & 0x8000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("RegularFile");
// }
// if ((aMode & 0xA000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("SymbolicLink");
// }
// if ((aMode & 0xC000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("Socket");
// }
// if ((aMode & 0xF000) != 0) {
// if (!xAlreadySentContent) {
// xAlreadySentContent = true;
// } else {
// Hardware.DebugUtil.WriteSerialString(", ");
// }
// Hardware.DebugUtil.WriteSerialString("FormatMask");
// }
// if (!xAlreadySentContent) {
// Hardware.DebugUtil.WriteSerialString("(None)");
// }
// Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
// EndLogging();
//}
//internal static unsafe void SendExt2_INode(uint aIdentifier, FileSystem.Ext2.INode* aINode) {
// StartLogging();
// Hardware.DebugUtil.WriteSerialString("<Ext2_INode Identifier=\"");
// Hardware.DebugUtil.WriteNumber(aIdentifier, 32);
// Hardware.DebugUtil.WriteSerialString("\" Mode=\"");
// Hardware.DebugUtil.WriteNumber((ushort)aINode->Mode, 16);
// Hardware.DebugUtil.WriteSerialString("\" UID=\"");
// Hardware.DebugUtil.WriteNumber(aINode->UID, 16);
// Hardware.DebugUtil.WriteSerialString("\" Size=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Size, 32);
// Hardware.DebugUtil.WriteSerialString("\" ATime=\"");
// Hardware.DebugUtil.WriteNumber(aINode->ATime, 32);
// Hardware.DebugUtil.WriteSerialString("\" CTime=\"");
// Hardware.DebugUtil.WriteNumber(aINode->CTime, 32);
// Hardware.DebugUtil.WriteSerialString("\" MTime=\"");
// Hardware.DebugUtil.WriteNumber(aINode->MTime, 32);
// Hardware.DebugUtil.WriteSerialString("\" DTime=\"");
// Hardware.DebugUtil.WriteNumber(aINode->DTime, 32);
// Hardware.DebugUtil.WriteSerialString("\" GID=\"");
// Hardware.DebugUtil.WriteNumber(aINode->GID, 16);
// Hardware.DebugUtil.WriteSerialString("\" LinksCount=\"");
// Hardware.DebugUtil.WriteNumber(aINode->LinksCount, 16);
// Hardware.DebugUtil.WriteSerialString("\" Blocks=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Blocks, 32);
// Hardware.DebugUtil.WriteSerialString("\" Flags=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Flags, 32);
// Hardware.DebugUtil.WriteSerialString("\" OSD1=\"");
// Hardware.DebugUtil.WriteNumber(aINode->OSD1, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block1=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block1, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block2=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block2, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block3=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block3, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block4=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block4, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block5=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block5, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block6=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block6, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block7=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block7, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block8=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block8, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block9=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block9, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block10=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block10, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block11=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block11, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block12=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block12, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block13=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block13, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block14=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block14, 32);
// Hardware.DebugUtil.WriteSerialString("\" Block15=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Block15, 32);
// Hardware.DebugUtil.WriteSerialString("\" Generation=\"");
// Hardware.DebugUtil.WriteNumber(aINode->Generation, 32);
// Hardware.DebugUtil.WriteSerialString("\" FileACL=\"");
// Hardware.DebugUtil.WriteNumber(aINode->FileACL, 32);
// Hardware.DebugUtil.WriteSerialString("\" DirACL=\"");
// Hardware.DebugUtil.WriteNumber(aINode->DirACL, 32);
// Hardware.DebugUtil.WriteSerialString("\" FAddr=\"");
// Hardware.DebugUtil.WriteNumber(aINode->FAddr, 32);
// Hardware.DebugUtil.WriteSerialString("\" OSD2_1=\"");
// Hardware.DebugUtil.WriteNumber(aINode->OSD2_1, 32);
// Hardware.DebugUtil.WriteSerialString("\" OSD2_2=\"");
// Hardware.DebugUtil.WriteNumber(aINode->OSD2_2, 32);
// Hardware.DebugUtil.WriteSerialString("\" OSD2_3=\"");
// Hardware.DebugUtil.WriteNumber(aINode->OSD2_3, 32);
// Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
// EndLogging();
//}
//internal static unsafe void SendExt2_DirectoryEntry(FileSystem.Ext2.DirectoryEntry* aEntryPtr) {
// StartLogging();
// Hardware.DebugUtil.WriteSerialString("<Ext2_DirectoryEntry INode=\"");
// Hardware.DebugUtil.WriteNumber(aEntryPtr->INodeNumber, 32);
// Hardware.DebugUtil.WriteSerialString("\" RecordLength=\"");
// Hardware.DebugUtil.WriteNumber(aEntryPtr->RecordLength, 16);
// Hardware.DebugUtil.WriteSerialString("\" NameLength=\"");
// Hardware.DebugUtil.WriteNumber(aEntryPtr->NameLength, 8);
// Hardware.DebugUtil.WriteSerialString("\" FileType=\"");
// Hardware.DebugUtil.WriteNumber(aEntryPtr->FileType, 8);
// Hardware.DebugUtil.WriteSerialString("\" Name=\"0x");
// byte* xNameByte = &aEntryPtr->FirstNameChar;
// for (int i = 0; i < aEntryPtr->NameLength; i++) {
// Hardware.DebugUtil.WriteNumber(xNameByte[i], 8, false);
// }
// Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
// EndLogging();
//}
internal static void SendByteStream(string aModule, string aDescription, byte[] aContents) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<ByteStream Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Contents=\"0x");
for (int i = 0; i < aContents.Length; i++) {
Hardware.DebugUtil.WriteNumber(aContents[i], 8, false);
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
}
internal static unsafe void SendBytes(string aModule, string aDescription, byte* aContents, uint aIndex, uint aCount) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<ByteStream Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Contents=\"0x");
for (uint i = aIndex; i < aCount; i++) {
Hardware.DebugUtil.WriteNumber(aContents[i], 8, false);
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
}
}
}

View file

@ -1,771 +0,0 @@

namespace Cosmos.Kernel {
public static class DebugUtil {
public static void Initialize() {
Hardware.DebugUtil.Initialize();
}
private static void StartLogging() {
Hardware.DebugUtil.StartLogging();
}
private static void EndLogging() {
Hardware.DebugUtil.EndLogging();
}
public static void SendNumber(string aModule, string aDescription, uint aNumber, byte aBits) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Number Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Number=\"");
Hardware.DebugUtil.WriteNumber(aNumber, aBits);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendTestCase(string testcase) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<TestCase_Started Name=\"");
Hardware.DebugUtil.WriteSerialString(testcase);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendTestAssert(bool condition, string message) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<TestCase Message=\"");
Hardware.DebugUtil.WriteSerialString(message);
Hardware.DebugUtil.WriteSerialString("\" Success=\"");
if (condition)
Hardware.DebugUtil.WriteSerialString("yes");
else
Hardware.DebugUtil.WriteSerialString("no");
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendDoubleNumber(string aModule, string aDescription, uint aNumber, byte aBits, uint aNumber2, byte aBits2) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Number Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Number1=\"");
Hardware.DebugUtil.WriteNumber(aNumber, aBits);
Hardware.DebugUtil.WriteSerialString("\" Number2=\"");
Hardware.DebugUtil.WriteNumber(aNumber2, aBits2);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMessage(string aModule, string aData) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Message Type=\"Info\" Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aData);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendKeyboardEvent(uint aScanCode, bool aReleased) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<KeyboardEvent ScanCode=\"");
Hardware.DebugUtil.WriteNumber(aScanCode, 32);
Hardware.DebugUtil.WriteSerialString("\" Released=\"");
if (aReleased) {
Hardware.DebugUtil.WriteSerialString("true");
} else {
Hardware.DebugUtil.WriteSerialString("false");
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendError(string aModule, string aData) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Error Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aData);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendError(string aModule, string aDescription, uint aData, byte aBits) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Error Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Data=\"");
Hardware.DebugUtil.WriteNumber(aData, aBits);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendWarning(string aModule, string aData) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Warning Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" String=\"");
Hardware.DebugUtil.WriteSerialString(aData);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMM_Alloc(uint aStartAddr, uint aLength) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<MM_Alloc StartAddr=\"");
Hardware.DebugUtil.WriteNumber(aStartAddr, 32);
Hardware.DebugUtil.WriteSerialString("\" Length=\"");
Hardware.DebugUtil.WriteNumber(aLength, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMM_Init(uint aStartAddr, uint aLength) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<MM_Init StartAddr=\"");
Hardware.DebugUtil.WriteNumber(aStartAddr, 32);
Hardware.DebugUtil.WriteSerialString("\" Length=\"");
Hardware.DebugUtil.WriteNumber(aLength, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
public static void SendMM_Free(uint aStartAddr, uint aLength) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<MM_Free StartAddr=\"");
Hardware.DebugUtil.WriteNumber(aStartAddr, 32);
Hardware.DebugUtil.WriteSerialString("\" Length=\"");
Hardware.DebugUtil.WriteNumber(aLength, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
internal static void SendExt2_GroupDescriptor(string aDescription, uint aBlock, int aIndex, uint aAddresss, FileSystem.Ext2.GroupDescriptor aDescriptor) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Ext2_GroupDescriptor Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Block=\"");
Hardware.DebugUtil.WriteNumber((uint)aBlock, 32);
Hardware.DebugUtil.WriteSerialString("\" Index=\"");
Hardware.DebugUtil.WriteNumber((uint)aIndex, 32);
Hardware.DebugUtil.WriteSerialString("\" Address=\"");
Hardware.DebugUtil.WriteNumber(aAddresss, 32);
Hardware.DebugUtil.WriteSerialString("\" BlockBitmap=\"");
Hardware.DebugUtil.WriteNumber(aDescriptor.BlockBitmap, 32);
Hardware.DebugUtil.WriteSerialString("\" INodeBitmap=\"");
Hardware.DebugUtil.WriteNumber(aDescriptor.INodeBitmap, 32);
Hardware.DebugUtil.WriteSerialString("\" INodeTable=\"");
Hardware.DebugUtil.WriteNumber(aDescriptor.INodeTable, 32);
Hardware.DebugUtil.WriteSerialString("\" FreeBlocksCount=\"");
Hardware.DebugUtil.WriteNumber(aDescriptor.FreeBlocksCount, 32);
Hardware.DebugUtil.WriteSerialString("\" FreeINodesCount=\"");
Hardware.DebugUtil.WriteNumber(aDescriptor.FreeINodesCount, 32);
Hardware.DebugUtil.WriteSerialString("\" UsedDirsCount=\"");
Hardware.DebugUtil.WriteNumber(aDescriptor.UsedDirsCount, 32);
Hardware.DebugUtil.WriteSerialString("\" Pad=\"");
Hardware.DebugUtil.WriteNumber(aDescriptor.Pad, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
internal static unsafe void SendExt2_SuperBlock(string aDescription, FileSystem.Ext2.SuperBlock aSuperBlock) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Ext2_SuperBlock1 Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" INodesCount=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.INodesCount, 32);
Hardware.DebugUtil.WriteSerialString("\" BlockCount=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.BlockCount, 32);
Hardware.DebugUtil.WriteSerialString("\" RBlocksCount=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.RBlocksCount, 32);
Hardware.DebugUtil.WriteSerialString("\" FreeBlocksCount=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.FreeBlocksCount, 32);
Hardware.DebugUtil.WriteSerialString("\" FreeINodesCount=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.FreeINodesCount, 32);
Hardware.DebugUtil.WriteSerialString("\" FirstDataBlock=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.FirstDataBlock, 32);
Hardware.DebugUtil.WriteSerialString("\" LogBlockSize=\"");
Hardware.DebugUtil.WriteNumber((uint)aSuperBlock.LogBlockSize, 32);
Hardware.DebugUtil.WriteSerialString("\" LogFragSize=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.LogFragSize, 32);
Hardware.DebugUtil.WriteSerialString("\" BlocksPerGroup=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.BlocksPerGroup, 32);
Hardware.DebugUtil.WriteSerialString("\" FragsPerGroup=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.FragsPerGroup, 32);
Hardware.DebugUtil.WriteSerialString("\" INodesPerGroup=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.INodesPerGroup, 32);
Hardware.DebugUtil.WriteSerialString("\" MTime=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.MTime, 32);
Hardware.DebugUtil.WriteSerialString("\" WTime=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.WTime, 32);
Hardware.DebugUtil.WriteSerialString("\" MntCount=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.MntCount, 16);
Hardware.DebugUtil.WriteSerialString("\" MaxMntCount=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.MaxMntCount, 16);
Hardware.DebugUtil.WriteSerialString("\" Magic=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Magic, 16);
Hardware.DebugUtil.WriteSerialString("\" State=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.State, 16);
Hardware.DebugUtil.WriteSerialString("\" Errors=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Errors, 16);
Hardware.DebugUtil.WriteSerialString("\" MinorRevLevel=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.MinorRevLevel, 16);
Hardware.DebugUtil.WriteSerialString("\" LastCheck=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.LastCheck, 32);
Hardware.DebugUtil.WriteSerialString("\" CheckInterval=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.CheckInterval, 32);
Hardware.DebugUtil.WriteSerialString("\" CreatorOS=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.CreatorOS, 32);
Hardware.DebugUtil.WriteSerialString("\" RevLevel=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.RevLevel, 32);
Hardware.DebugUtil.WriteSerialString("\" RefResUID=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.RefResUID, 16);
Hardware.DebugUtil.WriteSerialString("\" DefResGID=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.DefResGID, 16);
Hardware.DebugUtil.WriteSerialString("\" FirstINode=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.FirstINode, 32);
Hardware.DebugUtil.WriteSerialString("\" INodeSize=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.INodeSize, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding2=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding2, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding3=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding3, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding4=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding4, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding5=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding5, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding6=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding6, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding7=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding7, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding8=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding8, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding9=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding9, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding10=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding10, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding11=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding11, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding12=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding12, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding13=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding13, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding14=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding14, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding15=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding15, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding16=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding16, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding17=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding17, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding18=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding18, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding19=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding19, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding20=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding20, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding21=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding21, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding22=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding22, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding23=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding23, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding24=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding24, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding25=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding25, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding26=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding26, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding27=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding27, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding28=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding28, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding29=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding29, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding30=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding30, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding31=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding31, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding32=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding32, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding33=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding33, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding34=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding34, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding35=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding35, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding36=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding36, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding37=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding37, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding38=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding38, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding39=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding39, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding40=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding40, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding41=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding41, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding42=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding42, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding43=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding43, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding44=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding44, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding45=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding45, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding46=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding46, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding47=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding47, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding48=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding48, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding49=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding49, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding50=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding50, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding51=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding51, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding52=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding52, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding53=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding53, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding54=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding54, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding55=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding55, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding56=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding56, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding57=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding57, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding58=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding58, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding59=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding59, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding60=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding60, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding61=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding61, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding62=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding62, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding63=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding63, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding64=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding64, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding65=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding65, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding66=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding66, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding67=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding67, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding68=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding68, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding69=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding69, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding70=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding70, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding71=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding71, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding72=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding72, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding73=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding73, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding74=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding74, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding75=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding75, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding76=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding76, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding77=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding77, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding78=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding78, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding79=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding79, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding80=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding80, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding81=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding81, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding82=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding82, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding83=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding83, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding84=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding84, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding85=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding85, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding86=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding86, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding87=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding87, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding88=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding88, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding89=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding89, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding90=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding90, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding91=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding91, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding92=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding92, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding93=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding93, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding94=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding94, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding95=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding95, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding96=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding96, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding97=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding97, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding98=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding98, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding99=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding99, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding100=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding100, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding101=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding101, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding102=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding102, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding103=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding103, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding104=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding104, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding105=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding105, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding106=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding106, 32);
Hardware.DebugUtil.WriteSerialString("\" Padding107=\"");
Hardware.DebugUtil.WriteNumber(aSuperBlock.Padding107, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
internal static void SendExt2_INodeMode(uint aIdentifier, ushort aMode) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Ext2_INodeMode Identifier=\"");
Hardware.DebugUtil.WriteNumber(aIdentifier, 32);
Hardware.DebugUtil.WriteSerialString("\" Mode=\"");
bool xAlreadySentContent = false;
if ((aMode & 0x1) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("OthersAccessRightsExecute");
}
if ((aMode & 0x2) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("OthersAccessRightsWrite");
}
if ((aMode & 0x4) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("OthersAccessRightsRead");
}
if ((aMode & 0x7) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("OthersAccessRightsMask");
}
if ((aMode & 0x8) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("GroupAccessRightsExecute");
}
if ((aMode & 0x10) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("GroupAccessRightsWrite");
}
if ((aMode & 0x20) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("GroupAccessRightsRead");
}
if ((aMode & 0x38) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("GroupAccessRightsMask");
}
if ((aMode & 0x40) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("UserAccessRightsExecute");
}
if ((aMode & 0x80) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("UserAccessRightsWrite");
}
if ((aMode & 0x100) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("UserAccessRightsRead");
}
if ((aMode & 0x1C0) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("UserAccessRightsMask");
}
if ((aMode & 0x200) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("StickyBit");
}
if ((aMode & 0x400) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("SGID");
}
if ((aMode & 0x800) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("SUID");
}
if ((aMode & 0x1000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("Fifo");
}
if ((aMode & 0x2000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("CharacterDevice");
}
if ((aMode & 0x4000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("Directory");
}
if ((aMode & 0x6000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("BlockDevice");
}
if ((aMode & 0x8000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("RegularFile");
}
if ((aMode & 0xA000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("SymbolicLink");
}
if ((aMode & 0xC000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("Socket");
}
if ((aMode & 0xF000) != 0) {
if (!xAlreadySentContent) {
xAlreadySentContent = true;
} else {
Hardware.DebugUtil.WriteSerialString(", ");
}
Hardware.DebugUtil.WriteSerialString("FormatMask");
}
if (!xAlreadySentContent) {
Hardware.DebugUtil.WriteSerialString("(None)");
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
internal static unsafe void SendExt2_INode(uint aIdentifier, FileSystem.Ext2.INode* aINode) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Ext2_INode Identifier=\"");
Hardware.DebugUtil.WriteNumber(aIdentifier, 32);
Hardware.DebugUtil.WriteSerialString("\" Mode=\"");
Hardware.DebugUtil.WriteNumber((ushort)aINode->Mode, 16);
Hardware.DebugUtil.WriteSerialString("\" UID=\"");
Hardware.DebugUtil.WriteNumber(aINode->UID, 16);
Hardware.DebugUtil.WriteSerialString("\" Size=\"");
Hardware.DebugUtil.WriteNumber(aINode->Size, 32);
Hardware.DebugUtil.WriteSerialString("\" ATime=\"");
Hardware.DebugUtil.WriteNumber(aINode->ATime, 32);
Hardware.DebugUtil.WriteSerialString("\" CTime=\"");
Hardware.DebugUtil.WriteNumber(aINode->CTime, 32);
Hardware.DebugUtil.WriteSerialString("\" MTime=\"");
Hardware.DebugUtil.WriteNumber(aINode->MTime, 32);
Hardware.DebugUtil.WriteSerialString("\" DTime=\"");
Hardware.DebugUtil.WriteNumber(aINode->DTime, 32);
Hardware.DebugUtil.WriteSerialString("\" GID=\"");
Hardware.DebugUtil.WriteNumber(aINode->GID, 16);
Hardware.DebugUtil.WriteSerialString("\" LinksCount=\"");
Hardware.DebugUtil.WriteNumber(aINode->LinksCount, 16);
Hardware.DebugUtil.WriteSerialString("\" Blocks=\"");
Hardware.DebugUtil.WriteNumber(aINode->Blocks, 32);
Hardware.DebugUtil.WriteSerialString("\" Flags=\"");
Hardware.DebugUtil.WriteNumber(aINode->Flags, 32);
Hardware.DebugUtil.WriteSerialString("\" OSD1=\"");
Hardware.DebugUtil.WriteNumber(aINode->OSD1, 32);
Hardware.DebugUtil.WriteSerialString("\" Block1=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block1, 32);
Hardware.DebugUtil.WriteSerialString("\" Block2=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block2, 32);
Hardware.DebugUtil.WriteSerialString("\" Block3=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block3, 32);
Hardware.DebugUtil.WriteSerialString("\" Block4=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block4, 32);
Hardware.DebugUtil.WriteSerialString("\" Block5=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block5, 32);
Hardware.DebugUtil.WriteSerialString("\" Block6=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block6, 32);
Hardware.DebugUtil.WriteSerialString("\" Block7=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block7, 32);
Hardware.DebugUtil.WriteSerialString("\" Block8=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block8, 32);
Hardware.DebugUtil.WriteSerialString("\" Block9=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block9, 32);
Hardware.DebugUtil.WriteSerialString("\" Block10=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block10, 32);
Hardware.DebugUtil.WriteSerialString("\" Block11=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block11, 32);
Hardware.DebugUtil.WriteSerialString("\" Block12=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block12, 32);
Hardware.DebugUtil.WriteSerialString("\" Block13=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block13, 32);
Hardware.DebugUtil.WriteSerialString("\" Block14=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block14, 32);
Hardware.DebugUtil.WriteSerialString("\" Block15=\"");
Hardware.DebugUtil.WriteNumber(aINode->Block15, 32);
Hardware.DebugUtil.WriteSerialString("\" Generation=\"");
Hardware.DebugUtil.WriteNumber(aINode->Generation, 32);
Hardware.DebugUtil.WriteSerialString("\" FileACL=\"");
Hardware.DebugUtil.WriteNumber(aINode->FileACL, 32);
Hardware.DebugUtil.WriteSerialString("\" DirACL=\"");
Hardware.DebugUtil.WriteNumber(aINode->DirACL, 32);
Hardware.DebugUtil.WriteSerialString("\" FAddr=\"");
Hardware.DebugUtil.WriteNumber(aINode->FAddr, 32);
Hardware.DebugUtil.WriteSerialString("\" OSD2_1=\"");
Hardware.DebugUtil.WriteNumber(aINode->OSD2_1, 32);
Hardware.DebugUtil.WriteSerialString("\" OSD2_2=\"");
Hardware.DebugUtil.WriteNumber(aINode->OSD2_2, 32);
Hardware.DebugUtil.WriteSerialString("\" OSD2_3=\"");
Hardware.DebugUtil.WriteNumber(aINode->OSD2_3, 32);
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
internal static unsafe void SendExt2_DirectoryEntry(FileSystem.Ext2.DirectoryEntry* aEntryPtr) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<Ext2_DirectoryEntry INode=\"");
Hardware.DebugUtil.WriteNumber(aEntryPtr->INodeNumber, 32);
Hardware.DebugUtil.WriteSerialString("\" RecordLength=\"");
Hardware.DebugUtil.WriteNumber(aEntryPtr->RecordLength, 16);
Hardware.DebugUtil.WriteSerialString("\" NameLength=\"");
Hardware.DebugUtil.WriteNumber(aEntryPtr->NameLength, 8);
Hardware.DebugUtil.WriteSerialString("\" FileType=\"");
Hardware.DebugUtil.WriteNumber(aEntryPtr->FileType, 8);
Hardware.DebugUtil.WriteSerialString("\" Name=\"0x");
byte* xNameByte = &aEntryPtr->FirstNameChar;
for (int i = 0; i < aEntryPtr->NameLength; i++) {
Hardware.DebugUtil.WriteNumber(xNameByte[i], 8, false);
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
EndLogging();
}
internal static void SendByteStream(string aModule, string aDescription, byte[] aContents) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<ByteStream Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Contents=\"0x");
for (int i = 0; i < aContents.Length; i++) {
Hardware.DebugUtil.WriteNumber(aContents[i], 8, false);
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
}
internal static unsafe void SendBytes(string aModule, string aDescription, byte* aContents, uint aIndex, uint aCount) {
StartLogging();
Hardware.DebugUtil.WriteSerialString("<ByteStream Module=\"");
Hardware.DebugUtil.WriteSerialString(aModule);
Hardware.DebugUtil.WriteSerialString("\" Description=\"");
Hardware.DebugUtil.WriteSerialString(aDescription);
Hardware.DebugUtil.WriteSerialString("\" Contents=\"0x");
for (uint i = aIndex; i < aCount; i++) {
Hardware.DebugUtil.WriteNumber(aContents[i], 8, false);
}
Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
}
}
}

View file

@ -23,20 +23,20 @@ namespace Cosmos.Shell.Console.Commands {
var xDevice = Hardware.Device.Devices[i];
if (xDevice.Type == Cosmos.Hardware.Device.DeviceType.Storage) {
var xBlockDevice = (Hardware.BlockDevice)xDevice;
Cosmos.Kernel.FileSystem.Ext2 xExt2 = new Cosmos.Kernel.FileSystem.Ext2(xBlockDevice);
//Cosmos.Kernel.FileSystem.Ext2 xExt2 = new Cosmos.Kernel.FileSystem.Ext2(xBlockDevice);
if (!xExt2.Initialize()) {
System.Console.WriteLine("Error while initializing Ext2 Filesystem!");
} else {
System.Console.WriteLine("ATA and Ext2 successfully initialized!");
// System.Diagnostics.Debugger.Break();
string[] files = xExt2.GetDirectoryEntries(new string[0]);
if (files == null) {
System.Console.WriteLine("Error while getting DirectoryEntries");
}
for (int f = 0; f < files.Length; f++)
System.Console.WriteLine(files[f]);
}
//if (!xExt2.Initialize()) {
// System.Console.WriteLine("Error while initializing Ext2 Filesystem!");
//} else {
// System.Console.WriteLine("ATA and Ext2 successfully initialized!");
// // System.Diagnostics.Debugger.Break();
// string[] files = xExt2.GetDirectoryEntries(new string[0]);
// if (files == null) {
// System.Console.WriteLine("Error while getting DirectoryEntries");
// }
// for (int f = 0; f < files.Length; f++)
// System.Console.WriteLine(files[f]);
//}
return;
}
System.Console.Write("Device Type: ");