protected override void WriteRecordData(Stream s, List <DnsDomainOffset> domainEntries) { DnsDatagram.WriteUInt16NetworkOrder(_priority, s); DnsDatagram.WriteUInt16NetworkOrder(_weight, s); DnsDatagram.WriteUInt16NetworkOrder(_port, s); DnsDatagram.SerializeDomainName(_target, s, null); //no compression for domain name as per RFC }
public void WriteTo(Stream s, List <DnsDomainOffset> domainEntries) { DnsDatagram.SerializeDomainName(_name, s, domainEntries); DnsDatagram.WriteUInt16NetworkOrder((ushort)_type, s); DnsDatagram.WriteUInt16NetworkOrder((ushort)_class, s); DnsDatagram.WriteUInt32NetworkOrder(TtlValue, s); _data.WriteTo(s, domainEntries); }
public void WriteTo(Stream s) { DnsDatagram.WriteUInt16NetworkOrder(_ID, s); s.WriteByte(Convert.ToByte((_QR << 7) | ((byte)_OPCODE << 3) | (_AA << 2) | (_TC << 1) | _RD)); s.WriteByte(Convert.ToByte((_RA << 7) | (_Z << 6) | (_AD << 5) | (_CD << 4) | (byte)_RCODE)); DnsDatagram.WriteUInt16NetworkOrder(_QDCOUNT, s); DnsDatagram.WriteUInt16NetworkOrder(_ANCOUNT, s); DnsDatagram.WriteUInt16NetworkOrder(_NSCOUNT, s); DnsDatagram.WriteUInt16NetworkOrder(_ARCOUNT, s); }
public void WriteTo(Stream s, List <DnsDomainOffset> domainEntries) { long originalPosition = s.Position; //write dummy RDLENGTH s.Write(new byte[] { 0, 0 }, 0, 2); //write RDATA WriteRecordData(s, domainEntries); long finalPosition = s.Position; //write actual RDLENGTH ushort length = Convert.ToUInt16(finalPosition - originalPosition - 2); s.Position = originalPosition; DnsDatagram.WriteUInt16NetworkOrder(length, s); s.Position = finalPosition; }
protected override void WriteRecordData(Stream s, List <DnsDomainOffset> domainEntries) { DnsDatagram.WriteUInt16NetworkOrder(_preference, s); DnsDatagram.SerializeDomainName(_exchange, s, domainEntries); }