public static PalmDOCHeader Read(Stream stream, long offset) { PalmDOCHeader result = new PalmDOCHeader(); stream.Seek(offset, SeekOrigin.Begin); if (stream.TryReadUshort(out ushort compression)) { result.Compression = (CompressionType)compression; } stream.Seek(2, SeekOrigin.Current); if (stream.TryReadUint(out uint textLength)) { result.TextLength = textLength; } if (stream.TryReadUshort(out ushort recordCount)) { result.RecordCount = recordCount; } if (stream.TryReadUshort(out ushort recordSize)) { result.RecordSize = recordSize; } if (result.Compression == CompressionType.HUFF_CDIC) { if (stream.TryReadUshort(out ushort encryption)) { result.Encryption = (EncryptionType)encryption; } stream.Seek(2, SeekOrigin.Current); } else { if (stream.TryReadUint(out uint currentPosition)) { result.CurrentPosition = currentPosition; } } return(result); }
public static void Write(PalmDOCHeader file, Stream stream) { }