Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }