tytd-server/packages/Makaretu.Dns.2.0.1/lib/net472/Makaretu.Dns.xml

5060 lines
207 KiB
XML
Executable File

<?xml version="1.0"?>
<doc>
<assembly>
<name>Makaretu.Dns</name>
</assembly>
<members>
<member name="T:Makaretu.Dns.AAAARecord">
<summary>
Contains the IPv6 address of the named resource.
</summary>
</member>
<member name="M:Makaretu.Dns.AAAARecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.AAAARecord"/> class.
</summary>
</member>
<member name="T:Makaretu.Dns.AddressRecord">
<summary>
Base class for an Internet address.
</summary>
</member>
<member name="M:Makaretu.Dns.AddressRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.AddressRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.AddressRecord.Address">
<summary>
The Internet address.
</summary>
<value>
Either IPv4 or IPv6.
</value>
</member>
<member name="M:Makaretu.Dns.AddressRecord.Create(Makaretu.Dns.DomainName,System.Net.IPAddress)">
<summary>
Creates an A or AAAA record based on the <see cref="T:System.Net.Sockets.AddressFamily"/>.
</summary>
<param name="name">
The name of the node that owns the address.
</param>
<param name="address">
An IPv4 or IPv6 address.
</param>
<returns>
An <see cref="T:Makaretu.Dns.ARecord"/> or <see cref="T:Makaretu.Dns.AAAARecord"/> tha describes
the <paramref name="name"/> and <paramref name="address"/>.
</returns>
</member>
<member name="M:Makaretu.Dns.AddressRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.AddressRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.AddressRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.AddressRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.AFSDBRecord">
<summary>
Andrew File System Database.
</summary>
<remarks>
Maps a domain name to the name of an AFS cell database server.
</remarks>
<seealso href="https://tools.ietf.org/html/rfc1183"/>
</member>
<member name="M:Makaretu.Dns.AFSDBRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.AFSDBRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.AFSDBRecord.Subtype">
<summary>
A 16 bit integer which specifies the type of AFS server.
</summary>
<value>
See <see href="https://tools.ietf.org/html/rfc1183#section-1"/>
</value>
</member>
<member name="P:Makaretu.Dns.AFSDBRecord.Target">
<summary>
A domain-name which specifies a host running an AFS server.
</summary>
<value>
The name of an AFS server.
</value>
</member>
<member name="M:Makaretu.Dns.AFSDBRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.AFSDBRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.AFSDBRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.AFSDBRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.ARecord">
<summary>
Contains the IPv4 address of the named resource.
</summary>
</member>
<member name="M:Makaretu.Dns.ARecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.ARecord"/> class.
</summary>
</member>
<member name="T:Makaretu.Dns.CNAMERecord">
<summary>
The canonical name for an alias.
</summary>
<remarks>
CNAME RRs cause no additional section processing, but name servers may
choose to restart the query at the canonical name in certain cases. See
the description of name server logic in [RFC - 1034] for details.
</remarks>
</member>
<member name="M:Makaretu.Dns.CNAMERecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.CNAMERecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.CNAMERecord.Target">
<summary>
A domain-name which specifies the canonical or primary
name for the owner. The owner name is an alias.
</summary>
</member>
<member name="M:Makaretu.Dns.CNAMERecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.CNAMERecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.CNAMERecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.CNAMERecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.DigestRegistry">
<summary>
Registry of implemented <see cref="T:Makaretu.Dns.DigestType"/>.
</summary>
<remarks>
IANA maintains a list of all known types at <see href="https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml#ds-rr-types-1"/>.
</remarks>
<see cref="T:Makaretu.Dns.DigestType"/>
<see cref="T:System.Security.Cryptography.HashAlgorithm"/>
</member>
<member name="F:Makaretu.Dns.DigestRegistry.Digests">
<summary>
Defined hashing algorithms.
</summary>
<remarks>
The key is the <see cref="T:Makaretu.Dns.DigestType"/>.
The value is a function that returns a new <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.DigestRegistry.Create(Makaretu.Dns.DigestType)">
<summary>
Gets the hash algorithm for the <see cref="T:Makaretu.Dns.DigestType"/>.
</summary>
<param name="digestType">
One of the <see cref="T:Makaretu.Dns.DigestType"/> values.
</param>
<returns>
A new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm"/> that implements
the <paramref name="digestType"/>.
</returns>
<exception cref="T:System.NotImplementedException">
When <paramref name="digestType"/> is not implemented.
</exception>
</member>
<member name="M:Makaretu.Dns.DigestRegistry.Create(Makaretu.Dns.SecurityAlgorithm)">
<summary>
Gets the hash algorithm for the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
</summary>
<param name="algorithm">
One of the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/> values.
</param>
<returns>
A new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm"/> that is used
for the <paramref name="algorithm"/>.
</returns>
<exception cref="T:System.NotImplementedException">
When the <paramref name="algorithm"/> or its <see cref="T:System.Security.Cryptography.HashAlgorithm"/>
is not implemented.
</exception>
</member>
<member name="T:Makaretu.Dns.DigestType">
<summary>
Identities the cryptographic digest algorithm used by the resource records.
</summary>
<remarks>
The values are maintained by IANA at <see href="https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml#ds-rr-types-1"/>.
<para>
Implemented digest algorithms are obtained from the <see cref="T:Makaretu.Dns.DigestRegistry"/>.
</para>
</remarks>
<seealso cref="T:Makaretu.Dns.ResourceRecord"/>
<seealso href="https://www.ietf.org/rfc/rfc4034.txt">RFC 4035</seealso>
</member>
<member name="F:Makaretu.Dns.DigestType.Sha1">
<summary>
SHA-1.
</summary>
</member>
<member name="F:Makaretu.Dns.DigestType.Sha256">
<summary>
SHA-256
</summary>
</member>
<member name="F:Makaretu.Dns.DigestType.GostR34_11_94">
<summary>
GOST R 34.11-94.
</summary>
</member>
<member name="F:Makaretu.Dns.DigestType.Sha384">
<summary>
SHA-384
</summary>
</member>
<member name="F:Makaretu.Dns.DigestType.Sha512">
<summary>
SHA-512 (not in IANA registry)
</summary>
</member>
<member name="T:Makaretu.Dns.DNAMERecord">
<summary>
Alias for a name and all its subnames.
</summary>
<remarks>
Alias for a name and all its subnames, unlike <see cref="T:Makaretu.Dns.CNAMERecord"/>, which is an
alias for only the exact name. Like a CNAME record, the DNS lookup will continue by
retrying the lookup with the new name.
</remarks>
</member>
<member name="M:Makaretu.Dns.DNAMERecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DNAMERecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.DNAMERecord.Target">
<summary>
A domain-name which specifies the canonical or primary
name for the owner. The owner name is an alias.
</summary>
</member>
<member name="M:Makaretu.Dns.DNAMERecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DNAMERecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DNAMERecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DNAMERecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.DnsClass">
<summary>
Identifies the network of the <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</summary>
<remarks>
The values are maintained by IANA at <see href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-2"/>.
</remarks>
</member>
<member name="F:Makaretu.Dns.DnsClass.IN">
<summary>
The Internet.
</summary>
</member>
<member name="F:Makaretu.Dns.DnsClass.CS">
<summary>
The CSNET class (Obsolete - used only for examples insome obsolete RFCs).
</summary>
</member>
<member name="F:Makaretu.Dns.DnsClass.CH">
<summary>
The CHAOS class.
</summary>
</member>
<member name="F:Makaretu.Dns.DnsClass.HS">
<summary>
Hesiod[Dyer 87].
</summary>
</member>
<member name="F:Makaretu.Dns.DnsClass.None">
<summary>
Used in UPDATE message to signify no class.
</summary>
</member>
<member name="F:Makaretu.Dns.DnsClass.ANY">
<summary>
Only used in QCLASS.
</summary>
<seealso cref="P:Makaretu.Dns.Question.Class"/>
</member>
<member name="T:Makaretu.Dns.DNSKEYFlags">
<summary>
The usage of a <see cref="T:Makaretu.Dns.DNSKEYRecord">key</see>.
</summary>
</member>
<member name="F:Makaretu.Dns.DNSKEYFlags.None">
<summary>
No specific usage.
</summary>
</member>
<member name="F:Makaretu.Dns.DNSKEYFlags.SecureEntryPoint">
<summary>
Used by a parent zone's <see cref="T:Makaretu.Dns.DSRecord"/>.
</summary>
</member>
<member name="F:Makaretu.Dns.DNSKEYFlags.ZoneKey">
<summary>
Used to sign the zone.
</summary>
<remarks>
When set, the <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> must be the
name of the zone.
</remarks>
</member>
<member name="T:Makaretu.Dns.DNSKEYRecord">
<summary>
Public key cryptography to sign and authenticate resource records.
</summary>
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> class.
</summary>
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.#ctor(System.Security.Cryptography.RSA,Makaretu.Dns.SecurityAlgorithm)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> class
from the specified RSA key.
</summary>
<param name="key">
A public or private RSA key.
</param>
<param name="algorithm">
The security algorithm to use. Only RSA types are allowed.
</param>
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.#ctor(System.Security.Cryptography.ECDsa)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> class
from the specified ECDSA key.
</summary>
<param name="key">
A public or private ECDSA key.
</param>
<exception cref="T:System.ArgumentException">
<paramref name="key"/> is not named nistP256 nor nist384.
</exception>
<exception cref="T:System.Security.Cryptography.CryptographicException">
<paramref name="key"/> is not valid.
</exception>
<remarks>
<note>
ECDSA key support is <b>NOT available</b> for NETSTANDARD14 nor NET45.
It is available for NETSTANDARD2, NET472 or greater.
</note>
</remarks>
</member>
<member name="P:Makaretu.Dns.DNSKEYRecord.Flags">
<summary>
Identifies the intended usage of the key.
</summary>
</member>
<member name="P:Makaretu.Dns.DNSKEYRecord.Protocol">
<summary>
Must be three.
</summary>
<value>
Defaults to 3.
</value>
</member>
<member name="P:Makaretu.Dns.DNSKEYRecord.Algorithm">
<summary>
Identifies the public key's cryptographic algorithm.
</summary>
<value>
Identifies the type of key (RSA, ECDSA, ...) and the
hashing algorithm.
</value>
<remarks>
Determines the format of the<see cref="P:Makaretu.Dns.DNSKEYRecord.PublicKey"/>.
</remarks>
</member>
<member name="P:Makaretu.Dns.DNSKEYRecord.PublicKey">
<summary>
The public key material.
</summary>
<value>
The format depends on the key <see cref="P:Makaretu.Dns.DNSKEYRecord.Algorithm"/>.
</value>
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.KeyTag">
<summary>
Calculates the key tag.
</summary>
<value>
A non-unique identifier for the public key.
</value>
<remarks>
<see href="https://tools.ietf.org/html/rfc4034#appendix-B"/> for the details.
</remarks>
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DNSKEYRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.DnsObject">
<summary>
Base class for all DNS objects.
</summary>
<remarks>
Provides helper methods for <see cref="T:Makaretu.Dns.IWireSerialiser">wire serialisation</see>,
cloning and caching.
</remarks>
</member>
<member name="P:Makaretu.Dns.DnsObject.CreationTime">
<summary>
When the object was created.
</summary>
<value>
Local time.
</value>
<remarks>
Cloning does not alter the value.
</remarks>
</member>
<member name="M:Makaretu.Dns.DnsObject.Length">
<summary>
Length in bytes of the object when serialised.
</summary>
<returns>
Numbers of bytes when serialised.
</returns>
</member>
<member name="M:Makaretu.Dns.DnsObject.Clone">
<summary>
Makes a deep copy of the object.
</summary>
<returns>
A deep copy of the dns object.
</returns>
<remarks>
Uses serialisation to make a copy.
</remarks>
</member>
<member name="M:Makaretu.Dns.DnsObject.Clone``1">
<summary>
Makes a deep copy of the object.
</summary>
<typeparam name="T">
Some type derived from <see cref="T:Makaretu.Dns.DnsObject"/>.
</typeparam>
<returns>
A deep copy of the dns object.
</returns>
<remarks>
Use serialisation to make a copy.
</remarks>
</member>
<member name="M:Makaretu.Dns.DnsObject.Read(System.Byte[])">
<summary>
Reads the DNS object from a byte array.
</summary>
<param name="buffer">
The source for the DNS object.
</param>
</member>
<member name="M:Makaretu.Dns.DnsObject.Read(System.Byte[],System.Int32,System.Int32)">
<summary>
Reads the DNS object from a byte array.
</summary>
<param name="buffer">
The source for the DNS object.
</param>
<param name="offset">
The offset into the <paramref name="buffer"/>.
</param>
<param name="count">
The number of bytes in the <paramref name="buffer"/>.
</param>
</member>
<member name="M:Makaretu.Dns.DnsObject.Read(System.IO.Stream)">
<summary>
Reads the DNS object from a stream.
</summary>
<param name="stream">
The source for the DNS object.
</param>
</member>
<member name="M:Makaretu.Dns.DnsObject.Read(Makaretu.Dns.WireReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DnsObject.ToByteArray">
<summary>
Writes the DNS object to a byte array.
</summary>
<returns>
A byte array containing the binary representaton of the DNS object.
</returns>
</member>
<member name="M:Makaretu.Dns.DnsObject.Write(System.IO.Stream)">
<summary>
Writes the DNS object to a stream.
</summary>
<param name="stream">
The destination for the DNS object.
</param>
</member>
<member name="M:Makaretu.Dns.DnsObject.Write(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.DnsType">
<summary>
A resource record or query type.
</summary>
<seealso cref="P:Makaretu.Dns.Question.Type"/>
<seealso cref="P:Makaretu.Dns.ResourceRecord.Type"/>
</member>
<member name="F:Makaretu.Dns.DnsType.A">
<summary>
A host address.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
<seealso cref="T:Makaretu.Dns.ARecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.NS">
<summary>
An authoritative name server.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
<seealso cref="T:Makaretu.Dns.NSRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.MD">
<summary>
A mail destination (OBSOLETE - use MX).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.MF">
<summary>
A mail forwarder (OBSOLETE - use MX).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.CNAME">
<summary>
The canonical name for an alias.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.1">RFC 1035</seealso>
<seealso cref="T:Makaretu.Dns.CNAMERecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.SOA">
<summary>
Marks the start of a zone of authority.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.13">RFC 1035</seealso>
<seealso cref="T:Makaretu.Dns.SOARecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.MB">
<summary>
A mailbox domain name (EXPERIMENTAL).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.3">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.MG">
<summary>
A mail group member (EXPERIMENTAL).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.6">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.MR">
<summary>
A mailbox rename domain name (EXPERIMENTAL).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.NULL">
<summary>
A Null resource record (EXPERIMENTAL).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
<seealso cref="T:Makaretu.Dns.NULLRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.WKS">
<summary>
A well known service description.
</summary>
<seealso href="https://tools.ietf.org/html/rfc3232">RFC 3232</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.PTR">
<summary>
A domain name pointer.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.12">RFC 1035</seealso>
<seealso cref="T:Makaretu.Dns.PTRRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.HINFO">
<summary>
Host information.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
<seealso href="https://tools.ietf.org/html/rfc1010">RFC 1010</seealso>
<seealso cref="T:Makaretu.Dns.HINFORecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.MINFO">
<summary>
Mailbox or mail list information.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.MX">
<summary>
Mail exchange.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.9">RFC 1035</seealso>
<seealso href="https://tools.ietf.org/html/rfc974">RFC 974</seealso>
<seealso cref="T:Makaretu.Dns.MXRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.TXT">
<summary>
Text resources.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035#section-3.3">RFC 1035</seealso>
<seealso href="https://tools.ietf.org/html/rfc1464">RFC 1464</seealso>
<seealso cref="T:Makaretu.Dns.TXTRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.RP">
<summary>
Responsible Person.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1183">RFC 1183</seealso>
<seealso cref="T:Makaretu.Dns.RPRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.AFSDB">
<summary>
AFS Data Base location.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1183#section-1">RFC 1183</seealso>
<seealso href="https://tools.ietf.org/html/rfc5864">RFC 5864</seealso>
<seealso cref="T:Makaretu.Dns.AFSDBRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.AAAA">
<summary>
An IPv6 host address.
</summary>
<seealso href="https://tools.ietf.org/html/rfc3596#section-2.2">RFC 3596</seealso>
<seealso cref="T:Makaretu.Dns.AAAARecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.SRV">
<summary>
A resource record which specifies the location of the server(s) for a specific protocol and domain.
</summary>
<seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
<seealso cref="T:Makaretu.Dns.SRVRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.DNAME">
<summary>
Maps an entire domain name.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6672">RFC 6672</seealso>
<see cref="T:Makaretu.Dns.DNAMERecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.OPT">
<summary>
Option record.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6891">RFC 6891</seealso>
<see cref="T:Makaretu.Dns.OPTRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.DS">
<summary>
Delegation Signer.
</summary>
<seealso href="https://tools.ietf.org/html/rfc4034#section-5"/>
<see cref="T:Makaretu.Dns.DSRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.RRSIG">
<summary>
Signature for a RRSET with a particular name, class, and type.
</summary>
<seealso href="https://tools.ietf.org/html/rfc4034#section-3"/>
<seealso cref="T:Makaretu.Dns.RRSIGRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.NSEC">
<summary>
Next secure owener.
</summary>
<seealso href="https://tools.ietf.org/html/rfc3845"/>
<seealso cref="T:Makaretu.Dns.NSECRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.DNSKEY">
<summary>
Public key cryptography to sign and authenticate resource records.
</summary>
<seealso href="https://tools.ietf.org/html/rfc4034#section-2.1"/>
<seealso cref="T:Makaretu.Dns.DNSKEYRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.NSEC3">
<summary>
Authenticated next secure owner.
</summary>
<seealso href="https://tools.ietf.org/html/rfc5155"/>
<seealso cref="T:Makaretu.Dns.NSEC3Record"/>
</member>
<member name="F:Makaretu.Dns.DnsType.NSEC3PARAM">
<summary>
Parameters needed by authoritative servers to calculate hashed owner names.
</summary>
<seealso href="https://tools.ietf.org/html/rfc5155#section-4"/>
<seealso cref="T:Makaretu.Dns.NSEC3PARAMRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.TKEY">
<summary>
Shared secret key.
</summary>
<seealso href="https://tools.ietf.org/html/rfc2930"/>
<seealso cref="T:Makaretu.Dns.TKEYRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.TSIG">
<summary>
Transactional Signature.
</summary>
<seealso href="https://tools.ietf.org/html/rfc2845"/>
<seealso cref="T:Makaretu.Dns.TSIGRecord"/>
</member>
<member name="F:Makaretu.Dns.DnsType.AXFR">
<summary>
A request for a transfer of an entire zone.
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.MAILB">
<summary>
A request for mailbox-related records (MB, MG or MR).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.MAILA">
<summary>
A request for mail agent RRs (Obsolete - see MX).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.ANY">
<summary>
A request for any record(s).
</summary>
<seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.URI">
<summary>
A Uniform Resource Identifier (URI) resource record.
</summary>
<seealso href="https://tools.ietf.org/html/rfc7553">RFC 7553</seealso>
</member>
<member name="F:Makaretu.Dns.DnsType.CAA">
<summary>
A certification authority authorization.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6844">RFC 6844</seealso>
</member>
<member name="T:Makaretu.Dns.DomainName">
<summary>
A domain name consists of one or more parts, <see cref="P:Makaretu.Dns.DomainName.Labels"/>, that are
conventionally delimited by dots, such as "example.org".
</summary>
<remarks>
Equality is based on the number of and the case-insenstive contents of <see cref="P:Makaretu.Dns.DomainName.Labels"/>.
</remarks>
</member>
<member name="F:Makaretu.Dns.DomainName.Root">
<summary>
The root name space.
</summary>
<value>
The empty string.
</value>
<remarks>
The DNS is a hierarchical naming system for computers, services, or any
resource participating in the Internet. The top of that hierarchy is
the root domain. The root domain does not have a formal name and its
label in the DNS hierarchy is an empty string.
</remarks>
</member>
<member name="P:Makaretu.Dns.DomainName.Labels">
<summary>
A sequence of labels that make up the domain name.
</summary>
<value>
A sequece of strings.
</value>
<remarks>
The last label is the TLD (top level domain).
</remarks>
</member>
<member name="M:Makaretu.Dns.DomainName.#ctor(System.String)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DomainName"/> class from
the specified name.
</summary>
<param name="name">
The dot separated labels; such as "example.org".
</param>
<remarks>
The name can contain backslash to escape a character.
See <see href="https://tools.ietf.org/html/rfc4343">RFC 4343</see>
for the character escaping rules.
<note>
To use us backslash in a domain name (highly unusaual), you must use a double backslash.
</note>
</remarks>
</member>
<member name="M:Makaretu.Dns.DomainName.#ctor(System.String[])">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DomainName"/> class from
the sequence of label.
</summary>
<param name="labels">
The <see cref="P:Makaretu.Dns.DomainName.Labels"/>.
</param>
<remarks>
The labels are not parsed; character escaping is not performed.
</remarks>
</member>
<member name="M:Makaretu.Dns.DomainName.Join(Makaretu.Dns.DomainName[])">
<summary>
Combine multiple domain names to form one.
</summary>
<param name="names">
The domain names to join.
</param>
<returns>
A new domain containing all the <paramref name="names"/>.
</returns>
</member>
<member name="M:Makaretu.Dns.DomainName.ToString">
<summary>
Returns the textual representation.
</summary>
<returns>
The concatenation of the <see cref="P:Makaretu.Dns.DomainName.Labels"/> separated by a dot.
</returns>
<remarks>
If a label contains a dot or backslash, then it is escaped with a backslash.
</remarks>
</member>
<member name="M:Makaretu.Dns.DomainName.ToCanonical">
<summary>
Gets the canonical form of the domain name.
</summary>
<returns>
A domain name in the canonical form.
</returns>
<remarks>
All uppercase US-ASCII letters in the <see cref="P:Makaretu.Dns.DomainName.Labels"/> are
replaced by the corresponding lowercase US-ASCII letters.
</remarks>
</member>
<member name="M:Makaretu.Dns.DomainName.BelongsTo(Makaretu.Dns.DomainName)">
<summary>
Determines if this domain name is a subdomain of or equals an another
domain name.
</summary>
<param name="domain">
Another domain.
</param>
<returns>
<b>true</b> if this domain name is a subdomain of <paramref name="domain"/>
or equals <paramref name="domain"/>.
</returns>
</member>
<member name="M:Makaretu.Dns.DomainName.IsSubdomainOf(Makaretu.Dns.DomainName)">
<summary>
Determines if this domain name is a subdomain of another
domain name.
</summary>
<param name="domain">
Another domain.
</param>
<returns>
<b>true</b> if this domain name is a subdomain of <paramref name="domain"/>.
</returns>
</member>
<member name="M:Makaretu.Dns.DomainName.Parent">
<summary>
Gets the parent's domain name.
</summary>
<returns>
The domain name of the parent or <b>null</b> if
there is no parent; e.g. this is the root.
</returns>
</member>
<member name="M:Makaretu.Dns.DomainName.GetHashCode">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DomainName.Equals(System.Object)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DomainName.Equals(Makaretu.Dns.DomainName)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DomainName.op_Equality(Makaretu.Dns.DomainName,Makaretu.Dns.DomainName)">
<summary>
Value equality.
</summary>
</member>
<member name="M:Makaretu.Dns.DomainName.op_Inequality(Makaretu.Dns.DomainName,Makaretu.Dns.DomainName)">
<summary>
Value inequality.
</summary>
</member>
<member name="M:Makaretu.Dns.DomainName.op_Implicit(System.String)~Makaretu.Dns.DomainName">
<summary>
Implicit casting of a <see cref="T:System.String"/> to a <see cref="T:Makaretu.Dns.DomainName"/>.
</summary>
<param name="s">
A possibly escaped domain name.
</param>
<returns>
A new <see cref="T:Makaretu.Dns.DomainName"/>
</returns>
<remarks>
Equivalent to <code>new DomainName(s)</code>
</remarks>
</member>
<member name="M:Makaretu.Dns.DomainName.LabelsEqual(System.String,System.String)">
<summary>
Determines if the two domain name labels are equal.
</summary>
<param name="a">A domain name label</param>
<param name="b">A domain name label</param>
<returns>
<b>true</b> if <paramref name="a"/> and <paramref name="b"/> are
considered equal.
</returns>
<remarks>
Uses a case-insenstive algorithm, where 'A-Z' are equivalent to 'a-z'.
</remarks>
</member>
<member name="T:Makaretu.Dns.DSRecord">
<summary>
Delegation Signer.
</summary>
<remarks>
Defined in <see href="https://tools.ietf.org/html/rfc4034#section-5">RFC 4034 section 5</see>.
</remarks>
</member>
<member name="M:Makaretu.Dns.DSRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DSRecord"/> class.
</summary>
</member>
<member name="M:Makaretu.Dns.DSRecord.#ctor(Makaretu.Dns.DNSKEYRecord,System.Boolean)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.DSRecord"/> class
from the specified <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
</summary>
<param name="key">
The dns key to use.
</param>
<param name="force">
If <b>true</b>, key usage checks are ignored.
</param>
<exception cref="T:System.ArgumentException">
Both <see cref="F:Makaretu.Dns.DNSKEYFlags.ZoneKey"/> and <see cref="F:Makaretu.Dns.DNSKEYFlags.SecureEntryPoint"/>
must be set.
</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
The <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> of the <paramref name="key"/> is missing.
</exception>
</member>
<member name="P:Makaretu.Dns.DSRecord.KeyTag">
<summary>
The tag of the referenced <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
</summary>
</member>
<member name="P:Makaretu.Dns.DSRecord.Algorithm">
<summary>
The <see cref="T:Makaretu.Dns.SecurityAlgorithm"/> of the referenced <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
</summary>
</member>
<member name="P:Makaretu.Dns.DSRecord.HashAlgorithm">
<summary>
The cryptographic hash algorithm used to create the
<see cref="P:Makaretu.Dns.DSRecord.Digest"/>.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.DigestType"/> value.
</value>
</member>
<member name="P:Makaretu.Dns.DSRecord.Digest">
<summary>
The digest of the referenced <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
</summary>
<remarks>
<c>digest = HashAlgorithm(DNSKEY owner name | DNSKEY RDATA)</c>
</remarks>
</member>
<member name="M:Makaretu.Dns.DSRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DSRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DSRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.DSRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.EdnsDAUOption">
<summary>
DNSSEC Algorithm Understood.
</summary>
<remarks>
<para>
Defined in <see href="https://tools.ietf.org/html/rfc6975">RFC 6975 -
Signaling Cryptographic Algorithm Understanding in DNS Security Extensions(DNSSEC)</see>
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsDAUOption.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsDAUOption"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.EdnsDAUOption.Algorithms">
<summary>
The understood algorithms.
</summary>
<value>
A list of implemented <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
</value>
</member>
<member name="M:Makaretu.Dns.EdnsDAUOption.Create">
<summary>
Create a new instance of the <see cref="T:Makaretu.Dns.EdnsDAUOption"/> class with
the known/implemented security algorithms.
</summary>
<remarks>
The <see cref="P:Makaretu.Dns.EdnsDAUOption.Algorithms"/> are obtained from the <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsDAUOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsDAUOption.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsDAUOption.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.EdnsDHUOption">
<summary>
DS Hash Understood.
</summary>
<remarks>
<para>
Defined in <see href="https://tools.ietf.org/html/rfc6975">RFC 6975 -
Signaling Cryptographic Algorithm Understanding in DNS Security Extensions(DNSSEC)</see>
</para>
</remarks>
<seealso cref="T:Makaretu.Dns.DSRecord"/>
</member>
<member name="M:Makaretu.Dns.EdnsDHUOption.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsDHUOption"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.EdnsDHUOption.Algorithms">
<summary>
The understood hashing algorithms.
</summary>
<value>
A list of implemented <see cref="T:Makaretu.Dns.DigestType"/>.
</value>
</member>
<member name="M:Makaretu.Dns.EdnsDHUOption.Create">
<summary>
Create a new instance of the <see cref="T:Makaretu.Dns.EdnsDHUOption"/> class with
the known/implemented hashing algorithms.
</summary>
<remarks>
The <see cref="P:Makaretu.Dns.EdnsDHUOption.Algorithms"/> are obtained from the <see cref="T:Makaretu.Dns.DigestRegistry"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsDHUOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsDHUOption.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsDHUOption.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.EdnsKeepaliveOption">
<summary>
TCP idle time.
</summary>
<remarks>
Signals a variable idle timeout. This
signalling encourages the use of long-lived TCP connections by
allowing the state associated with TCP transport to be managed
effectively with minimal impact on the DNS transaction time.
</remarks>
<seealso href="https://tools.ietf.org/html/rfc7828"/>
</member>
<member name="M:Makaretu.Dns.EdnsKeepaliveOption.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsKeepaliveOption"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.EdnsKeepaliveOption.Timeout">
<summary>
The idle timeout value for the TCP connection.
</summary>
<value>
The resolution is 100 milliseconds.
</value>
</member>
<member name="M:Makaretu.Dns.EdnsKeepaliveOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsKeepaliveOption.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsKeepaliveOption.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.EdnsN3UOption">
<summary>
NSEC3 Hash Understood.
</summary>
<remarks>
<para>
Defined in <see href="https://tools.ietf.org/html/rfc6975">RFC 6975 -
Signaling Cryptographic Algorithm Understanding in DNS Security Extensions(DNSSEC)</see>
</para>
</remarks>
<seealso cref="T:Makaretu.Dns.NSEC3Record"/>
</member>
<member name="M:Makaretu.Dns.EdnsN3UOption.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsN3UOption"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.EdnsN3UOption.Algorithms">
<summary>
The understood hashing algorithms.
</summary>
<value>
A list of implemented <see cref="T:Makaretu.Dns.DigestType"/>.
</value>
</member>
<member name="M:Makaretu.Dns.EdnsN3UOption.Create">
<summary>
Create a new instance of the <see cref="T:Makaretu.Dns.EdnsDHUOption"/> class with
the known/implemented hashing algorithms.
</summary>
<remarks>
The <see cref="P:Makaretu.Dns.EdnsN3UOption.Algorithms"/> are obtained from the <see cref="T:Makaretu.Dns.DigestRegistry"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsN3UOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsN3UOption.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsN3UOption.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.EdnsNSIDOption">
<summary>
Name server ID.
</summary>
<remarks>
The identity of the name server.
</remarks>
<seealso href="https://tools.ietf.org/html/rfc5001"/>
</member>
<member name="M:Makaretu.Dns.EdnsNSIDOption.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsNSIDOption"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.EdnsNSIDOption.Id">
<summary>
The ID of the name server.
</summary>
<value>
The bytes used to identify the name server.
</value>
</member>
<member name="M:Makaretu.Dns.EdnsNSIDOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsNSIDOption.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.EdnsOption">
<summary>
Contains some information on an Extended DNS option.
</summary>
<remarks>
EdnsOptions are found in the <see cref="T:Makaretu.Dns.OPTRecord"/>.
<para>
The <see cref="T:Makaretu.Dns.EdnsOptionRegistry"/> contains the metadata on known
EDNS options. When reading, if the registry does not contain
the record, then an <see cref="T:Makaretu.Dns.UnknownEdnsOption"/> is used.
</para>
</remarks>
<seealso cref="T:Makaretu.Dns.OPTRecord"/>
<seealso href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11">IANA - DNS EDNS0 Option Codes</seealso>.
</member>
<member name="P:Makaretu.Dns.EdnsOption.Type">
<summary>
The option type.
</summary>
<value>
A code to specify the type of EDNS option.
</value>
<remarks>
Codes are specified in <see href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11">IANA - DNS EDNS0 Option Codes</see>.
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<summary>
Read the data that is specific to the option <see cref="P:Makaretu.Dns.EdnsOption.Type"/>.
</summary>
<param name="reader">
The source of the option's data.
</param>
<param name="length">
The length, in bytes, of the data.
</param>
<remarks>
Derived classes must implement this method.
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsOption.WriteData(Makaretu.Dns.WireWriter)">
<summary>
Write the data that is specific to the resource record <see cref="P:Makaretu.Dns.EdnsOption.Type"/>.
</summary>
<param name="writer">
The destination for the option's data.
</param>
<remarks>
Derived classes must implement this method.
</remarks>
</member>
<member name="T:Makaretu.Dns.EdnsOptionRegistry">
<summary>
Metadata on EDNS options.
</summary>
<see cref="T:Makaretu.Dns.EdnsOption"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionRegistry.Options">
<summary>
All the EDNS options.
</summary>
<remarks>
The key is the <see cref="T:Makaretu.Dns.EdnsOptionType"/>.
The value is a function that returns a new <see cref="T:Makaretu.Dns.EdnsOption"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsOptionRegistry.Register``1">
<summary>
Register a new EDNS option.
</summary>
<typeparam name="T">
A type that is derived from <see cref="T:Makaretu.Dns.EdnsOption"/>.
</typeparam>
</member>
<member name="T:Makaretu.Dns.EdnsPaddingOption">
<summary>
Padding for a <see cref="T:Makaretu.Dns.Message"/>.
</summary>
<remarks>
Padding is used to frustrate size-based correlation of the encrypted message.
<para>
Defined in <see href="https://tools.ietf.org/html/rfc7830">RFC 7830 - The EDNS(0) Padding Option</see>
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.EdnsPaddingOption.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsPaddingOption"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.EdnsPaddingOption.Padding">
<summary>
The padding bytes.
</summary>
<value>
The bytes used for padding. Normally all bytes are zero.
</value>
</member>
<member name="M:Makaretu.Dns.EdnsPaddingOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsPaddingOption.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.EdnsPaddingOption.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.EdnsOptionType">
<summary>
EDSN option codes.
</summary>
<remarks>
Codes are specified in <see href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11">IANA - DNS EDNS0 Option Codes</see>.
</remarks>
<seealso cref="P:Makaretu.Dns.EdnsOption.Type"/>
<seealso cref="T:Makaretu.Dns.OPTRecord"/>
<seealso cref="T:Makaretu.Dns.EdnsOptionRegistry"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.NSID">
<summary>
DNS Name Server Identifier (NSID) Option.
</summary>
<seealso cref="T:Makaretu.Dns.EdnsNSIDOption"/>
<seealso href="https://tools.ietf.org/html/rfc5001"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.DAU">
<summary>
DNSSEC Algorithm Understood.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6975"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.DHU">
<summary>
DS Hash Understood.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6975"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.N3U">
<summary>
NSEC3 Hash Understood.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6975"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.ClientSubnet">
<summary>
Client Subnet in DNS Queries.
</summary>
<seealso href="https://tools.ietf.org/html/rfc7871"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.Expire">
<summary>
Extension Mechanisms for DNS (EDNS) EXPIRE Option.
</summary>
<seealso href="https://tools.ietf.org/html/rfc7314"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.Cookie">
<summary>
Domain Name System (DNS) Cookies.
</summary>
<seealso href="https://tools.ietf.org/html/rfc7873"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.Keepalive">
<summary>
The edns-tcp-keepalive EDNS0 Option.
</summary>
<seealso cref="T:Makaretu.Dns.EdnsKeepaliveOption"/>
<seealso href="https://tools.ietf.org/html/rfc7828"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.Padding">
<summary>
The EDNS(0) Padding Option.
</summary>
<seealso cref="T:Makaretu.Dns.EdnsPaddingOption"/>
<seealso href="https://tools.ietf.org/html/rfc7830"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.Chain">
<summary>
CHAIN Query Requests in DNS.
</summary>
<seealso href="https://tools.ietf.org/html/rfc7901"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.KeyTag">
<summary>
Signaling Trust Anchor Knowledge in DNSSEC.
</summary>
<seealso href="https://tools.ietf.org/html/rfc8145"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.ExperimentalMin">
<summary>
Minimum value for local or experiment use.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6891"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.ExperimentalMax">
<summary>
Maximum value for local or experiment use.s
</summary>
<seealso href="https://tools.ietf.org/html/rfc6891"/>
</member>
<member name="F:Makaretu.Dns.EdnsOptionType.FutureExpansion">
<summary>
Reserved for future expansion.
</summary>
<seealso href="https://tools.ietf.org/html/rfc6891"/>
</member>
<member name="T:Makaretu.Dns.HINFORecord">
<summary>
Host information.
</summary>
<remarks>
Standard values for CPU and OS can be found in [RFC-1010].
HINFO records are used to acquire general information about a host. The
main use is for protocols such as FTP that can use special procedures
when talking between machines or operating systems of the same type.
</remarks>
</member>
<member name="M:Makaretu.Dns.HINFORecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.HINFORecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.HINFORecord.Cpu">
<summary>
CPU type.
</summary>
</member>
<member name="P:Makaretu.Dns.HINFORecord.OS">
<summary>
Operating system type.
</summary>
</member>
<member name="M:Makaretu.Dns.HINFORecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.HINFORecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.HINFORecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.HINFORecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.IPAddressExtensions">
<summary>
Extension methods for <see cref="T:System.Net.IPAddress"/>.
</summary>
<remarks>
Original code copied from <see href="https://github.com/MichaCo/DnsClient.NET/blob/dev/src/DnsClient/IpAddressExtensions.cs"/>
</remarks>
</member>
<member name="M:Makaretu.Dns.IPAddressExtensions.GetArpaName(System.Net.IPAddress)">
<summary>
Translates a IPv4 or IPv6 address into an arpa address.
Used for reverse DNS lookup to get the domain name of the given address.
</summary>
<param name="ip">The address to translate.</param>
<returns>The arpa representation of the address.</returns>
<seealso href="https://en.wikipedia.org/wiki/.arpa"/>
</member>
<member name="T:Makaretu.Dns.IPresentationSerialiser">
<summary>
Presentation format serialisation of a resource record.
</summary>
<remarks>
The text representation of a <see cref="T:Makaretu.Dns.ResourceRecord"/>.
It is also referred to as the "master file format".
See <see href="https://tools.ietf.org/html/rfc1035">RFC 1035 - 5 Master File</see>
and <see href="https://tools.ietf.org/html/rfc3597">RFC 3597 - Handling of Unknown DNS Resource Record (RR) Types</see>
for more details.
<para>
The <see cref="T:Makaretu.Dns.ResourceRecord"/> adds helper methods to
deal with a <see cref="T:System.String"/>.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.IPresentationSerialiser.Read(Makaretu.Dns.PresentationReader)">
<summary>
Reads the text representation of a resource record.
</summary>
<param name="reader">
The source of the <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</param>
<returns>
The final resource record.
</returns>
<remarks>
Reading a <see cref="T:Makaretu.Dns.ResourceRecord"/> will return a new instance that
is type specific
</remarks>
</member>
<member name="M:Makaretu.Dns.IPresentationSerialiser.Write(Makaretu.Dns.PresentationWriter)">
<summary>
Writes the text representation of a resource record.
</summary>
<param name="writer">
The destination of the <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</param>
</member>
<member name="T:Makaretu.Dns.IResolver">
<summary>
Answers a question.
</summary>
</member>
<member name="M:Makaretu.Dns.IResolver.ResolveAsync(Makaretu.Dns.Message,System.Threading.CancellationToken)">
<summary>
Get an answer to a question.
</summary>
<param name="request">
A <see cref="T:Makaretu.Dns.Message"/> containing a <see cref="T:Makaretu.Dns.Question"/> that
needs to be answered.
</param>
<param name="cancel">
Is used to stop the task. When cancelled, the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> is raised.
</param>
<returns>
A task that represents the asynchronous operation. The task's value is
the <see cref="T:Makaretu.Dns.Message"/> response to the <paramref name="request"/>.
</returns>
</member>
<member name="T:Makaretu.Dns.IWireSerialiser">
<summary>
Wire format serialisation of a DNS object.
</summary>
</member>
<member name="M:Makaretu.Dns.IWireSerialiser.Read(Makaretu.Dns.WireReader)">
<summary>
Reads the DNS object that is encoded in the wire format.
</summary>
<param name="reader">
The source of the DNS object.
</param>
<returns>
The final DNS object.
</returns>
<remarks>
Reading a <see cref="T:Makaretu.Dns.ResourceRecord"/> will return a new instance that
is type specific unless the <see cref="M:Makaretu.Dns.ResourceRecord.GetDataLength">RDLENGTH</see>
is zero.
</remarks>
</member>
<member name="M:Makaretu.Dns.IWireSerialiser.Write(Makaretu.Dns.WireWriter)">
<summary>
Writes the DNS object encoded in the wire format.
</summary>
<param name="writer">
The destination of the DNS object.
</param>
</member>
<member name="T:Makaretu.Dns.KeyExchangeMode">
<summary>
Identifies a key exchange algorithm.
</summary>
</member>
<member name="F:Makaretu.Dns.KeyExchangeMode.ServerAssignment">
<summary>
Server assignment.
</summary>
</member>
<member name="F:Makaretu.Dns.KeyExchangeMode.DiffieHellman">
<summary>
Diffie-Hellman exchange (DH).
</summary>
</member>
<member name="F:Makaretu.Dns.KeyExchangeMode.GssApi">
<summary>
GSS-API negotiation.
</summary>
</member>
<member name="F:Makaretu.Dns.KeyExchangeMode.ResolverAssignment">
<summary>
Resolver assignment.
</summary>
</member>
<member name="F:Makaretu.Dns.KeyExchangeMode.KeyDeletion">
<summary>
Key deletion.
</summary>
</member>
<member name="T:Makaretu.Dns.Message">
<summary>
All communications inside of the domain protocol are carried in a single
format called a message.
</summary>
</member>
<member name="F:Makaretu.Dns.Message.opcode4">
<summary>
The least significant 4 bits of the opcode.
</summary>
</member>
<member name="F:Makaretu.Dns.Message.MaxLength">
<summary>
Maximum bytes of a message.
</summary>
<value>
9000 bytes.
</value>
<remarks>
In reality the max length is dictated by the network MTU. For legacy IPv4 systems,
512 bytes should be used. For DNSSEC, at least 4096 bytes are needed.
<para>
9000 bytes (less IP and UPD header lengths) is specified by Multicast DNS.
</para>
</remarks>
</member>
<member name="F:Makaretu.Dns.Message.MinLength">
<summary>
Minimum bytes of a messages
</summary>
<value>
12 bytes.
</value>
</member>
<member name="P:Makaretu.Dns.Message.Id">
<summary>
A 16 bit identifier assigned by the program that
generates any kind of query. This identifier is copied
the corresponding reply and can be used by the requester
to match up replies to outstanding queries.
</summary>
<value>
A unique identifier.
</value>
</member>
<member name="P:Makaretu.Dns.Message.QR">
<summary>
A one bit field that specifies whether this message is a query(0), or a response(1).
</summary>
<value>
<b>false</b> for a query; otherwise, <b>true</b> for a response.
</value>
</member>
<member name="P:Makaretu.Dns.Message.IsQuery">
<summary>
Determines if the message is query.
</summary>
<value>
<b>true</b> for a query; otherwise, <b>false</b> for a response.
</value>
</member>
<member name="P:Makaretu.Dns.Message.IsResponse">
<summary>
Determines if the message is a response to a query.
</summary>
<value>
<b>false</b> for a query; otherwise, <b>true</b> for a response.
</value>
</member>
<member name="P:Makaretu.Dns.Message.Opcode">
<summary>
The requested operation.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.MessageOperation"/> values. Both standard
and extended values are supported.
</value>
<remarks>
This value is set by the originator of a query
and copied into the response.
<para>
Extended opcodes (values requiring more than 4 bits) are split between
the message header and the <see cref="T:Makaretu.Dns.OPTRecord"/> in the
<see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> section. When setting an extended opcode,
the <see cref="T:Makaretu.Dns.OPTRecord"/> will be created if it does not already
exist.
</para>
</remarks>
<seealso cref="M:Makaretu.Dns.Message.CreateResponse"/>
</member>
<member name="P:Makaretu.Dns.Message.AA">
<summary>
Authoritative Answer - this bit is valid in responses,
and specifies that the responding name server is an
authority for the domain name in question section.
Note that the contents of the answer section may have
multiple owner names because of aliases.The AA bit
corresponds to the name which matches the query name, or
the first owner name in the answer section.
</summary>
<value>
<b>true</b> for an authoritative answer; otherwise, <b>false</b>.
</value>
</member>
<member name="P:Makaretu.Dns.Message.TC">
<summary>
TrunCation - specifies that this message was truncated
due to length greater than that permitted on the
transmission channel.
</summary>
<value>
<b>true</b> for a truncated message; otherwise, <b>false</b>.
</value>
<seealso cref="M:Makaretu.Dns.Message.Truncate(System.Int32)"/>
</member>
<member name="P:Makaretu.Dns.Message.RD">
<summary>
Recursion Desired - this bit may be set in a query and
is copied into the response. If RD is set, it directs
the name server to pursue the query recursively.
Recursive query support is optional.
</summary>
<value>
<b>true</b> if recursion is desired; otherwise, <b>false</b>.
</value>
</member>
<member name="P:Makaretu.Dns.Message.RA">
<summary>
Recursion Available - this be is set or cleared in a
response, and denotes whether recursive query support is
available in the name server.
</summary>
<value>
<b>true</b> if recursion is available; otherwise, <b>false</b>.
</value>
</member>
<member name="P:Makaretu.Dns.Message.Z">
<summary>
Reserved for future use.
</summary>
<value>
Must be zero in all queries and responses.
</value>
</member>
<member name="P:Makaretu.Dns.Message.AD">
<summary>
Authentic data.
</summary>
<value>
<b>true</b> if the response data is authentic; otherwise, <b>false</b>.
</value>
<remarks>
Only used in a response and indicates that
all the data included in the <see cref="P:Makaretu.Dns.Message.Answers"/> and
<see cref="P:Makaretu.Dns.Message.AuthorityRecords"/> sections are authenticated by the
server according to its DNSSEC policies.
</remarks>
</member>
<member name="P:Makaretu.Dns.Message.CD">
<summary>
Checking disabled.
</summary>
<value>
<b>true</b> if the query does not require
<see cref="P:Makaretu.Dns.Message.AD">authenticated data</see>; otherwise, <b>false</b>.
</value>
<remarks>
Only used in a query and indicates that pending (non-authenticated)
data is acceptable to the resolver sending the query.
</remarks>
</member>
<member name="P:Makaretu.Dns.Message.DO">
<summary>
Indicates that DNS Security Extensions (DNSSEC) are supported.
</summary>
<value>
<b>true</b> if DNSSEC is supported; otherwise, <b>false</b>.
</value>
<remarks>
The <b>DO</b> bit is actually in the <see cref="T:Makaretu.Dns.OPTRecord"/>, when setting
the record is added to <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> if not already present.
</remarks>
<seealso cref="M:Makaretu.Dns.Message.UseDnsSecurity"/>
<seealso href="https://tools.ietf.org/html/rfc3225"/>
</member>
<member name="P:Makaretu.Dns.Message.Status">
<summary>
Response code - this 4 bit field is set as part of responses.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.MessageStatus"/> values.
</value>
</member>
<member name="P:Makaretu.Dns.Message.Questions">
<summary>
The list of question.
</summary>
<value>
A list of questions.
</value>
</member>
<member name="P:Makaretu.Dns.Message.Answers">
<summary>
The list of answers.
</summary>
<value>
A list of answers.
</value>
</member>
<member name="P:Makaretu.Dns.Message.AuthorityRecords">
<summary>
The list of authority records.
</summary>
<value>
A list of authority resource records.
</value>
</member>
<member name="P:Makaretu.Dns.Message.AdditionalRecords">
<summary>
The list of additional records.
</summary>
<value>
A list of additional resource records.
</value>
</member>
<member name="M:Makaretu.Dns.Message.CreateResponse">
<summary>
Create a response for the query message.
</summary>
<returns>
A new response for the query message.
</returns>
</member>
<member name="M:Makaretu.Dns.Message.Truncate(System.Int32)">
<summary>
Make the message not exceed the specified length.
</summary>
<param name="length">
The maximum number bytes for the message.
</param>
<remarks>
If the message does not fit into <paramref name="length"/> bytes, then <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/>
are removed and then <see cref="P:Makaretu.Dns.Message.AuthorityRecords"/> are removed.
<para>
If it is still too big, then the <see cref="P:Makaretu.Dns.Message.TC"/> bit is set.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.Message.UseDnsSecurity">
<summary>
Enables DNS Security Extensions (DNSSEC) for the message.
</summary>
<returns>
The <see cref="T:Makaretu.Dns.Message"/> for a fluent design.
</returns>
<remarks>
Sets <see cref="P:Makaretu.Dns.OPTRecord.DO"/> to <b>true</b>. Adds an <see cref="T:Makaretu.Dns.OPTRecord"/> to
<see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> if not already present.
</remarks>
<seealso cref="P:Makaretu.Dns.Message.DO"/>
</member>
<member name="M:Makaretu.Dns.Message.Read(Makaretu.Dns.WireReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Message.Write(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Message.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.MessageOperation">
<summary>
The requested operation of a <see cref="T:Makaretu.Dns.Message"/>.
</summary>
<remarks>
Defines the standard and extended (EDNS(0)) operations. Standard
values are between 0 and 15 (0xF). Extended values are between 16 and
4095 (0xFFF).
</remarks>
<seealso cref="P:Makaretu.Dns.Message.Opcode"/>
</member>
<member name="F:Makaretu.Dns.MessageOperation.Query">
<summary>
Standard query.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageOperation.InverseQuery">
<summary>
Inverse query (obsolete), see <see href="https://tools.ietf.org/html/rfc3425"/>.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageOperation.Status">
<summary>
A server status request.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageOperation.Notify">
<summary>
Zone change, see <see href="https://tools.ietf.org/html/rfc1996"/>.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageOperation.Update">
<summary>
Update message, see <see href="https://tools.ietf.org/html/rfc2136"/>.
</summary>
</member>
<member name="T:Makaretu.Dns.MessageStatus">
<summary>
Response codes.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.NoError">
<summary>
No error condition
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.FormatError">
<summary>
The name server was unable to interpret the query.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.ServerFailure">
<summary>
The name server was unable to process this query due to a
problem with the name server.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.NameError">
<summary>
Meaningful only for responses from an authoritative name
server, this code signifies that the domain name
referenced in the query does not exist.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.NotImplemented">
<summary>
The name server does not support the requested kind of query.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.Refused">
<summary>
The name server refuses to perform the specified operation for
policy reasons.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.YXDomain">
<summary>
Some name that ought not to exist, does exist.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.YXRRSet">
<summary>
Some RRset that ought not to exist, does exist.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.NXRRSet">
<summary>
Some RRset that ought not to exist, does exist.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.NotAuthoritative">
<summary>
The server is not authoritative for the zone named in the Zone Section.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.NotZone">
<summary>
A name used in the Prerequisite or Update Section is not within the
zone denoted by the Zone Section.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.BadVersion">
<summary>
Invalid version.
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.BadSignature">
<summary>
Invalid signature (TSIG).
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.BadKey">
<summary>
Invalid key (TSIG).
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.BadTime">
<summary>
Invalid date/time (TSIG).
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.BADMODE">
<summary>
Bad TKEY mode (TKEY).
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.BADNAME">
<summary>
Duplicate key name (TKEY).
</summary>
</member>
<member name="F:Makaretu.Dns.MessageStatus.BADALG">
<summary>
Algorithm not supported (TKEY).
</summary>
</member>
<member name="T:Makaretu.Dns.MXRecord">
<summary>
Mail exchange.
</summary>
<remarks>
MX records cause type A additional section processing for the host
specified by EXCHANGE.The use of MX RRs is explained in detail in
[RFC-974].
</remarks>
</member>
<member name="M:Makaretu.Dns.MXRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.MXRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.MXRecord.Preference">
<summary>
The preference given to this RR among others at the same owner.
</summary>
<value>
Lower values are preferred.
</value>
</member>
<member name="P:Makaretu.Dns.MXRecord.Exchange">
<summary>
A domain-name which specifies a host willing to act as
a mail exchange for the owner name.
</summary>
<value>
The name of an mail exchange.
</value>
</member>
<member name="M:Makaretu.Dns.MXRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.MXRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.MXRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.MXRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.NSEC3Flags">
<summary>
The processing options of a <see cref="T:Makaretu.Dns.NSEC3Record"/>.
</summary>
<remarks>
Defined by <see href="https://tools.ietf.org/html/rfc5155#section-3.1.2">RFC 5155 - DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</see>.
</remarks>
</member>
<member name="F:Makaretu.Dns.NSEC3Flags.OptOut">
<summary>
Indicates uncovered unsigned delegations.
</summary>
</member>
<member name="T:Makaretu.Dns.NSEC3PARAMRecord">
<summary>
Parameters needed by authoritative servers to calculate hashed owner names.
</summary>
<remarks>
Defined by <see href="https://tools.ietf.org/html/rfc5155#section-4">RFC 5155 - DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</see>.
</remarks>
</member>
<member name="M:Makaretu.Dns.NSEC3PARAMRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.NSEC3PARAMRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.NSEC3PARAMRecord.HashAlgorithm">
<summary>
The cryptographic hash algorithm used to create the hashed owner name.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.DigestType"/> value.
</value>
</member>
<member name="P:Makaretu.Dns.NSEC3PARAMRecord.Flags">
<summary>
Not used, must be zero.
</summary>
</member>
<member name="P:Makaretu.Dns.NSEC3PARAMRecord.Iterations">
<summary>
Number of times to perform the <see cref="P:Makaretu.Dns.NSEC3PARAMRecord.HashAlgorithm"/>.
</summary>
</member>
<member name="P:Makaretu.Dns.NSEC3PARAMRecord.Salt">
<summary>
Appended to the original owner name before hashing.
</summary>
<remarks>
Used to defend against pre-calculated dictionary attacks.
</remarks>
</member>
<member name="M:Makaretu.Dns.NSEC3PARAMRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSEC3PARAMRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSEC3PARAMRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSEC3PARAMRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.NSEC3Record">
<summary>
Authenticated denial of existence for DNS Resource Record Sets.
</summary>
<remarks>
Defined by <see href="https://tools.ietf.org/html/rfc5155#section-3">RFC 5155 - DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</see>.
</remarks>
</member>
<member name="M:Makaretu.Dns.NSEC3Record.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.NSEC3Record"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.NSEC3Record.HashAlgorithm">
<summary>
The cryptographic hash algorithm used to create the <see cref="P:Makaretu.Dns.NSEC3Record.NextHashedOwnerName"/>.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.DigestType"/> value.
</value>
</member>
<member name="P:Makaretu.Dns.NSEC3Record.Flags">
<summary>
Indicates different processing.
</summary>
</member>
<member name="P:Makaretu.Dns.NSEC3Record.Iterations">
<summary>
Number of times to perform the <see cref="P:Makaretu.Dns.NSEC3Record.HashAlgorithm"/>.
</summary>
</member>
<member name="P:Makaretu.Dns.NSEC3Record.Salt">
<summary>
Appended to the original owner name before hashing.
</summary>
<remarks>
Used to defend against pre-calculated dictionary attacks.
</remarks>
</member>
<member name="P:Makaretu.Dns.NSEC3Record.NextHashedOwnerName">
<summary>
The next hashed owner name that has authoritative data.
</summary>
</member>
<member name="P:Makaretu.Dns.NSEC3Record.Types">
<summary>
The sequence of RR types present at the NSEC3 RR's owner name.
</summary>
<value>
Defaults to the empty list.
</value>
</member>
<member name="M:Makaretu.Dns.NSEC3Record.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSEC3Record.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSEC3Record.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSEC3Record.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.NSECRecord">
<summary>
Contains the the next owner name and the set of RR
types present at the NSEC RR's owner name [RFC3845].
</summary>
</member>
<member name="M:Makaretu.Dns.NSECRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.NSECRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.NSECRecord.NextOwnerName">
<summary>
The next owner name that has authoritative data or contains a
delegation point NS RRset
</summary>
<remarks>
Defaults to the <see cref="F:Makaretu.Dns.DomainName.Root"/>.
</remarks>
</member>
<member name="P:Makaretu.Dns.NSECRecord.Types">
<summary>
The sequence of RR types present at the NSEC RR's owner name.
</summary>
<value>
Defaults to the empty list.
</value>
</member>
<member name="M:Makaretu.Dns.NSECRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSECRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSECRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSECRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.NSRecord">
<summary>
An authoritative name server.
</summary>
<remarks>
NS records cause both the usual additional section processing to locate
a type A record, and, when used in a referral, a special search of the
zone in which they reside for glue information.
The NS RR states that the named host should be expected to have a zone
starting at owner name of the specified class. Note that the class may
not indicate the protocol family which should be used to communicate
with the host, although it is typically a strong hint.For example,
hosts which are name servers for either Internet (IN) or Hesiod (HS)
class information are normally queried using IN class protocols.
</remarks>
</member>
<member name="M:Makaretu.Dns.NSRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.NSRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.NSRecord.Authority">
<summary>
A domain-name which specifies a host which should be
authoritative for the specified class and domain.
</summary>
</member>
<member name="M:Makaretu.Dns.NSRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NSRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.NULLRecord">
<summary>
A null RR (EXPERIMENTAL).
</summary>
<remarks>
NULL records cause no additional section processing. NULL RRs are not
allowed in master files. NULLs are used as placeholders in some
experimental extensions of the DNS.
</remarks>
</member>
<member name="M:Makaretu.Dns.NULLRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.NULLRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.NULLRecord.Data">
<summary>
Specfic data for the resource.
</summary>
</member>
<member name="M:Makaretu.Dns.NULLRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NULLRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.NULLRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.OPTRecord">
<summary>
An extension mechanism for DNS (EDNS(0)).
</summary>
<remarks>
An OPT record does not carry any DNS data. It is used only to
contain control information pertaining to the question-and-answer
sequence of a specific transaction. OPT RRs MUST NOT be cached,
forwarded, or stored in or loaded from master files.
<para>
The <b>OPTRecord</b> can be present in the <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/>
section.
</para>
<note>
The <see cref="P:Makaretu.Dns.ResourceRecord.Class"/> property is repurposed to specify
the requestor's payload size.
</note>
<note>
The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
the <see cref="P:Makaretu.Dns.OPTRecord.Opcode8"/>, <see cref="P:Makaretu.Dns.OPTRecord.Version"/> and <see cref="P:Makaretu.Dns.OPTRecord.DO"/> properties.
</note>
</remarks>
<seealso href="https://tools.ietf.org/html/rfc6891"/>
</member>
<member name="M:Makaretu.Dns.OPTRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.OPTRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.OPTRecord.RequestorPayloadSize">
<summary>
The maximimum packet size that can be received by the requestor.
</summary>
<value>
Specified in number of bytes. Defaults to 1280, which is reasonable over Ethernet.
</value>
<remarks>
The <see cref="P:Makaretu.Dns.ResourceRecord.Class"/> property is repurposed to specify
the requestor's payload size.
</remarks>
<seealso href="https://tools.ietf.org/html/rfc6891#section-6.2.3"/>
</member>
<member name="P:Makaretu.Dns.OPTRecord.Opcode8">
<summary>
The most significant 8 bits of the opcode.
</summary>
<value>
Defaults to zero.
</value>
<remarks>
The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
the opcode's most significant bits.
</remarks>
<seealso cref="P:Makaretu.Dns.Message.Opcode"/>
</member>
<member name="P:Makaretu.Dns.OPTRecord.Version">
<summary>
The EDNS version.
</summary>
<value>
Defaults to zero.
</value>
<remarks>
The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
the version.
</remarks>
</member>
<member name="P:Makaretu.Dns.OPTRecord.DO">
<summary>
The DNSSEC OK bit as defined by RFC3225.
</summary>
<value>
Defaults to <b>false</b>.
</value>
<remarks>
The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
the version.
</remarks>
<seealso href="https://tools.ietf.org/html/rfc3225"/>
</member>
<member name="P:Makaretu.Dns.OPTRecord.Options">
<summary>
The extended DNS options.
</summary>
<value>
The EDNS option sequence.
</value>
</member>
<member name="M:Makaretu.Dns.OPTRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.OPTRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.OPTRecord.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.PresentationReader">
<summary>
Methods to read DNS data items encoded in the presentation (text) format.
</summary>
</member>
<member name="F:Makaretu.Dns.PresentationReader.tokenStartsNewLine">
<summary>
Indicates that the token is at the begining of the line without
any leading whitespace.
</summary>
</member>
<member name="F:Makaretu.Dns.PresentationReader.Position">
<summary>
The reader relative position within the stream.
</summary>
</member>
<member name="M:Makaretu.Dns.PresentationReader.#ctor(System.IO.TextReader)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.PresentationReader"/> using the
specified <see cref="T:System.IO.TextReader"/>.
</summary>
<param name="text">
The source for data items.
</param>
</member>
<member name="P:Makaretu.Dns.PresentationReader.Origin">
<summary>
The origin domain name, sometimes called the zone name.
</summary>
<value>
Defaults to "".
</value>
<remarks>
<b>Origin</b> is used when the domain name "@" is used
for a domain name.
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadByte">
<summary>
Read a byte.
</summary>
<returns>
The number as a byte.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadUInt16">
<summary>
Read an unsigned short.
</summary>
<returns>
The number as an unsigned short.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadUInt32">
<summary>
Read an unsigned int.
</summary>
<returns>
The number as an unsignd int.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadDomainName">
<summary>
Read a domain name.
</summary>
<returns>
The domain name as a string.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadString">
<summary>
Read a string.
</summary>
<returns>
The string.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadBase64String">
<summary>
Read bytes encoded in base-64.
</summary>
<returns>
The bytes.
</returns>
<remarks>
This must be the last field in the RDATA because the string
can contain embedded spaces.
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadTimeSpan16">
<summary>
Read a time span (interval) in 16-bit seconds.
</summary>
<returns>
A <see cref="T:System.TimeSpan"/> with second resolution.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadTimeSpan32">
<summary>
Read a time span (interval) in 32-bit seconds.
</summary>
<returns>
A <see cref="T:System.TimeSpan"/> with second resolution.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadIPAddress(System.Int32)">
<summary>
Read an Internet address.
</summary>
<param name="length">
Ignored.
</param>
<returns>
An <see cref="T:System.Net.IPAddress"/>.
</returns>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadDnsType">
<summary>
Read a DNS Type.
</summary>
<remarks>
Either the name of a <see cref="T:Makaretu.Dns.DnsType"/> or
the string "TYPEx".
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadDateTime">
<summary>
Read a date/time.
</summary>
<returns>
The <see cref="T:System.DateTime"/>.
</returns>
<remarks>
Allows a <see cref="T:System.DateTime"/> in the form "yyyyMMddHHmmss" or
the number of seconds since the unix epoch (00:00:00 on 1 January 1970 UTC).
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadResourceData">
<summary>
Read hex encoded RDATA.
</summary>
<returns>
A byte array containing the RDATA.
</returns>
<remarks>
See <see href="https://tools.ietf.org/html/rfc3597#section-5"/> for all
the details.
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationReader.ReadResourceRecord">
<summary>
Read a resource record.
</summary>
<returns>
A <see cref="T:Makaretu.Dns.ResourceRecord"/> or <b>null</b> if no more
resource records are available.
</returns>
<remarks>
Processes the "$ORIGIN" and "$TTL" specials that define the
<see cref="P:Makaretu.Dns.PresentationReader.Origin"/> and a default time-to-live respectively.
<para>
A domain name can be "@" to refer to the <see cref="P:Makaretu.Dns.PresentationReader.Origin"/>.
A missing domain name will use the previous record's domain name.
</para>
<para>
Defaults the <see cref="P:Makaretu.Dns.ResourceRecord.Class"/> to <see cref="F:Makaretu.Dns.DnsClass.IN"/>.
Defaults the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> to either the "$TTL" or
the <see cref="F:Makaretu.Dns.ResourceRecord.DefaultTTL"/>.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationReader.IsEndOfLine">
<summary>
Determines if the reader is at the end of a line.
</summary>
</member>
<member name="T:Makaretu.Dns.PresentationWriter">
<summary>
Methods to write DNS data items encoded in the presentation (text) format.
</summary>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.#ctor(System.IO.TextWriter)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.PresentationWriter"/> using the
specified <see cref="T:System.IO.TextWriter"/>.
</summary>
<param name="text">
The source for data items.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteSpace">
<summary>
Writes a space.
</summary>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteEndOfLine">
<summary>
Writes a CRLF.
</summary>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteByte(System.Byte,System.Boolean)">
<summary>
Write an byte.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteUInt16(System.UInt16,System.Boolean)">
<summary>
Write an unsigned short.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteUInt32(System.UInt32,System.Boolean)">
<summary>
Write an unsigned int.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteString(System.String,System.Boolean)">
<summary>
Write a string.
</summary>
<param name="value">
An ASCII string.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
<remarks>
Quotes and escapes are added as needned.
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteStringUnencoded(System.String,System.Boolean)">
<summary>
Write a string.
</summary>
<param name="value">
An ASCII string.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
<remarks>
Quotes and escapes are NOT added.
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteDomainName(Makaretu.Dns.DomainName,System.Boolean)">
<summary>
Write a domain name.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteBase16String(System.Byte[],System.Boolean)">
<summary>
Write bytes encoded in base-16.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteBase64String(System.Byte[],System.Boolean)">
<summary>
Write bytes encoded in base-64.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteTimeSpan16(System.TimeSpan,System.Boolean)">
<summary>
Write a time span (interval) in 16-bit seconds.
</summary>
<param name="value">
The number of seconds to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteTimeSpan32(System.TimeSpan,System.Boolean)">
<summary>
Write a time span (interval) in 32-bit seconds.
</summary>
<param name="value">
The number of seconds to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteDateTime(System.DateTime,System.Boolean)">
<summary>
Write a date/time.
</summary>
<param name="value">
The UTC <see cref="T:System.DateTime"/>. Resolution is seconds.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteIPAddress(System.Net.IPAddress,System.Boolean)">
<summary>
Write an Internet address.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteDnsType(Makaretu.Dns.DnsType,System.Boolean)">
<summary>
Write a DNS Type.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
<remarks>
Either the name of a <see cref="T:Makaretu.Dns.DnsType"/> or
the string "TYPEx".
</remarks>
</member>
<member name="M:Makaretu.Dns.PresentationWriter.WriteDnsClass(Makaretu.Dns.DnsClass,System.Boolean)">
<summary>
Write a DNS Class.
</summary>
<param name="value">
The value to write.
</param>
<param name="appendSpace">
Write a space after the value.
</param>
<remarks>
Either the name of a <see cref="T:Makaretu.Dns.DnsClass"/> or
the string "CLASSx".
</remarks>
</member>
<member name="T:Makaretu.Dns.PTRRecord">
<summary>
A domain name pointer.
</summary>
<remarks>
PTR records cause no additional section processing. These RRs are used
in special domains to point to some other location in the domain space.
These records are simple data, and don't imply any special processing
similar to that performed by CNAME, which identifies aliases.See the
description of the IN-ADDR.ARPA domain for an example.
</remarks>
</member>
<member name="M:Makaretu.Dns.PTRRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.PTRRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.PTRRecord.DomainName">
<summary>
A domain-name which points to some location in the
domain name space.
</summary>
</member>
<member name="M:Makaretu.Dns.PTRRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.PTRRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.PTRRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.PTRRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.Question">
<summary>
A question about a domain name to resolve.
</summary>
</member>
<member name="P:Makaretu.Dns.Question.Name">
<summary>
A domain name to query.
</summary>
</member>
<member name="P:Makaretu.Dns.Question.Type">
<summary>
A two octet code which specifies the type of the query.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.DnsType"/> values.
</value>
<remarks>
The values for this field include all codes valid for a
TYPE field, together with some more general codes which
can match more than one type of the resource record.
</remarks>
</member>
<member name="P:Makaretu.Dns.Question.Class">
<summary>
A two octet code that specifies the class of the query.
</summary>
<value>
Defaults to <see cref="F:Makaretu.Dns.DnsClass.IN"/>.
</value>
</member>
<member name="M:Makaretu.Dns.Question.Read(Makaretu.Dns.WireReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Question.Write(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Question.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.Resolving.CachedNameServer">
<summary>
A caching name server.
</summary>
</member>
<member name="M:Makaretu.Dns.Resolving.CachedNameServer.Prune(System.Nullable{System.DateTime})">
<summary>
Removes any expired resource record from the cache.
</summary>
<param name="now">
The time to use to determine if a resource record is expired.
Defaults to <see cref="P:System.DateTime.Now"/>.
</param>
<remarks>
Authoritative nodes are not pruned.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.CachedNameServer.PruneContinuously(System.TimeSpan)">
<summary>
Prune the cache in the background.
</summary>
<param name="interval">
The delay between pruning.
</param>
<returns>
Allows cancelation of the background task.
</returns>
<seealso cref="M:Makaretu.Dns.Resolving.CachedNameServer.Prune(System.Nullable{System.DateTime})"/>
</member>
<member name="M:Makaretu.Dns.Resolving.CachedNameServer.Add(Makaretu.Dns.Message)">
<summary>
Cache the response.
</summary>
<param name="response">
A response from a name server.
</param>
<remarks>
Both the <see cref="P:Makaretu.Dns.Message.Answers"/> and
the <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> are added to the cache.
Only resources records with a positive <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/>
are added.
</remarks>
</member>
<member name="T:Makaretu.Dns.Resolving.Catalog">
<summary>
A dictionary of <see cref="T:Makaretu.Dns.Resolving.Node">DNS nodes</see>.
</summary>
<remarks>
This is a portion of the DNS distribute database.
<para>
The key is the case insensitive <see cref="P:Makaretu.Dns.Resolving.Node.Name"/> and the value is a <see cref="T:Makaretu.Dns.Resolving.Node"/>.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.Catalog.IncludeZone(Makaretu.Dns.PresentationReader)">
<summary>
Include the zone information.
</summary>
<param name="reader">
The source of the zone information.
</param>
<returns>
The <see cref="T:Makaretu.Dns.Resolving.Node"/> that represents the zone.
</returns>
<remarks>
All included nodes are marked as <see cref="P:Makaretu.Dns.Resolving.Node.Authoritative"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.Catalog.RemoveZone(Makaretu.Dns.DomainName)">
<summary>
Remove all nodes that belong to the zone.
</summary>
<param name="name">
The name of the zone.
</param>
</member>
<member name="M:Makaretu.Dns.Resolving.Catalog.Add(Makaretu.Dns.ResourceRecord,System.Boolean)">
<summary>
Add or update the resource record to the catalog.
</summary>
<param name="resource">
The <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> is also the name of the node.
</param>
<param name="authoritative">
Indicates if the <paramref name="resource"/> is authoritative or cached.
Only used when a <see cref="T:Makaretu.Dns.Resolving.Node"/> is created.
</param>
<returns>
The <see cref="T:Makaretu.Dns.Resolving.Node"/> that was created or updated.
</returns>
<remarks>
If the <paramref name="resource"/> already exists, then update the
non-equality properties <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/>
and <see cref="P:Makaretu.Dns.DnsObject.CreationTime"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.Catalog.IncludeRootHints">
<summary>
Include the root name servers.
</summary>
<returns>
The <see cref="T:Makaretu.Dns.Resolving.Node"/> that represents the "root".
</returns>
<remarks>
A DNS recursive resolver typically needs a "root hints file". This file
contains the names and IP addresses of the authoritative name servers for the root zone,
so the software can bootstrap the DNS resolution process.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.Catalog.Include(Makaretu.Dns.PresentationReader,System.Boolean)">
<summary>
Include the resource records.
</summary>
<param name="reader">
The source of the resource records.
</param>
<param name="authoritative">
Indicates if a <see cref="T:Makaretu.Dns.ResourceRecord"/> is authoritative or cached.
Only used when a <see cref="T:Makaretu.Dns.Resolving.Node"/> is created.
</param>
</member>
<member name="M:Makaretu.Dns.Resolving.Catalog.NodesInCanonicalOrder">
<summary>
Get a sequence of nodes in canonical order.
</summary>
<returns>
A sequence of nodes in canonical order.
</returns>
<remarks>
Node names are converted to US-ASCII lowercase and
then sorted by their reversed labels.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.Catalog.IncludeReverseLookupRecords">
<summary>
Add PTR records for each authoritative A/AAAA record.
</summary>
<remarks>
This enables reverse DNS lookup of all address records.
</remarks>
</member>
<member name="T:Makaretu.Dns.Resolving.ConcurrentSet`1">
<summary>
A concurrent, simplified HashSet.
</summary>
<remarks>
This is a copy and paste of <see href="https://github.com/dotnet/roslyn/blob/master/src/Compilers/Core/Portable/InternalUtilities/ConcurrentSet.cs"/>
taken on 18 July 2018.
</remarks>
</member>
<member name="F:Makaretu.Dns.Resolving.ConcurrentSet`1.DefaultConcurrencyLevel">
<summary>
The default concurrency level is 2. That means the collection can cope with up to two
threads making simultaneous modifications without blocking.
Note ConcurrentDictionary's default concurrency level is dynamic, scaling according to
the number of processors.
</summary>
</member>
<member name="F:Makaretu.Dns.Resolving.ConcurrentSet`1.DefaultCapacity">
<summary>
Taken from ConcurrentDictionary.DEFAULT_CAPACITY
</summary>
</member>
<member name="F:Makaretu.Dns.Resolving.ConcurrentSet`1._dictionary">
<summary>
The backing dictionary. The values are never used; just the keys.
</summary>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.#ctor">
<summary>
Construct a concurrent set with the default concurrency level.
</summary>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
<summary>
Construct a concurrent set using the specified equality comparer.
</summary>
<param name="equalityComparer">The equality comparer for values in the set.</param>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
<summary>
Construct a concurrent set using the specified the sequence.
</summary>
</member>
<member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.Count">
<summary>
Obtain the number of elements in the set.
</summary>
<returns>The number of elements in the set.</returns>
</member>
<member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.IsEmpty">
<summary>
Determine whether the set is empty.</summary>
<returns>true if the set is empty; otherwise, false.</returns>
</member>
<member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.IsReadOnly">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Contains(`0)">
<summary>
Determine whether the given value is in the set.
</summary>
<param name="value">The value to test.</param>
<returns>true if the set contains the specified value; otherwise, false.</returns>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Add(`0)">
<summary>
Attempts to add a value to the set.
</summary>
<param name="value">The value to add.</param>
<returns>true if the value was added to the set. If the value already exists, this method returns false.</returns>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
<summary>
Add a sequence to the set.
</summary>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Remove(`0)">
<summary>
Attempts to remove a value from the set.
</summary>
<param name="value">The value to remove.</param>
<returns>true if the value was removed successfully; otherwise false.</returns>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Clear">
<summary>
Clear the set
</summary>
</member>
<member name="T:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator">
<summary>
enumerator for the keys.
</summary>
</member>
<member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator.Current">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator.MoveNext">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator.Reset">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.GetEnumerator">
<summary>
Obtain an enumerator that iterates through the elements in the set.
</summary>
<returns>An enumerator for the set.</returns>
</member>
<member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.CopyTo(`0[],System.Int32)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.Resolving.NameServer">
<summary>
Anwsers questions from the local <see cref="P:Makaretu.Dns.Resolving.NameServer.Catalog"/>.
</summary>
</member>
<member name="P:Makaretu.Dns.Resolving.NameServer.Catalog">
<summary>
Information about some portion of the DNS database.
</summary>
<value>
A subset of the DNS database. Typically (1) one or more zones or (2) a cache of received
responses.
</value>
</member>
<member name="P:Makaretu.Dns.Resolving.NameServer.AnswerAllQuestions">
<summary>
Determines how multiple questions are answered.
</summary>
<value>
<b>false</b> to answer <b>any</b> of the questions.
<b>false</b> to answer <b>all</b> of the questions.
The default is <b>false</b>.
</value>
<remarks>
Standard DNS specifies that only one of the questions need to be answered.
Multicast DNS specifies that all the questions need to be answered.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.NameServer.ResolveAsync(Makaretu.Dns.Message,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.Resolving.NameServer.ResolveAsync(Makaretu.Dns.Question,Makaretu.Dns.Message,System.Threading.CancellationToken)">
<summary>
Get an answer to a question.
</summary>
<param name="question">
The question to answer.
</param>
<param name="response">
Where the answers are added. If <b>null</b>, then a new <see cref="T:Makaretu.Dns.Message"/> is
created.
</param>
<param name="cancel">
Is used to stop the task. When cancelled, the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> is raised.
</param>
<returns>
A task that represents the asynchronous operation. The task's value is
a <see cref="T:Makaretu.Dns.Message"/> response to the <paramref name="question"/>.
</returns>
<remarks>
If the question's domain does not exist, then the closest authority
(<see cref="T:Makaretu.Dns.SOARecord"/>) is added to the <see cref="P:Makaretu.Dns.Message.AuthorityRecords"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.NameServer.FindAnswerAsync(Makaretu.Dns.Question,Makaretu.Dns.Message,System.Threading.CancellationToken)">
<summary>
Find an answer to the <see cref="T:Makaretu.Dns.Question"/>.
</summary>
<param name="question">
The question to answer.
</param>
<param name="response">
Where the answers are added.
</param>
<param name="cancel">
Is used to stop the task. When cancelled, the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> is raised.
</param>
<returns>
A task that represents the asynchronous operation. The task's value
is <b>true</b> if the resolver added an answer.
</returns>
<remarks>
Derived classes must implement this method.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.NameServer.AddSecurityExtensionsAsync(Makaretu.Dns.Message,Makaretu.Dns.Message)">
<summary>
</summary>
<param name="request"></param>
<param name="response"></param>
<returns></returns>
</member>
<member name="M:Makaretu.Dns.Resolving.NameServer.AddSecurityResourcesAsync(System.Collections.Generic.List{Makaretu.Dns.ResourceRecord})">
<summary>
Add the DNSSEC resources for the resource record set.
</summary>
<param name="rrset">
The set of resource records.
</param>
<remarks>
Add the signature records (RRSIG) for each resource in the set.
</remarks>
</member>
<member name="T:Makaretu.Dns.Resolving.Node">
<summary>
Locally held information on a domain name.
</summary>
<remarks>
The domain name system is distributed, only a portion of the database
is available on each local host.
</remarks>
</member>
<member name="P:Makaretu.Dns.Resolving.Node.Name">
<summary>
The name of the node.
</summary>
<value>
An absolute (fully qualified) domain name. For example, "emanon.org".
</value>
<remarks>
All <see cref="P:Makaretu.Dns.Resolving.Node.Resources"/> must have a <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> that
matches this value.
</remarks>
</member>
<member name="M:Makaretu.Dns.Resolving.Node.ToString">
<inheritdoc />
</member>
<member name="P:Makaretu.Dns.Resolving.Node.Resources">
<summary>
The resource records associated with this node.
</summary>
<value>
Commonly called the RRSET (resource record set).
</value>
<remarks>
Duplicate resources are silently ignored.
</remarks>
</member>
<member name="P:Makaretu.Dns.Resolving.Node.Authoritative">
<summary>
Indicates that the node's resources contains the complete information for
the node.
</summary>
<value>
<b>true</b> if the <see cref="P:Makaretu.Dns.Resolving.Node.Resources"/> are authoritative; otherwise, <b>false</b>.
</value>
<remarks>
An Authoritative node is typically defined in a <see cref="M:Makaretu.Dns.Resolving.Catalog.IncludeZone(Makaretu.Dns.PresentationReader)">zone</see>.
</remarks>
</member>
<member name="T:Makaretu.Dns.ResourceRecord">
<summary>
Contains some information on the named resource.
</summary>
<remarks>
The <see cref="T:Makaretu.Dns.ResourceRegistry"/> contains the metadata on known
resource records. When reading, if the registry does not contain
the record, then an <see cref="T:Makaretu.Dns.UnknownRecord"/> is used.
</remarks>
</member>
<member name="F:Makaretu.Dns.ResourceRecord.DefaultTTL">
<summary>
The default time interval that a resource record maybe cached.
</summary>
<value>
Defaults to 1 day.
</value>
</member>
<member name="F:Makaretu.Dns.ResourceRecord.DefaultHostTTL">
<summary>
The default time interval that a resource record containing
a host name maybe cached.
</summary>
<value>
Defaults to 1 day.
</value>
<remarks>
Host names are in A, AAAA, and HINFO records.
</remarks>
</member>
<member name="P:Makaretu.Dns.ResourceRecord.Name">
<summary>
An owner name, i.e., the name of the node to which this
resource record pertains.
</summary>
</member>
<member name="P:Makaretu.Dns.ResourceRecord.CanonicalName">
<summary>
The canonical form of the owner name.
</summary>
<remarks>
All uppercase US-ASCII letters in the <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> are
replaced by the corresponding lowercase US-ASCII letters.
</remarks>
</member>
<member name="P:Makaretu.Dns.ResourceRecord.Type">
<summary>
One of the RR TYPE codes.
</summary>
</member>
<member name="P:Makaretu.Dns.ResourceRecord.Class">
<summary>
One of the RR CLASS codes.
</summary>
<value>
Defaults to <see cref="F:Makaretu.Dns.DnsClass.IN"/>.
</value>
</member>
<member name="P:Makaretu.Dns.ResourceRecord.TTL">
<summary>
Specifies the time interval
that the resource record may be cached before the source
of the information should again be consulted.
</summary>
<value>
The resolution is 1 second. Defaults to 1 day.
</value>
<remarks>
Zero values are interpreted to mean that the RR can only be
used for the transaction in progress, and should not be
cached.
</remarks>
<seealso cref="F:Makaretu.Dns.ResourceRecord.DefaultTTL"/>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.IsExpired(System.Nullable{System.DateTime})">
<summary>
Determines if the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> has expired.
</summary>
<param name="from">
The time to compare against. If <b>null</b>, the default value, then
<see cref="P:System.DateTime.Now"/> is used.
</param>
<returns>
<b>true</b> if the resource is no longer valid; otherwise <b>false</b>.
</returns>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.GetDataLength">
<summary>
The length of the resource specific data.
</summary>
<returns>
Number of bytes to represent the resource specific data.
</returns>
<remarks>
This is referred to as the <c>RDLENGTH</c> in the DNS spec.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.GetData">
<summary>
The resource specific data.
</summary>
<returns>
A byte array, never <b>null</b>.
</returns>
<remarks>
This is referred to as the <c>RDATA</c> in the DNS spec.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.Read(Makaretu.Dns.WireReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.ResourceRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<summary>
Read the data that is specific to the resource record <see cref="P:Makaretu.Dns.ResourceRecord.Type"/>.
</summary>
<param name="reader">
The source of the resource record's data.
</param>
<param name="length">
The length, in bytes, of the data.
</param>
<remarks>
Derived classes must implement this method.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.Write(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.ResourceRecord.WriteData(Makaretu.Dns.WireWriter)">
<summary>
Write the data that is specific to the resource record <see cref="T:System.Type"/>.
</summary>
<param name="writer">
The destination for the DNS object's data.
</param>
<remarks>
Derived classes must implement this method.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.Equals(System.Object)">
<summary>
Determines if the specified object is equal to the current object.
</summary>
<param name="obj">
The object to compare.
</param>
<returns>
<b>true</b> if the specified object is equal to the current object; otherwise, <b>false</b>.
</returns>
<remarks>
Two Resource Records are considered equal if their <see cref="P:Makaretu.Dns.ResourceRecord.Name"/>,
<see cref="P:Makaretu.Dns.ResourceRecord.Class"/>, <see cref="P:Makaretu.Dns.ResourceRecord.Type"/> and <see cref="M:Makaretu.Dns.ResourceRecord.GetData">data fields</see>
are equal. Note that the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> field is explicitly
excluded from the comparison.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.op_Equality(Makaretu.Dns.ResourceRecord,Makaretu.Dns.ResourceRecord)">
<summary>
Value equality.
</summary>
<remarks>
Two Resource Records are considered equal if their <see cref="P:Makaretu.Dns.ResourceRecord.Name"/>,
<see cref="P:Makaretu.Dns.ResourceRecord.Class"/>, <see cref="P:Makaretu.Dns.ResourceRecord.Type"/> and data fields
are equal. Note that the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> field is explicitly
excluded from the comparison.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.op_Inequality(Makaretu.Dns.ResourceRecord,Makaretu.Dns.ResourceRecord)">
<summary>
Value inequality.
</summary>
<remarks>
Two Resource Records are considered equal if their <see cref="P:Makaretu.Dns.ResourceRecord.Name"/>,
<see cref="P:Makaretu.Dns.ResourceRecord.Class"/>, <see cref="P:Makaretu.Dns.ResourceRecord.Type"/> and data fields
are equal. Note that the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> field is explicitly
excluded from the comparison.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.GetHashCode">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.ResourceRecord.ToString">
<summary>
Returns the textual representation.
</summary>
<returns>
The presentation format of this resource record.
</returns>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.Write(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.ResourceRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<summary>
Write the textual representation of the data that is specific to
the resource record.
</summary>
<param name="writer">
The destination for the resource record's data.
</param>
<remarks>
Derived classes should implement this method.
<para>
By default, this will write the hex encoding of
the <see cref="M:Makaretu.Dns.ResourceRecord.GetData">RDATA</see> preceeded by
"\#" and the number integer bytes.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.Read(System.String)">
<summary>
Create a new <see cref="T:Makaretu.Dns.ResourceRecord"/> from the
specified string.
</summary>
<param name="text">
The presentation format.
</param>
</member>
<member name="M:Makaretu.Dns.ResourceRecord.Read(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.ResourceRecord.ReadData(Makaretu.Dns.PresentationReader)">
<summary>
Read the textual representation of the data that is specific to
the resource record <see cref="P:Makaretu.Dns.ResourceRecord.Type"/>.
</summary>
<param name="reader">
The source of the resource record's data.
</param>
<remarks>
Derived classes must implement this method.
</remarks>
</member>
<member name="T:Makaretu.Dns.ResourceRegistry">
<summary>
Metadata on resource records.
</summary>
<see cref="T:Makaretu.Dns.ResourceRecord"/>
</member>
<member name="F:Makaretu.Dns.ResourceRegistry.Records">
<summary>
All the resource records.
</summary>
<remarks>
The key is the DNS Resource Record type, <see cref="T:Makaretu.Dns.DnsType"/>.
The value is a function that returns a new <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.ResourceRegistry.Register``1">
<summary>
Register a new resource record.
</summary>
<typeparam name="T">
A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</typeparam>
<exception cref="T:System.ArgumentException">
When RR TYPE is zero.
</exception>
</member>
<member name="M:Makaretu.Dns.ResourceRegistry.Create(Makaretu.Dns.DnsType)">
<summary>
Gets the resource record for the <see cref="T:Makaretu.Dns.DnsType"/>.
</summary>
<param name="type">
One of the <see cref="T:Makaretu.Dns.DnsType"/> values.
</param>
<returns>
A new instance derived from <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</returns>
<remarks>
When the <paramref name="type"/> is not implemented, a new
of <see cref="T:Makaretu.Dns.UnknownRecord"/> is returned.
</remarks>
</member>
<member name="T:Makaretu.Dns.RPRecord">
<summary>
The person responsible for a name.
</summary>
<remarks>
The responsible person identification to any name in the DNS.
</remarks>
<seealso href="https://tools.ietf.org/html/rfc1183"/>
</member>
<member name="M:Makaretu.Dns.RPRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.RPRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.RPRecord.Mailbox">
<summary>
The mailbox for the responsible person.
</summary>
<value>
Defaults to <see cref="F:Makaretu.Dns.DomainName.Root"/>.
</value>
</member>
<member name="P:Makaretu.Dns.RPRecord.TextName">
<summary>
The name of TXT records for the responsible person.
</summary>
<value>
Defaults to <see cref="F:Makaretu.Dns.DomainName.Root"/>.
</value>
</member>
<member name="M:Makaretu.Dns.RPRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.RPRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.RPRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.RPRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.RRSIGRecord">
<summary>
Signature for a RRSET with a particular name, class, and type.
</summary>
<remarks>
Defined in <see href="https://tools.ietf.org/html/rfc4034#section-3">RFC 4034 section 3</see>.
</remarks>
</member>
<member name="M:Makaretu.Dns.RRSIGRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.RRSIGRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.TypeCovered">
<summary>
The type of the RRset that is covered by this signature.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.DnsType"/> values.
</value>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.Algorithm">
<summary>
Identifies the cryptographic algorithm to create the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
</summary>
<value>
Identifies the type of key (RSA, ECDSA, ...) and the
hashing algorithm.
</value>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.Labels">
<summary>
The number of labels in the original RRSIG RR owner name.
</summary>
<remarks>
The significance of this field is that a validator
uses it to determine whether the answer was synthesized from a
wildcard.
</remarks>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.OriginalTTL">
<summary>
The TTL of the covered RRset as it appears in the authoritative zone.
</summary>
<value>
The resolution is 1 second.
</value>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.SignatureExpiration">
<summary>
The end date for the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
</summary>
<value>
The resolution is 1 second.
</value>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.SignatureInception">
<summary>
The start date for the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
</summary>
<value>
The resolution is 1 second.
</value>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.KeyTag">
<summary>
The key tag of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> that
validates the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
</summary>
<value>
The <see cref="M:Makaretu.Dns.DNSKEYRecord.KeyTag"/> method produces this value.
</value>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.SignerName">
<summary>
The owner name of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> that
validates the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
</summary>
</member>
<member name="P:Makaretu.Dns.RRSIGRecord.Signature">
<summary>
The cryptographic signature.
</summary>
<value>
The format depends upon the <see cref="P:Makaretu.Dns.RRSIGRecord.Algorithm"/>.
</value>
</member>
<member name="M:Makaretu.Dns.RRSIGRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.RRSIGRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.RRSIGRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.RRSIGRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.SecurityAlgorithm">
<summary>
Identities the security algorithm used by DNSSEC resource records.
</summary>
<remarks>
The values are maintained by IANA at <see href="https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1"/>
<para>
Implemented security algorithms are obtained from the <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry"/>.
</para>
</remarks>
<seealso cref="T:Makaretu.Dns.DNSKEYRecord"/>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.DELETE">
<summary>
Delete DS
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.RSAMD5">
<summary>
RSA/MD5 (deprecated)
</summary>
<remarks>
Must not be implemented according to <see href="https://tools.ietf.org/html/rfc6944">RFC 6944</see>.
</remarks>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.DH">
<summary>
Diffie-Hellman
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.DSA">
<summary>
DSA/SHA1
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA1">
<summary>
RSA/SHA-1
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.DSANSEC3SHA1">
<summary>
DSA-NSEC3-SHA1
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA1NSEC3SHA1">
<summary>
RSASHA1-NSEC3-SHA1
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA256">
<summary>
RSA/SHA-256
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA512">
<summary>
RSA/SHA-512
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.ECCGOST">
<summary>
GOST R 34.10-2001
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.ECDSAP256SHA256">
<summary>
ECDSA Curve P-256 with SHA-256
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.ECDSAP384SHA384">
<summary>
ECDSA Curve P-384 with SHA-384
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.ED25519">
<summary>
Ed25519
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.ED448">
<summary>
Ed448
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.INDIRECT">
<summary>
Indirect Keys
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.PRIVATEDNS">
<summary>
Private algorithm
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithm.PRIVATEOID">
<summary>
Private algorithm OID
</summary>
</member>
<member name="T:Makaretu.Dns.SecurityAlgorithmRegistry">
<summary>
Registry of implemented <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
</summary>
<remarks>
IANA maintains a list of all known types at <see href="https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1"/>.
</remarks>
<see cref="T:Makaretu.Dns.SecurityAlgorithm"/>
</member>
<member name="T:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata">
<summary>
Metadata on a <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
</summary>
<remarks>
Used by the <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry"/>.
</remarks>
</member>
<member name="P:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata.HashAlgorithm">
<summary>
The cryptographic hash algorithm to use.
</summary>
</member>
<member name="P:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata.OtherNames">
<summary>
Other names associated with the algorithm.
</summary>
</member>
<member name="F:Makaretu.Dns.SecurityAlgorithmRegistry.Algorithms">
<summary>
Defined security algorithms.
</summary>
<remarks>
The key is the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
The value is th <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata"/>.
</remarks>
</member>
<member name="M:Makaretu.Dns.SecurityAlgorithmRegistry.GetMetadata(Makaretu.Dns.SecurityAlgorithm)">
<summary>
Gets the meta data for the the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
</summary>
<param name="algorithm">
One of the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/> values.
</param>
<returns>
The <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata"/> for the <paramref name="algorithm"/>.
</returns>
<exception cref="T:System.NotImplementedException">
When the <paramref name="algorithm"/> is not defined.
</exception>
</member>
<member name="T:Makaretu.Dns.SOARecord">
<summary>
Marks the start of a zone of authority.
</summary>
<remarks>
Most of these fields are pertinent only for name server maintenance
operations. However, MINIMUM is used in all query operations that
retrieve RRs from a zone.Whenever a RR is sent in a response to a
query, the TTL field is set to the maximum of the TTL field from the RR
and the MINIMUM field in the appropriate SOA.Thus MINIMUM is a lower
bound on the TTL field for all RRs in a zone.Note that this use of
MINIMUM should occur when the RRs are copied into the response and not
when the zone is loaded from a master file or via a zone transfer. The
reason for this provison is to allow future dynamic update facilities to
change the SOA RR with known semantics.
</remarks>
</member>
<member name="M:Makaretu.Dns.SOARecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.SOARecord"/> class.
</summary>
<remarks>
Sets <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> to zero.
</remarks>
</member>
<member name="P:Makaretu.Dns.SOARecord.PrimaryName">
<summary>
The domain-name of the name server that was the
original or primary source of data for this zone.
</summary>
</member>
<member name="P:Makaretu.Dns.SOARecord.Mailbox">
<summary>
A domain-name which specifies the mailbox of the
person responsible for this zone.
</summary>
</member>
<member name="P:Makaretu.Dns.SOARecord.SerialNumber">
<summary>
The unsigned 32 bit version number of the original copy
of the zone.
</summary>
<remarks>
Zone transfers preserve this value. This
value wraps and should be compared using sequence space
arithmetic.
</remarks>
</member>
<member name="P:Makaretu.Dns.SOARecord.Refresh">
<summary>
Interval before the zone should be refreshed.
</summary>
</member>
<member name="P:Makaretu.Dns.SOARecord.Retry">
<summary>
interval that should elapse before a failed refresh should be retried.
</summary>
</member>
<member name="P:Makaretu.Dns.SOARecord.Expire">
<summary>
Specifies the upper limit on
the time interval that can elapse before the zone is no
longer authoritative.
</summary>
</member>
<member name="P:Makaretu.Dns.SOARecord.Minimum">
<summary>
Minimum TTL field that should be exported with any RR from this zone.
</summary>
</member>
<member name="M:Makaretu.Dns.SOARecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.SOARecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.SOARecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.SOARecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.SRVRecord">
<summary>
Allows administrators to use several servers for a single domain.
</summary>
</member>
<member name="M:Makaretu.Dns.SRVRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.SRVRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.SRVRecord.Priority">
<summary>
The priority of this target host.
</summary>
<remarks>
A client MUST attempt to contact the target host with the
lowest-numbered priority it can
reach; target hosts with the same priority SHOULD be tried in an
order defined by the weight field.The range is 0-65535.
</remarks>
</member>
<member name="P:Makaretu.Dns.SRVRecord.Weight">
<summary>
A server selection mechanism.
</summary>
<remarks>
The weight field specifies a
relative weight for entries with the same priority.Larger
weights SHOULD be given a proportionately higher probability of
being selected.
</remarks>
</member>
<member name="P:Makaretu.Dns.SRVRecord.Port">
<summary>
The port on this target host of this service.
</summary>
</member>
<member name="P:Makaretu.Dns.SRVRecord.Target">
<summary>
The domain name of the target host.
</summary>
<remarks>
There MUST be one or more
address records for this name, the name MUST NOT be an alias (in
the sense of RFC 1034 or RFC 2181).
</remarks>
</member>
<member name="M:Makaretu.Dns.SRVRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.SRVRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.SRVRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.SRVRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.TKEYRecord">
<summary>
Shared secret key.
</summary>
<remarks>
Defined in <see href="https://tools.ietf.org/html/rfc2930">RFC 2930</see>.
</remarks>
</member>
<member name="M:Makaretu.Dns.TKEYRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.TKEYRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.TKEYRecord.Algorithm">
<summary>
Identifies the cryptographic algorithm to create.
</summary>
<value>
Identifies the HMAC alogirthm.
</value>
<remarks>
The algorithm determines how the secret keying material agreed to
using the TKEY RR is actually used to derive the algorithm specific key.
</remarks>
<seealso cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/>
</member>
<member name="P:Makaretu.Dns.TKEYRecord.Inception">
<summary>
The start date for the <see cref="P:Makaretu.Dns.TKEYRecord.Key"/>.
</summary>
<value>
Resolution in seconds.
</value>
</member>
<member name="P:Makaretu.Dns.TKEYRecord.Expiration">
<summary>
The end date for the <see cref="P:Makaretu.Dns.TKEYRecord.Key"/>.
</summary>
<value>
Resolution in seconds.
</value>
</member>
<member name="P:Makaretu.Dns.TKEYRecord.Mode">
<summary>
The key exchange algorithm.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.KeyExchangeMode"/> values.
</value>
</member>
<member name="P:Makaretu.Dns.TKEYRecord.Error">
<summary>
Expanded error code for TKEY.
</summary>
</member>
<member name="P:Makaretu.Dns.TKEYRecord.Key">
<summary>
The key exchange data.
</summary>
<value>
The format depends on the <see cref="P:Makaretu.Dns.TKEYRecord.Mode"/>.
</value>
</member>
<member name="P:Makaretu.Dns.TKEYRecord.OtherData">
<summary>
Other data.
</summary>
</member>
<member name="M:Makaretu.Dns.TKEYRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TKEYRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TKEYRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TKEYRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.TSIGRecord">
<summary>
Transaction Signature.
</summary>
<remarks>
Defined in <see href="https://tools.ietf.org/html/rfc2845">RFC 2845</see>.
</remarks>
</member>
<member name="F:Makaretu.Dns.TSIGRecord.HMACMD5">
<summary>
The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACMD5.
</summary>
</member>
<member name="F:Makaretu.Dns.TSIGRecord.GSSTSIG">
<summary>
The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for GSSTSIG.
</summary>
</member>
<member name="F:Makaretu.Dns.TSIGRecord.HMACSHA1">
<summary>
The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA1.
</summary>
</member>
<member name="F:Makaretu.Dns.TSIGRecord.HMACSHA224">
<summary>
The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA224.
</summary>
</member>
<member name="F:Makaretu.Dns.TSIGRecord.HMACSHA256">
<summary>
The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA256.
</summary>
</member>
<member name="F:Makaretu.Dns.TSIGRecord.HMACSHA384">
<summary>
The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA384.
</summary>
</member>
<member name="F:Makaretu.Dns.TSIGRecord.HMACSHA512">
<summary>
The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA512.
</summary>
</member>
<member name="M:Makaretu.Dns.TSIGRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.TSIGRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.TSIGRecord.Algorithm">
<summary>
Identifies the cryptographic algorithm to create the <see cref="P:Makaretu.Dns.TSIGRecord.MAC"/>.
</summary>
<value>
Identifies the HMAC alogirthm.
</value>
</member>
<member name="P:Makaretu.Dns.TSIGRecord.TimeSigned">
<summary>
When the record was signed.
</summary>
<value>
Must be in <see cref="F:System.DateTimeKind.Utc"/>.
Resolution in seconds.
Defaults to <see cref="P:System.DateTime.UtcNow"/> less the milliseconds.
</value>
</member>
<member name="P:Makaretu.Dns.TSIGRecord.MAC">
<summary>
The message authentication code.
</summary>
<value>
The format depends on the <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/>.
</value>
<remarks>
See <see href="https://tools.ietf.org/html/rfc2845#section-3">Protocol Operation</see>
for details on generating the MAC.
</remarks>
</member>
<member name="P:Makaretu.Dns.TSIGRecord.Fudge">
<summary>
Permitted error in <see cref="P:Makaretu.Dns.TSIGRecord.TimeSigned"/>.
</summary>
<value>
Defaults to 300 seconds.
</value>
</member>
<member name="P:Makaretu.Dns.TSIGRecord.OriginalMessageId">
<summary>
The Original <see cref="P:Makaretu.Dns.Message.Id"/>.
</summary>
</member>
<member name="P:Makaretu.Dns.TSIGRecord.Error">
<summary>
Expanded error code for TSIG.
</summary>
<value>
<see cref="F:Makaretu.Dns.MessageStatus.NoError"/>, <see cref="F:Makaretu.Dns.MessageStatus.BadSignature"/>
<see cref="F:Makaretu.Dns.MessageStatus.BadKey"/> or <see cref="F:Makaretu.Dns.MessageStatus.BadTime"/>.
</value>
</member>
<member name="P:Makaretu.Dns.TSIGRecord.OtherData">
<summary>
Other data.
</summary>
</member>
<member name="M:Makaretu.Dns.TSIGRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TSIGRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TSIGRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TSIGRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.TXTRecord">
<summary>
Text strings.
</summary>
<remarks>
TXT RRs are used to hold descriptive text. The semantics of the text
depends on the domain where it is found.
</remarks>
</member>
<member name="M:Makaretu.Dns.TXTRecord.#ctor">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.TXTRecord"/> class.
</summary>
</member>
<member name="P:Makaretu.Dns.TXTRecord.Strings">
<summary>
The sequence of strings.
</summary>
</member>
<member name="M:Makaretu.Dns.TXTRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TXTRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TXTRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.TXTRecord.WriteData(Makaretu.Dns.PresentationWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.UnknownEdnsOption">
<summary>
An unknown EDNS option.
</summary>
<remarks>
When an <see cref="T:Makaretu.Dns.EdnsOption"/> is read with a <see cref="P:Makaretu.Dns.EdnsOption.Type"/> that
is not <see cref="T:Makaretu.Dns.EdnsOptionRegistry">registered</see>, then this is used
to deserialise the information.
</remarks>
</member>
<member name="P:Makaretu.Dns.UnknownEdnsOption.Data">
<summary>
Specfic data for the option.
</summary>
</member>
<member name="M:Makaretu.Dns.UnknownEdnsOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.UnknownEdnsOption.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.UnknownEdnsOption.ToString">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.UnknownRecord">
<summary>
An unknown resource record.
</summary>
</member>
<member name="P:Makaretu.Dns.UnknownRecord.Data">
<summary>
Specfic data for the resource.
</summary>
</member>
<member name="M:Makaretu.Dns.UnknownRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.UnknownRecord.ReadData(Makaretu.Dns.PresentationReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.UnknownRecord.WriteData(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.UpdateMessage">
<summary>
Dynamic updates in the Domain Name System.
</summary>
<remarks>
<para>
<see href="https://tools.ietf.org/html/rfc2136">RFC 2136</see> allows adding or
deleting resource records from a specified zone.
</para>
<para>
<see cref="P:Makaretu.Dns.UpdateMessage.Prerequisites"/> are specified separately from
<see cref="P:Makaretu.Dns.UpdateMessage.Updates">update operations</see>, and can specify a
dependency upon either the previous existence or nonexistence of an
RRset, or the existence of a single RR.
</para>
<para>
An update is atomic, i.e., all prerequisites must be satisfied or else
no update operations will take place. There are no data dependent
error conditions defined after the prerequisites have been met.
</para>
</remarks>
<seealso href="https://tools.ietf.org/html/rfc2136"/>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.Id">
<summary>
A 16 bit identifier assigned by the program that
generates any kind of update.
</summary>
<value>
A unique identifier assigned by the requestor.
</value>
<remarks>
This identifier is copied to
the corresponding response and can be used by the requestor
to match up replies to outstanding queries.
</remarks>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.QR">
<summary>
Determines if the message is a request or a response.
</summary>
<value>
0 if the message is a request or 1 if the message is a response.
</value>
<seealso cref="P:Makaretu.Dns.UpdateMessage.IsUpdate"/>
<seealso cref="P:Makaretu.Dns.UpdateMessage.IsResponse"/>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.IsUpdate">
<summary>
Determines if the message is an update.
</summary>
<value>
<b>true</b> if <see cref="P:Makaretu.Dns.UpdateMessage.QR"/> is <b>false</b>.
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.IsResponse">
<summary>
Determines if the message is a response to an update.
</summary>
<value>
<b>true</b> if <see cref="P:Makaretu.Dns.UpdateMessage.QR"/> is <b>true</b>.
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.Opcode">
<summary>
The kind of message.
</summary>
<value>
Defaults to <see cref="F:Makaretu.Dns.MessageOperation.Update"/>.
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.Z">
<summary>
Reserved for future use. Must be zero in all updates
and responses.
</summary>
<value>
Must be zero.
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.Status">
<summary>
Response code - this 4 bit field is set as part of responses.
</summary>
<value>
One of the <see cref="T:Makaretu.Dns.MessageStatus"/> values.
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.Zone">
<summary>
The zone to update.
</summary>
<value>
Defaults to the empty zone. <see cref="P:Makaretu.Dns.Question.Name"/> is <b>null</b>,
<see cref="P:Makaretu.Dns.Question.Class"/> is <see cref="F:Makaretu.Dns.DnsClass.IN"/> and
<see cref="P:Makaretu.Dns.Question.Type"/> is SOA (6).
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.Prerequisites">
<summary>
Resource records which must (not) preexist.
</summary>
<value>
Defaults to an empty list.
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.Updates">
<summary>
Resource records to be added or deleted.
</summary>
<value>
Defaults to an empty list.
</value>
</member>
<member name="P:Makaretu.Dns.UpdateMessage.AdditionalResources">
<summary>
The list of additional resource records.
</summary>
<value>
Defaults to an empty list.
</value>
<remarks>
The resources which are related to the update itself, or
to new resources being added by the update. For example, out of zone glue
(A RRs referred to by new NS RRs) should be presented here.
<para>
The server can use or ignore out of zone glue, at the discretion of the
server implementor.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdateMessage.CreateResponse">
<summary>
Create a response for the update message.
</summary>
<returns></returns>
</member>
<member name="M:Makaretu.Dns.UpdateMessage.Read(Makaretu.Dns.WireReader)">
<inheritdoc />
</member>
<member name="M:Makaretu.Dns.UpdateMessage.Write(Makaretu.Dns.WireWriter)">
<inheritdoc />
</member>
<member name="T:Makaretu.Dns.UpdatePrerequisiteList">
<summary>
Preconditions for a update.
</summary>
<remarks>
The list of <see cref="T:Makaretu.Dns.ResourceRecord">resource records</see> which must be
satisfied before an <see cref="T:Makaretu.Dns.UpdateMessage"/> can proceed.
<para>
<c>MustExist</c> and <c>MustNotExist</c> are convenience methods to create the
various preconditions.
</para>
</remarks>
<seealso href="https://tools.ietf.org/html/rfc2136"/>
</member>
<member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)">
<summary>
At least one resource record with the specified name and type must exist
in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
</summary>
<param name="name">A resource name.</param>
<param name="type">One of the RR TYPE codes.</param>
<returns>
The prerequisite list to allow fluent usage.
</returns>
<remarks>
For this prerequisite, a requestor adds to the section a single RR
whose NAME and TYPE are equal to that of the zone RRset whose
existence is required. RDLENGTH is zero and RDATA is therefore
empty. CLASS must be specified as ANY to differentiate this
condition from that of an actual RR whose RDLENGTH is naturally zero
(0) (e.g., NULL). TTL is specified as zero(0).
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist(Makaretu.Dns.DomainName)">
<summary>
At least one resource record with the specified name must exist
in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
</summary>
<param name="name">A resource name.</param>
<returns>
The prerequisite list to allow fluent usage.
</returns>
<remarks>
For this prerequisite, a requestor adds to the section a single RR
whose NAME is equal to that of the name whose ownership of an RR is
required. RDLENGTH is zero and RDATA is therefore empty. CLASS must
be specified as ANY to differentiate this condition from that of an
actual RR whose RDLENGTH is naturally zero (0) (e.g., NULL). TYPE
must be specified as ANY to differentiate this case from that of an
RRset existence test. TTL is specified as zero (0).
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist``1(Makaretu.Dns.DomainName)">
<summary>
At least one resource record with the specified name and type must exist
in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
</summary>
<typeparam name="T">
A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</typeparam>
<param name="name">A resource name.</param>
<returns>
The prerequisite list to allow fluent usage.
</returns>
<remarks>
For this prerequisite, a requestor adds to the section a single RR
whose NAME is equal to that of the name whose ownership of an RR is
required. RDLENGTH is zero and RDATA is therefore empty. CLASS must
be specified as ANY to differentiate this condition from that of an
actual RR whose RDLENGTH is naturally zero (0) (e.g., NULL). TYPE
must be specified as ANY to differentiate this case from that of an
RRset existence test. TTL is specified as zero (0).
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist(Makaretu.Dns.ResourceRecord)">
<summary>
A resource record exists with the specified NAME, TYPE and RDATA.
</summary>
<param name="resource">A resource record.</param>
<returns>
The prerequisite list to allow fluent usage.
</returns>
<remarks>
For this prerequisite, a requestor adds to the section an entire
RRset whose preexistence is required. NAME and TYPE are that of the
RRset being denoted. CLASS is that of the zone. TTL must be
specified as zero (0) and is ignored when comparing RRsets for
identity.
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustNotExist(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)">
<summary>
No resource record with the specified name and type can exist
in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
</summary>
<param name="name">A resource name.</param>
<param name="type">One of the RR TYPE codes.</param>
<returns>
The prerequisite list to allow fluent usage.
</returns>
<remarks>
For this prerequisite, a requestor adds to the section a single RR
whose NAME and TYPE are equal to that of the RRset whose nonexistence
is required. The RDLENGTH of this record is zero (0), and RDATA
field is therefore empty. CLASS must be specified as NONE in order
to distinguish this condition from a valid RR whose RDLENGTH is
naturally zero (0) (for example, the NULL RR). TTL must be specified
as zero(0).
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustNotExist(Makaretu.Dns.DomainName)">
<summary>
No resource record with the specified name can exist
in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
</summary>
<param name="name">A resource name.</param>
<returns>
The prerequisite list to allow fluent usage.
</returns>
<remarks>
For this prerequisite, a requestor adds to the section a single RR
whose NAME is equal to that of the name whose nonownership of any RRs
is required. RDLENGTH is zero and RDATA is therefore empty. CLASS
must be specified as NONE. TYPE must be specified as ANY. TTL must
be specified as zero (0).
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustNotExist``1(Makaretu.Dns.DomainName)">
<summary>
No resource record with the specified name and type can exist
in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
</summary>
<typeparam name="T">
A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</typeparam>
<param name="name">A resource name.</param>
<returns>
The prerequisite list to allow fluent usage.
</returns>
<remarks>
For this prerequisite, a requestor adds to the section a single RR
whose NAME and TYPE are equal to that of the RRset whose nonexistence
is required. The RDLENGTH of this record is zero (0), and RDATA
field is therefore empty. CLASS must be specified as NONE in order
to distinguish this condition from a valid RR whose RDLENGTH is
naturally zero (0) (for example, the NULL RR). TTL must be specified
as zero(0).
</remarks>
</member>
<member name="T:Makaretu.Dns.UpdateResourceList">
<summary>
Resource records to add or delete from the zone.
</summary>
<remarks>
The list of <see cref="T:Makaretu.Dns.ResourceRecord">resource records</see> which are
adde or deleted from the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
<para>
<c>AddResource</c> and <c>DeleteResource</c> are convenience methods to specify
the update operations.
</para>
</remarks>
<seealso href="https://tools.ietf.org/html/rfc2136"/>
</member>
<member name="M:Makaretu.Dns.UpdateResourceList.AddResource(Makaretu.Dns.ResourceRecord)">
<summary>
Add the resource to the zone.
</summary>
<param name="resource">
The <see cref="T:Makaretu.Dns.ResourceRecord"/> to add to the zone.
</param>
<returns>
The update resource list to allow fluent usage.
</returns>
<remarks>
Equivalent to <see cref="M:System.Collections.Generic.List`1.Add(`0)"/>.
<para>
A duplicate <see cref="T:Makaretu.Dns.ResourceRecord"/> will be silently ignored by the primary
master.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.ResourceRecord)">
<summary>
Delete the resource record from the zone.
</summary>
<param name="resource">
The <see cref="T:Makaretu.Dns.ResourceRecord"/> to delete from the zone.
</param>
<returns>
The update resource list to allow fluent usage.
</returns>
<remarks>
The NAME, TYPE, RDLENGTH and RDATA must match the RR being deleted.
TTL must be specified as zero(0) and will otherwise be ignored by the primary
master. CLASS must be specified as NONE to distinguish this from an
RR addition.
<para>
If no such RRsets exist, then
this Update RR will be silently ignored by the primary master.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.DomainName)">
<summary>
Delete the resource records with the specifified name.
</summary>
<param name="name">A resource name.</param>
<returns>
The update resource list to allow fluent usage.
</returns>
<remarks>
TYPE must be specified as ANY. TTL must
be specified as zero(0) and is otherwise not used by the primary
master. CLASS must be specified as ANY. RDLENGTH must be zero(0)
and RDATA must therefore be empty.
<para>
If no such RRsets exist, then
this Update RR will be silently ignored by the primary master.
</para>
</remarks>
</member>
<member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)">
<summary>
Delete the resource records with the specifified name and type.
</summary>
<param name="name">A resource name.</param>
<param name="type">One of the RR TYPE codes.</param>
<returns>
The update resource list to allow fluent usage.
</returns>
<remarks>
TTL must be specified as zero(0) and is otherwise not used by the primary
master. CLASS must be specified as ANY. RDLENGTH must be zero(0)
and RDATA must therefore be empty.
<para>
If no such RRsets exist, then
this Update RR will be silently ignored by the primary master.
</para>
</remarks>
<seealso cref="M:Makaretu.Dns.UpdateResourceList.DeleteResource``1(Makaretu.Dns.DomainName)"/>
</member>
<member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource``1(Makaretu.Dns.DomainName)">
<summary>
Delete the resource records with the specifified name and type.
</summary>
<param name="name">A resource name.</param>
<typeparam name="T">
A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
</typeparam>
<returns>
The update resource list to allow fluent usage.
</returns>
<remarks>
TTL must be specified as zero(0) and is otherwise not used by the primary
master. CLASS must be specified as ANY. RDLENGTH must be zero(0)
and RDATA must therefore be empty.
<para>
If no such RRsets exist, then
this Update RR will be silently ignored by the primary master.
</para>
</remarks>
<seealso cref="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)"/>
</member>
<member name="T:Makaretu.Dns.WireReader">
<summary>
Methods to read DNS wire formatted data items.
</summary>
</member>
<member name="F:Makaretu.Dns.WireReader.Position">
<summary>
The reader relative position within the stream.
</summary>
</member>
<member name="M:Makaretu.Dns.WireReader.#ctor(System.IO.Stream)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.WireReader"/> on the
specified <see cref="T:System.IO.Stream"/>.
</summary>
<param name="stream">
The source for data items.
</param>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadByte">
<summary>
Read a byte.
</summary>
<returns>
The next byte in the stream.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadBytes(System.Int32)">
<summary>
Read the specified number of bytes.
</summary>
<param name="length">
The number of bytes to read.
</param>
<returns>
The next <paramref name="length"/> bytes in the stream.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadByteLengthPrefixedBytes">
<summary>
Read the bytes with a byte length prefix.
</summary>
<returns>
The next N bytes.
</returns>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadUInt16LengthPrefixedBytes">
<summary>
Read the bytes with an uint16 length prefix.
</summary>
<returns>
The next N bytes.
</returns>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadUInt16">
<summary>
Read an unsigned short.
</summary>
<returns>
The two byte little-endian value as an unsigned short.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadUInt32">
<summary>
Read an unsigned int.
</summary>
<returns>
The four byte little-endian value as an unsigned int.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadUInt48">
<summary>
Read an unsigned long from 48 bits.
</summary>
<returns>
The six byte little-endian value as an unsigned long.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadDomainName">
<summary>
Read a domain name.
</summary>
<returns>
The domain name.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
<exception cref="T:System.IO.InvalidDataException">
Only ASCII characters are allowed.
</exception>
<remarks>
A domain name is represented as a sequence of labels, where
each label consists of a length octet followed by that
number of octets. The domain name terminates with the
zero length octet for the null label of the root.
<note>
Compressed domain names are also supported.
</note>
</remarks>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadString">
<summary>
Read a string.
</summary>
<remarks>
Strings are encoded with a length prefixed byte. All strings are ASCII.
</remarks>
<returns>
The string.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
<exception cref="T:System.IO.InvalidDataException">
Only ASCII characters are allowed.
</exception>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadTimeSpan16">
<summary>
Read a time span (interval) with 16-bits.
</summary>
<returns>
A <see cref="T:System.TimeSpan"/> with second resolution.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
<remarks>
The interval is represented as the number of seconds in two bytes.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadTimeSpan32">
<summary>
Read a time span (interval) with 32-bits.
</summary>
<returns>
A <see cref="T:System.TimeSpan"/> with second resolution.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
<remarks>
The interval is represented as the number of seconds in four bytes.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadIPAddress(System.Int32)">
<summary>
Read an Internet address.
</summary>
<returns>
An <see cref="T:System.Net.IPAddress"/>.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
<remarks>
Use a <paramref name="length"/> of 4 to read an IPv4 address and
16 to read an IPv6 address.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadBitmap">
<summary>
Reads a bitmap.
</summary>
<returns>
The sequence of values encoded by the bitmap.
</returns>
<remarks>
<see href="https://tools.ietf.org/html/rfc3845#section-2.1.2"/> for the
encoding details.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadDateTime32">
<summary>
Read a <see cref="T:System.DateTime"/> that is represented in
seconds (32 bits) from the Unix epoch.
</summary>
<returns>
A <see cref="T:System.DateTime"/> in <see cref="F:System.DateTimeKind.Utc"/>.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
</member>
<member name="M:Makaretu.Dns.WireReader.ReadDateTime48">
<summary>
Read a <see cref="T:System.DateTime"/> that is represented in
seconds (48 bits) from the Unix epoch.
</summary>
<returns>
A <see cref="T:System.DateTime"/> in <see cref="F:System.DateTimeKind.Utc"/>.
</returns>
<exception cref="T:System.IO.EndOfStreamException">
When no more data is available.
</exception>
</member>
<member name="T:Makaretu.Dns.WireWriter">
<summary>
Methods to write DNS wire formatted data items.
</summary>
</member>
<member name="F:Makaretu.Dns.WireWriter.Position">
<summary>
The writer relative position within the stream.
</summary>
</member>
<member name="M:Makaretu.Dns.WireWriter.#ctor(System.IO.Stream)">
<summary>
Creates a new instance of the <see cref="T:Makaretu.Dns.WireWriter"/> on the
specified <see cref="T:System.IO.Stream"/>.
</summary>
<param name="stream">
The destination for data items.
</param>
</member>
<member name="P:Makaretu.Dns.WireWriter.CanonicalForm">
<summary>
Determines if canonical records are produced.
</summary>
<value>
<b>true</b> to produce canonical records; otherwise <b>false</b>.
Defaults to false.
</value>
<remarks>
When enabled, the following rules are applied
<list type="bullet">
<item><description>Domain names are uncompressed</description></item>
<item><description>Domain names are converted to US-ASCII lowercase</description></item>
</list>
</remarks>
<seealso href="https://tools.ietf.org/html/rfc4034#section-6.2"/>
</member>
<member name="M:Makaretu.Dns.WireWriter.PushLengthPrefixedScope">
<summary>
Start a length prefixed stream.
</summary>
<remarks>
A memory stream is created for writing. When it is popped,
the memory stream's position is writen as an UInt16 and its
contents are copied to the current stream.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.PopLengthPrefixedScope">
<summary>
Start a length prefixed stream.
</summary>
<remarks>
A memory stream is created for writing. When it is popped,
the memory stream's position is writen as an UInt16 and its
contents are copied to the current stream.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteByte(System.Byte)">
<summary>
Write a byte.
</summary>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteBytes(System.Byte[])">
<summary>
Write a sequence of bytes.
</summary>
<param name="bytes">
A sequence of bytes to write.
</param>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteByteLengthPrefixedBytes(System.Byte[])">
<summary>
Write a sequence of bytes prefixed with the length as a byte.
</summary>
<param name="bytes">
A sequence of bytes to write.
</param>
<exception cref="T:System.ArgumentException">
When the length is greater than <see cref="F:System.Byte.MaxValue"/>.
</exception>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteUint16LengthPrefixedBytes(System.Byte[])">
<summary>
Write a sequence of bytes prefixed with the length as a unint16.
</summary>
<param name="bytes">
A sequence of bytes to write.
</param>
<exception cref="T:System.ArgumentException">
When the length is greater than <see cref="F:System.UInt16.MaxValue"/>.
</exception>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteUInt16(System.UInt16)">
<summary>
Write an unsigned short.
</summary>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteUInt32(System.UInt32)">
<summary>
Write an unsigned int.
</summary>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteUInt48(System.UInt64)">
<summary>
Write an unsigned long in 48 bits.
</summary>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteDomainName(System.String,System.Boolean)">
<summary>
Write a domain name.
</summary>
<param name="name">
The name to write.
</param>
<param name="uncompressed">
Determines if the <paramref name="name"/> must be uncompressed. The
defaultl is false (allow compression).
<see cref="P:Makaretu.Dns.WireWriter.CanonicalForm"/> overrides this value.
</param>
<exception cref="T:System.ArgumentException">
When a label length is greater than 63 octets.
</exception>
<remarks>
A domain name is represented as a sequence of labels, where
each label consists of a length octet followed by that
number of octets.The domain name terminates with the
zero length octet for the null label of the root. Note
that this field may be an odd number of octets; no
padding is used.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteDomainName(Makaretu.Dns.DomainName,System.Boolean)">
<summary>
Write a domain name.
</summary>
<param name="name">
The name to write.
</param>
<param name="uncompressed">
Determines if the <paramref name="name"/> must be uncompressed. The
defaultl is false (allow compression).
<see cref="P:Makaretu.Dns.WireWriter.CanonicalForm"/> overrides this value.
</param>
<exception cref="T:System.ArgumentException">
When a label length is greater than 63 octets.
</exception>
<remarks>
A domain name is represented as a sequence of labels, where
each label consists of a length octet followed by that
number of octets.The domain name terminates with the
zero length octet for the null label of the root. Note
that this field may be an odd number of octets; no
padding is used.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteString(System.String)">
<summary>
Write a string.
</summary>
<exception cref="T:System.ArgumentException">
When the length is greater than <see cref="F:System.Byte.MaxValue"/> or
the string is not ASCII.
</exception>
<remarks>
Strings are encoded with a length prefixed byte. All strings must be
ASCII.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteTimeSpan16(System.TimeSpan)">
<summary>
Write a time span with 16-bits.
</summary>
<param name="value">
The number of non-negative seconds.
</param>
<remarks>
The interval is represented as the number of seconds in two bytes.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteTimeSpan32(System.TimeSpan)">
<summary>
Write a time span with 32-bits.
</summary>
<param name="value">
The number of non-negative seconds.
</param>
<remarks>
The interval is represented as the number of seconds in four bytes.
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteDateTime32(System.DateTime)">
<summary>
Write a date/time.
</summary>
<param name="value">
The <see cref="T:System.DateTime"/> in UTC to write.
</param>
<exception cref="T:System.OverflowException">
<paramref name="value"/> seconds cannot be represented
in 32 bits.
</exception>
<remarks>
Write the <paramref name="value"/> as the number seconds
since the Unix epoch. The seconds is represented as 32-bit
unsigned int
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteDateTime48(System.DateTime)">
<summary>
Write a date/time.
</summary>
<param name="value">
The <see cref="T:System.DateTime"/> in UTC to write.
</param>
<exception cref="T:System.OverflowException">
<paramref name="value"/> seconds cannot be represented
in 48 bits.
</exception>
<remarks>
Write the <paramref name="value"/> as the number seconds
since the Unix epoch. The seconds is represented as 48-bit
unsigned int
</remarks>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteIPAddress(System.Net.IPAddress)">
<summary>
Write an IP address.
</summary>
<param name="value"></param>
</member>
<member name="M:Makaretu.Dns.WireWriter.WriteBitmap(System.Collections.Generic.IEnumerable{System.UInt16})">
<summary>
Write the bitmap(s) for the values.
</summary>
<param name="values">
The sequence of values to encode into a bitmap.
</param>
</member>
</members>
</doc>