Represents a TXT record entry representing a key/value pair (RFC 6763 - section 6.3).

The string buffers pointed to by mKey and mValue MUST persist and remain unchanged after an instance of such structure is passed to OpenThread (as part of otSrpClientService instance).

An array of otDnsTxtEntry entries are used in otSrpClientService to specify the full TXT record (a list of entries).

Public Attributes#

const char *

The TXT record key string.

const uint8_t *

The TXT record value or already encoded TXT-DATA (depending on mKey).

uint16_t

Number of bytes in mValue buffer.

Public Attribute Documentation#

mKey#

const char* otDnsTxtEntry::mKey

The TXT record key string.

If mKey is not NULL, then it MUST be a null-terminated C string. The entry is treated as key/value pair with mValue buffer providing the value.

  • The entry is encoded as follows:

    • A single string length byte followed by "key=value" format (without the quotation marks).

    • In this case, the overall encoded length must be 255 bytes or less.

  • If mValue is NULL, then key is treated as a boolean attribute and encoded as "key" (with no =).

  • If mValue is not NULL but mValueLength is zero, then it is treated as empty value and encoded as "key=".

If mKey is NULL, then mValue buffer is treated as an already encoded TXT-DATA and is appended as is in the DNS message.


Definition at line 91 of file include/openthread/dns.h

mValue#

const uint8_t* otDnsTxtEntry::mValue

The TXT record value or already encoded TXT-DATA (depending on mKey).


Definition at line 92 of file include/openthread/dns.h

mValueLength#

uint16_t otDnsTxtEntry::mValueLength

Number of bytes in mValue buffer.


Definition at line 93 of file include/openthread/dns.h