예제 #1
0
        public override void Write(BlockBuffer bb)
        {
            bb.WriteByte(EntryType);
            bb.WriteLong(TimeStamp);

            const int rem = 46;

            if (Name.Length > rem)
            {
                Continuations = (byte)(((Name.Length - rem) / 64) + 1);
                bb.WriteByte(Continuations);
                bb.WriteString(Name.Remove(rem));
            }
            else
            {
                bb.WriteByte(Continuations);
                bb.WriteString(Name);
            }
        }
예제 #2
0
 public override void Write(BlockBuffer bb)
 {
     bb.Offset = 0x0194;
     bb.WriteLong(TimeStamp);
     bb.WriteLong(DataSizeInBlocks);
     bb.WriteLong(SizeOfIndexInBytes);
     bb.WriteByte((byte)'S');
     bb.WriteByte((byte)'F');
     bb.WriteByte((byte)'S');
     bb.WriteByte(VersionNumber);
     bb.WriteLong(TotalBlocks);
     bb.WriteLong(TotalReservedBlocks);
     bb.WriteByte(BlockSize);
     bb.WriteByte(Checksum);
 }
예제 #3
0
 public override void Write(BlockBuffer bb)
 {
     bb.WriteByte(EntryType);
     bb.WriteLong(StartingBlock);
     bb.WriteLong(EndingBlock);
 }
예제 #4
0
 public override void Write(BlockBuffer bb)
 {
     bb.WriteByte(EntryType);
 }
예제 #5
0
 public override void Write(BlockBuffer bb)
 {
     bb.WriteByte(EntryType);
     bb.WriteLong(TimeStamp);
     bb.WriteString(VolumeName);
 }