internal static int berParseHeader(RdpPacket data, BER_Header eTagVal) { int num = 0; int num2 = 0; int num3 = 0; int num4 = (int)eTagVal; if (num4 > 0xff) { num = data.ReadBigEndian16(); } else { num = data.ReadByte(); } if (num != num4) { throw new RDFatalException("Bad tag " + num.ToString() + " but need " + eTagVal.ToString()); } num3 = data.ReadByte(); if (num3 <= 0x80) { return(num3); } num3 -= 0x80; num2 = 0; while (num3-- != 0) { num2 = (num2 << 8) + data.ReadByte(); } return(num2); }
internal static void sendBerHeader(RdpPacket data, BER_Header berHeader, int param) { int num = (int)berHeader; if (num > 0xff) { data.WriteBigEndian16((short)num); } else { data.WriteByte((byte)num); } if (param >= 0x80) { data.WriteByte(130); data.WriteBigEndian16((short)param); } else { data.WriteByte((byte)param); } }
private static void sendBerHeader(RdpPacket data0, BER_Header data1, int data2) { int num = (int)data1; if (num > 0xff) { data0.WriteBigEndian16((short)num); } else { data0.WriteByte((byte)num); } if (data2 >= 0x80) { data0.WriteByte(130); data0.WriteBigEndian16((short)data2); } else { data0.WriteByte((byte)data2); } }