using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Net; using System.Security.Cryptography; using Cosmos.Build.Windows; using Cosmos.FileSystem.Ext2; using Cosmos.Hardware; using Cosmos.Hardware.Storage.ATA; using ICSharpCode.SharpZipLib.Zip.Compression; using ICSharpCode.SharpZipLib.Zip.Compression.Streams; using Huffman; namespace MatthijsTest { public class Program { #region Cosmos Builder logic // Most users wont touch this. This will call the Cosmos Build tool [STAThread] private static void Main(string[] args) { //Init(); BuildUI.Run(); } #endregion //[ManifestResourceStream(ResourceName = "MatthijsTest.Test.txt")] //private static readonly byte[] TheManifestResource; //[ManifestResourceStream(ResourceName = "MatthijsTest.Test.txt.gz")] //private static readonly byte[] TheManifestResourceZipped; private static ushort HostToNetwork(ushort aValue) { return (ushort)((aValue << 8) | ((aValue >> 8) & 0xFF)); } private static uint HostToNetwork(uint aValue) { return (uint)(((HostToNetwork((ushort)aValue) & 0xffff) << 0x10) | (HostToNetwork((ushort)(aValue >> 0x10)) & 0xffff)); } public static void Init() { Cosmos.Sys.Boot.Default(); var xStorage = Cosmos.Hardware.Device.FindFirst(Device.DeviceType.Storage) as BlockDevice; if (xStorage == null) { Console.WriteLine("ERROR: StorageDevice not found!"); return; } var xExt2 = new Ext2(xStorage); var xDirectoryListing = xExt2.GetDirectoryListing(xExt2.RootId); if (xDirectoryListing == null) { Console.WriteLine("No DirectoryListing!"); } else { Console.Write("Directory entries count: "); Console.WriteLine(xDirectoryListing.Length.ToString()); for (int i = 0; i < xDirectoryListing.Length; i++) { Console.Write(xDirectoryListing[i].Name); if (xDirectoryListing[i].IsDirectory) { Console.WriteLine("/"); if(xDirectoryListing[i].Id != xExt2.RootId) { var xDirListing2 = xExt2.GetDirectoryListing(xDirectoryListing[i].Id); for(int j = 0; j> 28))); Console.Write(SingleDigitToHex((byte)(aUint >> 24))); Console.Write(SingleDigitToHex((byte)(aUint >> 20))); Console.Write(SingleDigitToHex((byte)(aUint >> 16))); Console.Write(SingleDigitToHex((byte)(aUint >> 12))); Console.Write(SingleDigitToHex((byte)(aUint >> 8))); Console.Write(SingleDigitToHex((byte)(aUint >> 4))); Console.Write(SingleDigitToHex((byte)(aUint & 0xF))); } } }