示例#1
0
        public static NameEntry FromByteArray(ResourceRecord.RecordType type, byte[] arr, int payloadBase, int offset, out int size)
        {
            NameEntry ret = new NameEntry(type);

            ret.name = DnsName.FromByteArray(arr, payloadBase, offset, out size);
            return(ret);
        }
示例#2
0
        public static MailExchange FromByteArray(byte[] arr, int payloadBase, int offset, out int size)
        {
            MailExchange ret = new MailExchange();

            ret.meta = Serialization.Deserialize <Meta>(arr, offset, 2);
            int nameDataSize;

            ret.exchange = DnsName.FromByteArray(arr, payloadBase, offset + 2, out nameDataSize);
            size         = nameDataSize + 2;
            return(ret);
        }
示例#3
0
        public static SOA FromByteArray(byte[] arr, int payloadBase, int offset, out int size)
        {
            int origOffset = offset;

            SOA ret = new SOA();
            int nameDataSize;

            ret.masterName = DnsName.FromByteArray(arr, payloadBase, offset, out nameDataSize);
            offset        += nameDataSize;

            ret.responsibleName = DnsName.FromByteArray(arr, payloadBase, offset, out nameDataSize);
            offset += nameDataSize;

            ret.meta = Serialization.Deserialize <Meta>(arr, offset, Marshal.SizeOf <Meta>());
            offset  += Marshal.SizeOf <Meta>();

            size = offset - origOffset;
            return(ret);
        }