protected unsafe void MarshalUInt(byte *data)
{
WritePad (4);
byte[] dst = new byte[4];
if (endianness == Connection.NativeEndianness) {
dst[0] = data[0];
dst[1] = data[1];
dst[2] = data[2];
dst[3] = data[3];
} else {
dst[0] = data[3];
dst[1] = data[2];
dst[2] = data[1];
dst[3] = data[0];
}
stream.Write (dst, 0, 4);
}