[Add] FishNet
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
//
|
||||
// Author:
|
||||
// Jb Evain (jbevain@gmail.com)
|
||||
//
|
||||
// Copyright (c) 2008 - 2015 Jb Evain
|
||||
// Copyright (c) 2008 - 2011 Novell, Inc.
|
||||
//
|
||||
// Licensed under the MIT/X11 license.
|
||||
//
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace MonoFN.Cecil.PE
|
||||
{
|
||||
internal class BinaryStreamWriter : BinaryWriter
|
||||
{
|
||||
public int Position
|
||||
{
|
||||
get { return (int)BaseStream.Position; }
|
||||
set { BaseStream.Position = value; }
|
||||
}
|
||||
public BinaryStreamWriter(Stream stream) : base(stream) { }
|
||||
|
||||
public void WriteByte(byte value)
|
||||
{
|
||||
Write(value);
|
||||
}
|
||||
|
||||
public void WriteUInt16(ushort value)
|
||||
{
|
||||
Write(value);
|
||||
}
|
||||
|
||||
public void WriteInt16(short value)
|
||||
{
|
||||
Write(value);
|
||||
}
|
||||
|
||||
public void WriteUInt32(uint value)
|
||||
{
|
||||
Write(value);
|
||||
}
|
||||
|
||||
public void WriteInt32(int value)
|
||||
{
|
||||
Write(value);
|
||||
}
|
||||
|
||||
public void WriteUInt64(ulong value)
|
||||
{
|
||||
Write(value);
|
||||
}
|
||||
|
||||
public void WriteBytes(byte[] bytes)
|
||||
{
|
||||
Write(bytes);
|
||||
}
|
||||
|
||||
public void WriteDataDirectory(DataDirectory directory)
|
||||
{
|
||||
Write(directory.VirtualAddress);
|
||||
Write(directory.Size);
|
||||
}
|
||||
|
||||
public void WriteBuffer(ByteBuffer buffer)
|
||||
{
|
||||
Write(buffer.buffer, 0, buffer.length);
|
||||
}
|
||||
|
||||
protected void Advance(int bytes)
|
||||
{
|
||||
BaseStream.Seek(bytes, SeekOrigin.Current);
|
||||
}
|
||||
|
||||
public void Align(int align)
|
||||
{
|
||||
align--;
|
||||
int position = Position;
|
||||
int bytes = ((position + align) & ~align) - position;
|
||||
|
||||
for (int i = 0; i < bytes; i++)
|
||||
WriteByte(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user