rrdef.h File Reference

Defines resource record types and constants. More...

Data Structures

struct  sldns_struct_rr_descriptor
 Contains all information about resource record types. More...
 

Macros

#define LDNS_MAX_LABELLEN   63
 Maximum length of a dname label.
 
#define LDNS_MAX_DOMAINLEN   255
 Maximum length of a complete dname.
 
#define LDNS_MAX_POINTERS   65535
 Maximum number of pointers in 1 dname.
 
#define LDNS_RR_OVERHEAD   10
 The bytes TTL, CLASS and length use up in an rr.
 
#define LDNS_DNSSEC_KEYPROTO   3
 
#define LDNS_KEY_ZONE_KEY   0x0100 /* set for ZSK&KSK, rfc 4034 */
 
#define LDNS_KEY_SEP_KEY   0x0001 /* set for KSK, rfc 4034 */
 
#define LDNS_KEY_REVOKE_KEY   0x0080 /* used to revoke KSK, rfc 5011 */
 
#define LDNS_RDATA_FIELD_DESCRIPTORS_COMMON   259
 
#define LDNS_MAX_RDFLEN   65535
 
#define LDNS_RDF_SIZE_BYTE   1
 
#define LDNS_RDF_SIZE_WORD   2
 
#define LDNS_RDF_SIZE_DOUBLEWORD   4
 
#define LDNS_RDF_SIZE_6BYTES   6
 
#define LDNS_RDF_SIZE_8BYTES   8
 
#define LDNS_RDF_SIZE_16BYTES   16
 
#define LDNS_NSEC3_VARS_OPTOUT_MASK   0x01
 
#define LDNS_APL_IP4   1
 
#define LDNS_APL_IP6   2
 
#define LDNS_APL_MASK   0x7f
 
#define LDNS_APL_NEGATION   0x80
 
#define LDNS_EDNS_MASK_DO_BIT   0x8000
 
#define LDNS_TSIG_ERROR_NOERROR   0
 TSIG and TKEY extended rcodes (16bit), 0-15 are the normal rcodes.
 
#define LDNS_TSIG_ERROR_BADSIG   16
 
#define LDNS_TSIG_ERROR_BADKEY   17
 
#define LDNS_TSIG_ERROR_BADTIME   18
 
#define LDNS_TSIG_ERROR_BADMODE   19
 
#define LDNS_TSIG_ERROR_BADNAME   20
 
#define LDNS_TSIG_ERROR_BADALG   21
 
#define LDNS_EXT_RCODE_BADCOOKIE   23
 DNS Cookie extended rcode.
 

Typedefs

typedef enum sldns_enum_rr_class sldns_rr_class
 
typedef enum sldns_enum_rr_compress sldns_rr_compress
 
typedef enum sldns_enum_rr_type sldns_rr_type
 
typedef enum sldns_enum_rdf_type sldns_rdf_type
 
typedef enum sldns_enum_algorithm sldns_algorithm
 
typedef enum sldns_enum_hash sldns_hash
 
typedef enum sldns_enum_cert_algorithm sldns_cert_algorithm
 
typedef enum sldns_enum_edns_option sldns_edns_option
 
typedef enum sldns_enum_ede_code sldns_ede_code
 
typedef struct sldns_struct_rr_descriptor sldns_rr_descriptor
 

Enumerations

enum  sldns_enum_rr_class {
  LDNS_RR_CLASS_IN = 1 , LDNS_RR_CLASS_CH = 3 , LDNS_RR_CLASS_HS = 4 , LDNS_RR_CLASS_NONE = 254 ,
  LDNS_RR_CLASS_ANY = 255 , LDNS_RR_CLASS_FIRST = 0 , LDNS_RR_CLASS_LAST = 65535 , LDNS_RR_CLASS_COUNT = LDNS_RR_CLASS_LAST - LDNS_RR_CLASS_FIRST + 1
}
 The different RR classes. More...
 
enum  sldns_enum_rr_compress { LDNS_RR_COMPRESS , LDNS_RR_NO_COMPRESS }
 Used to specify whether compression is allowed. More...
 
enum  sldns_enum_rr_type {
  LDNS_RR_TYPE_A = 1 , LDNS_RR_TYPE_NS = 2 , LDNS_RR_TYPE_MD = 3 , LDNS_RR_TYPE_MF = 4 ,
  LDNS_RR_TYPE_CNAME = 5 , LDNS_RR_TYPE_SOA = 6 , LDNS_RR_TYPE_MB = 7 , LDNS_RR_TYPE_MG = 8 ,
  LDNS_RR_TYPE_MR = 9 , LDNS_RR_TYPE_NULL = 10 , LDNS_RR_TYPE_WKS = 11 , LDNS_RR_TYPE_PTR = 12 ,
  LDNS_RR_TYPE_HINFO = 13 , LDNS_RR_TYPE_MINFO = 14 , LDNS_RR_TYPE_MX = 15 , LDNS_RR_TYPE_TXT = 16 ,
  LDNS_RR_TYPE_RP = 17 , LDNS_RR_TYPE_AFSDB = 18 , LDNS_RR_TYPE_X25 = 19 , LDNS_RR_TYPE_ISDN = 20 ,
  LDNS_RR_TYPE_RT = 21 , LDNS_RR_TYPE_NSAP = 22 , LDNS_RR_TYPE_NSAP_PTR = 23 , LDNS_RR_TYPE_SIG = 24 ,
  LDNS_RR_TYPE_KEY = 25 , LDNS_RR_TYPE_PX = 26 , LDNS_RR_TYPE_GPOS = 27 , LDNS_RR_TYPE_AAAA = 28 ,
  LDNS_RR_TYPE_LOC = 29 , LDNS_RR_TYPE_NXT = 30 , LDNS_RR_TYPE_EID = 31 , LDNS_RR_TYPE_NIMLOC = 32 ,
  LDNS_RR_TYPE_SRV = 33 , LDNS_RR_TYPE_ATMA = 34 , LDNS_RR_TYPE_NAPTR = 35 , LDNS_RR_TYPE_KX = 36 ,
  LDNS_RR_TYPE_CERT = 37 , LDNS_RR_TYPE_A6 = 38 , LDNS_RR_TYPE_DNAME = 39 , LDNS_RR_TYPE_SINK = 40 ,
  LDNS_RR_TYPE_OPT = 41 , LDNS_RR_TYPE_APL = 42 , LDNS_RR_TYPE_DS = 43 , LDNS_RR_TYPE_SSHFP = 44 ,
  LDNS_RR_TYPE_IPSECKEY = 45 , LDNS_RR_TYPE_RRSIG = 46 , LDNS_RR_TYPE_NSEC = 47 , LDNS_RR_TYPE_DNSKEY = 48 ,
  LDNS_RR_TYPE_DHCID = 49 , LDNS_RR_TYPE_NSEC3 = 50 , LDNS_RR_TYPE_NSEC3PARAM = 51 , LDNS_RR_TYPE_NSEC3PARAMS = 51 ,
  LDNS_RR_TYPE_TLSA = 52 , LDNS_RR_TYPE_SMIMEA = 53 , LDNS_RR_TYPE_HIP = 55 , LDNS_RR_TYPE_NINFO = 56 ,
  LDNS_RR_TYPE_RKEY = 57 , LDNS_RR_TYPE_TALINK = 58 , LDNS_RR_TYPE_CDS = 59 , LDNS_RR_TYPE_CDNSKEY = 60 ,
  LDNS_RR_TYPE_OPENPGPKEY = 61 , LDNS_RR_TYPE_CSYNC = 62 , LDNS_RR_TYPE_ZONEMD = 63 , LDNS_RR_TYPE_SVCB = 64 ,
  LDNS_RR_TYPE_HTTPS = 65 , LDNS_RR_TYPE_SPF = 99 , LDNS_RR_TYPE_UINFO = 100 , LDNS_RR_TYPE_UID = 101 ,
  LDNS_RR_TYPE_GID = 102 , LDNS_RR_TYPE_UNSPEC = 103 , LDNS_RR_TYPE_NID = 104 , LDNS_RR_TYPE_L32 = 105 ,
  LDNS_RR_TYPE_L64 = 106 , LDNS_RR_TYPE_LP = 107 , LDNS_RR_TYPE_EUI48 = 108 , LDNS_RR_TYPE_EUI64 = 109 ,
  LDNS_RR_TYPE_TKEY = 249 , LDNS_RR_TYPE_TSIG = 250 , LDNS_RR_TYPE_IXFR = 251 , LDNS_RR_TYPE_AXFR = 252 ,
  LDNS_RR_TYPE_MAILB = 253 , LDNS_RR_TYPE_MAILA = 254 , LDNS_RR_TYPE_ANY = 255 , LDNS_RR_TYPE_URI = 256 ,
  LDNS_RR_TYPE_CAA = 257 , LDNS_RR_TYPE_AVC = 258 , LDNS_RR_TYPE_TA = 32768 , LDNS_RR_TYPE_DLV = 32769 ,
  LDNS_RR_TYPE_FIRST = 0 , LDNS_RR_TYPE_LAST = 65535 , LDNS_RR_TYPE_COUNT = LDNS_RR_TYPE_LAST - LDNS_RR_TYPE_FIRST + 1
}
 The different RR types. More...
 
enum  sldns_enum_rdf_type {
  LDNS_RDF_TYPE_NONE , LDNS_RDF_TYPE_DNAME , LDNS_RDF_TYPE_INT8 , LDNS_RDF_TYPE_INT16 ,
  LDNS_RDF_TYPE_INT32 , LDNS_RDF_TYPE_A , LDNS_RDF_TYPE_AAAA , LDNS_RDF_TYPE_STR ,
  LDNS_RDF_TYPE_APL , LDNS_RDF_TYPE_B32_EXT , LDNS_RDF_TYPE_B64 , LDNS_RDF_TYPE_HEX ,
  LDNS_RDF_TYPE_NSEC , LDNS_RDF_TYPE_TYPE , LDNS_RDF_TYPE_CLASS , LDNS_RDF_TYPE_CERT_ALG ,
  LDNS_RDF_TYPE_ALG , LDNS_RDF_TYPE_UNKNOWN , LDNS_RDF_TYPE_TIME , LDNS_RDF_TYPE_PERIOD ,
  LDNS_RDF_TYPE_TSIGTIME , LDNS_RDF_TYPE_HIP , LDNS_RDF_TYPE_INT16_DATA , LDNS_RDF_TYPE_SERVICE ,
  LDNS_RDF_TYPE_LOC , LDNS_RDF_TYPE_WKS , LDNS_RDF_TYPE_NSAP , LDNS_RDF_TYPE_ATMA ,
  LDNS_RDF_TYPE_IPSECKEY , LDNS_RDF_TYPE_NSEC3_SALT , LDNS_RDF_TYPE_NSEC3_NEXT_OWNER , LDNS_RDF_TYPE_ILNP64 ,
  LDNS_RDF_TYPE_EUI48 , LDNS_RDF_TYPE_EUI64 , LDNS_RDF_TYPE_TAG , LDNS_RDF_TYPE_LONG_STR ,
  LDNS_RDF_TYPE_TSIGERROR , LDNS_RDF_TYPE_SVCPARAM , LDNS_RDF_TYPE_BITMAP = LDNS_RDF_TYPE_NSEC
}
 The different types of RDATA fields. More...
 
enum  sldns_enum_algorithm {
  LDNS_RSAMD5 = 1 , LDNS_DH = 2 , LDNS_DSA = 3 , LDNS_ECC = 4 ,
  LDNS_RSASHA1 = 5 , LDNS_DSA_NSEC3 = 6 , LDNS_RSASHA1_NSEC3 = 7 , LDNS_RSASHA256 = 8 ,
  LDNS_RSASHA512 = 10 , LDNS_ECC_GOST = 12 , LDNS_ECDSAP256SHA256 = 13 , LDNS_ECDSAP384SHA384 = 14 ,
  LDNS_ED25519 = 15 , LDNS_ED448 = 16 , LDNS_INDIRECT = 252 , LDNS_PRIVATEDNS = 253 ,
  LDNS_PRIVATEOID = 254
}
 Algorithms used in dns.
 
enum  sldns_enum_hash { LDNS_SHA1 = 1 , LDNS_SHA256 = 2 , LDNS_HASH_GOST = 3 , LDNS_SHA384 = 4 }
 Hashing algorithms used in the DS record.
 
enum  sldns_enum_cert_algorithm {
  LDNS_CERT_PKIX = 1 , LDNS_CERT_SPKI = 2 , LDNS_CERT_PGP = 3 , LDNS_CERT_IPKIX = 4 ,
  LDNS_CERT_ISPKI = 5 , LDNS_CERT_IPGP = 6 , LDNS_CERT_ACPKIX = 7 , LDNS_CERT_IACPKIX = 8 ,
  LDNS_CERT_URI = 253 , LDNS_CERT_OID = 254
}
 algorithms used in CERT rrs
 
enum  sldns_enum_edns_option {
  LDNS_EDNS_LLQ = 1 , LDNS_EDNS_UL = 2 , LDNS_EDNS_NSID = 3 , LDNS_EDNS_DAU = 5 ,
  LDNS_EDNS_DHU = 6 , LDNS_EDNS_N3U = 7 , LDNS_EDNS_CLIENT_SUBNET = 8 , LDNS_EDNS_COOKIE = 10 ,
  LDNS_EDNS_KEEPALIVE = 11 , LDNS_EDNS_PADDING = 12 , LDNS_EDNS_EDE = 15 , LDNS_EDNS_CLIENT_TAG = 16 ,
  LDNS_EDNS_UNBOUND_CACHEDB_TESTFRAME_TEST = 65534
}
 EDNS option codes.
 
enum  sldns_enum_ede_code {
  LDNS_EDE_NONE = -1 , LDNS_EDE_OTHER = 0 , LDNS_EDE_UNSUPPORTED_DNSKEY_ALG = 1 , LDNS_EDE_UNSUPPORTED_DS_DIGEST = 2 ,
  LDNS_EDE_STALE_ANSWER = 3 , LDNS_EDE_FORGED_ANSWER = 4 , LDNS_EDE_DNSSEC_INDETERMINATE = 5 , LDNS_EDE_DNSSEC_BOGUS = 6 ,
  LDNS_EDE_SIGNATURE_EXPIRED = 7 , LDNS_EDE_SIGNATURE_NOT_YET_VALID = 8 , LDNS_EDE_DNSKEY_MISSING = 9 , LDNS_EDE_RRSIGS_MISSING = 10 ,
  LDNS_EDE_NO_ZONE_KEY_BIT_SET = 11 , LDNS_EDE_NSEC_MISSING = 12 , LDNS_EDE_CACHED_ERROR = 13 , LDNS_EDE_NOT_READY = 14 ,
  LDNS_EDE_BLOCKED = 15 , LDNS_EDE_CENSORED = 16 , LDNS_EDE_FILTERED = 17 , LDNS_EDE_PROHIBITED = 18 ,
  LDNS_EDE_STALE_NXDOMAIN_ANSWER = 19 , LDNS_EDE_NOT_AUTHORITATIVE = 20 , LDNS_EDE_NOT_SUPPORTED = 21 , LDNS_EDE_NO_REACHABLE_AUTHORITY = 22 ,
  LDNS_EDE_NETWORK_ERROR = 23 , LDNS_EDE_INVALID_DATA = 24 , LDNS_EDE_SIGNATURE_EXPIRED_BEFORE_VALID = 25 , LDNS_EDE_TOO_EARLY = 26 ,
  LDNS_EDE_UNSUPPORTED_NSEC3_ITERATIONS = 27 , LDNS_EDE_BADPROXYPOLICY = 28 , LDNS_EDE_SYNTHESIZED = 29
}
 

Functions

const sldns_rr_descriptorsldns_rr_descript (uint16_t type)
 returns the resource record descriptor for the given rr type. More...
 
size_t sldns_rr_descriptor_minimum (const sldns_rr_descriptor *descriptor)
 returns the minimum number of rdata fields of the rr type this descriptor describes. More...
 
size_t sldns_rr_descriptor_maximum (const sldns_rr_descriptor *descriptor)
 returns the maximum number of rdata fields of the rr type this descriptor describes. More...
 
sldns_rdf_type sldns_rr_descriptor_field_type (const sldns_rr_descriptor *descriptor, size_t field)
 returns the rdf type for the given rdata field number of the rr type for the given descriptor. More...
 
sldns_rr_type sldns_get_rr_type_by_name (const char *name)
 retrieves a rrtype by looking up its name. More...
 
sldns_rr_class sldns_get_rr_class_by_name (const char *name)
 retrieves a class by looking up its name. More...
 

Variables

struct sldns_struct_lookup_tablesldns_rr_classes
 lookuptable for rr classes

 

Detailed Description

Defines resource record types and constants.

Enumeration Type Documentation

◆ sldns_enum_rr_class

The different RR classes.

Enumerator
LDNS_RR_CLASS_IN 

the Internet

LDNS_RR_CLASS_CH 

Chaos class.

LDNS_RR_CLASS_HS 

Hesiod (Dyer 87)

LDNS_RR_CLASS_NONE 

None class, dynamic update.

LDNS_RR_CLASS_ANY 

Any class.

◆ sldns_enum_rr_compress

Used to specify whether compression is allowed.

Enumerator
LDNS_RR_COMPRESS 

compression is allowed

◆ sldns_enum_rr_type

The different RR types.

Enumerator
LDNS_RR_TYPE_A 

a host address

LDNS_RR_TYPE_NS 

an authoritative name server

LDNS_RR_TYPE_MD 

a mail destination (Obsolete - use MX)

LDNS_RR_TYPE_MF 

a mail forwarder (Obsolete - use MX)

LDNS_RR_TYPE_CNAME 

the canonical name for an alias

LDNS_RR_TYPE_SOA 

marks the start of a zone of authority

LDNS_RR_TYPE_MB 

a mailbox domain name (EXPERIMENTAL)

LDNS_RR_TYPE_MG 

a mail group member (EXPERIMENTAL)

LDNS_RR_TYPE_MR 

a mail rename domain name (EXPERIMENTAL)

LDNS_RR_TYPE_NULL 

a null RR (EXPERIMENTAL)

LDNS_RR_TYPE_WKS 

a well known service description

LDNS_RR_TYPE_PTR 

a domain name pointer

LDNS_RR_TYPE_HINFO 

host information

LDNS_RR_TYPE_MINFO 

mailbox or mail list information

LDNS_RR_TYPE_MX 

mail exchange

LDNS_RR_TYPE_TXT 

text strings

LDNS_RR_TYPE_RP 

RFC1183.

LDNS_RR_TYPE_AFSDB 

RFC1183.

LDNS_RR_TYPE_X25 

RFC1183.

LDNS_RR_TYPE_ISDN 

RFC1183.

LDNS_RR_TYPE_RT 

RFC1183.

LDNS_RR_TYPE_NSAP 

RFC1706.

LDNS_RR_TYPE_NSAP_PTR 

RFC1348.

LDNS_RR_TYPE_SIG 

2535typecode

LDNS_RR_TYPE_KEY 

2535typecode

LDNS_RR_TYPE_PX 

RFC2163.

LDNS_RR_TYPE_GPOS 

RFC1712.

LDNS_RR_TYPE_AAAA 

ipv6 address

LDNS_RR_TYPE_LOC 

LOC record RFC1876.

LDNS_RR_TYPE_NXT 

2535typecode

LDNS_RR_TYPE_EID 

draft-ietf-nimrod-dns-01.txt

LDNS_RR_TYPE_NIMLOC 

draft-ietf-nimrod-dns-01.txt

LDNS_RR_TYPE_SRV 

SRV record RFC2782.

LDNS_RR_TYPE_ATMA 

http://www.jhsoft.com/rfc/af-saa-0069.000.rtf

LDNS_RR_TYPE_NAPTR 

RFC2915.

LDNS_RR_TYPE_KX 

RFC2230.

LDNS_RR_TYPE_CERT 

RFC2538.

LDNS_RR_TYPE_A6 

RFC2874.

LDNS_RR_TYPE_DNAME 

RFC2672.

LDNS_RR_TYPE_SINK 

dnsind-kitchen-sink-02.txt

LDNS_RR_TYPE_OPT 

Pseudo OPT record...

LDNS_RR_TYPE_APL 

RFC3123.

LDNS_RR_TYPE_DS 

RFC4034, RFC3658.

LDNS_RR_TYPE_SSHFP 

SSH Key Fingerprint.

LDNS_RR_TYPE_IPSECKEY 

IPsec Key.

LDNS_RR_TYPE_RRSIG 

DNSSEC.

LDNS_RR_TYPE_NINFO 

draft-reid-dnsext-zs

LDNS_RR_TYPE_RKEY 

draft-reid-dnsext-rkey

LDNS_RR_TYPE_TALINK 

draft-ietf-dnsop-trust-history

LDNS_RR_TYPE_CDNSKEY 

RFC 7344.

LDNS_RR_TYPE_OPENPGPKEY 

RFC 7344.

LDNS_RR_TYPE_EUI48 

draft-jabley-dnsext-eui48-eui64-rrtypes

LDNS_RR_TYPE_MAILB 

A request for mailbox-related records (MB, MG or MR)

LDNS_RR_TYPE_MAILA 

A request for mail agent RRs (Obsolete - see MX)

LDNS_RR_TYPE_ANY 

any type (wildcard)

LDNS_RR_TYPE_TA 

DNSSEC Trust Authorities.

◆ sldns_enum_rdf_type

The different types of RDATA fields.

Enumerator
LDNS_RDF_TYPE_NONE 

none

LDNS_RDF_TYPE_DNAME 

domain name

LDNS_RDF_TYPE_INT8 

8 bits

LDNS_RDF_TYPE_INT16 

16 bits

LDNS_RDF_TYPE_INT32 

32 bits

LDNS_RDF_TYPE_A 

A record.

LDNS_RDF_TYPE_AAAA 

AAAA record.

LDNS_RDF_TYPE_STR 

txt string

LDNS_RDF_TYPE_APL 

apl data

LDNS_RDF_TYPE_B32_EXT 

b32 string

LDNS_RDF_TYPE_B64 

b64 string

LDNS_RDF_TYPE_HEX 

hex string

LDNS_RDF_TYPE_NSEC 

nsec type codes

LDNS_RDF_TYPE_TYPE 

a RR type

LDNS_RDF_TYPE_CLASS 

a class

LDNS_RDF_TYPE_CERT_ALG 

certificate algorithm

LDNS_RDF_TYPE_ALG 

a key algorithm

LDNS_RDF_TYPE_UNKNOWN 

unknown types

LDNS_RDF_TYPE_TIME 

time (32 bits)

LDNS_RDF_TYPE_PERIOD 

period

LDNS_RDF_TYPE_TSIGTIME 

tsig time 48 bits

LDNS_RDF_TYPE_HIP 

Represents the Public Key Algorithm, HIT and Public Key fields for the HIP RR types.

A HIP specific rdf type is used because of the unusual layout in wireformat (see RFC 5205 Section 5)

LDNS_RDF_TYPE_INT16_DATA 

variable length any type rdata where the length is specified by the first 2 bytes

LDNS_RDF_TYPE_SERVICE 

protocol and port bitmaps

LDNS_RDF_TYPE_LOC 

location data

LDNS_RDF_TYPE_WKS 

well known services

LDNS_RDF_TYPE_NSAP 

NSAP.

LDNS_RDF_TYPE_ATMA 

ATMA.

LDNS_RDF_TYPE_IPSECKEY 

IPSECKEY.

LDNS_RDF_TYPE_NSEC3_SALT 

nsec3 hash salt

LDNS_RDF_TYPE_NSEC3_NEXT_OWNER 

nsec3 base32 string (with length byte on wire

LDNS_RDF_TYPE_ILNP64 

4 shorts represented as 4 * 16 bit hex numbers separated by colons.

For NID and L64.

LDNS_RDF_TYPE_EUI48 

6 * 8 bit hex numbers separated by dashes.

For EUI48.

LDNS_RDF_TYPE_EUI64 

8 * 8 bit hex numbers separated by dashes.

For EUI64.

LDNS_RDF_TYPE_TAG 

A non-zero sequence of US-ASCII letters and numbers in lower case.

For CAA.

LDNS_RDF_TYPE_LONG_STR 

A <character-string> encoding of the value field as specified [RFC1035], Section 5.1., encoded as remaining rdata.

For CAA, URI.

LDNS_RDF_TYPE_TSIGERROR 

TSIG extended 16bit error value.

Function Documentation

◆ sldns_rr_descript()

const sldns_rr_descriptor* sldns_rr_descript ( uint16_t  type)

returns the resource record descriptor for the given rr type.

Parameters
[in]typethe type value of the rr type
Returns
the sldns_rr_descriptor for this type

Referenced by analyze_rr(), calc_size(), canonical_compare(), decompress_rr_into_buffer(), lowercase_rdata(), print_ext(), rrinternal_parse_rdata(), sldns_wire2str_rdata_scan(), sldns_wire2str_type_print(), and type_rdata_compressable().

◆ sldns_rr_descriptor_minimum()

size_t sldns_rr_descriptor_minimum ( const sldns_rr_descriptor descriptor)

returns the minimum number of rdata fields of the rr type this descriptor describes.

Parameters
[in]descriptorfor an rr type
Returns
the minimum number of rdata fields

References sldns_struct_rr_descriptor::_minimum.

Referenced by sldns_wire2str_rdata_scan().

◆ sldns_rr_descriptor_maximum()

size_t sldns_rr_descriptor_maximum ( const sldns_rr_descriptor descriptor)

returns the maximum number of rdata fields of the rr type this descriptor describes.

Parameters
[in]descriptorfor an rr type
Returns
the maximum number of rdata fields

References sldns_struct_rr_descriptor::_maximum, sldns_struct_rr_descriptor::_variable, and LDNS_RDF_TYPE_NONE.

Referenced by sldns_wire2str_rdata_scan().

◆ sldns_rr_descriptor_field_type()

sldns_rdf_type sldns_rr_descriptor_field_type ( const sldns_rr_descriptor descriptor,
size_t  field 
)

returns the rdf type for the given rdata field number of the rr type for the given descriptor.

Parameters
[in]descriptorfor an rr type
[in]fieldthe field number
Returns
the rdf type for the field

References sldns_struct_rr_descriptor::_variable, sldns_struct_rr_descriptor::_wireformat, and LDNS_RDF_TYPE_NONE.

Referenced by lowercase_rdata(), and sldns_wire2str_rdata_scan().

◆ sldns_get_rr_type_by_name()

sldns_rr_type sldns_get_rr_type_by_name ( const char *  name)

retrieves a rrtype by looking up its name.

Parameters
[in]namea string with the name
Returns
the type which corresponds with the name

Referenced by do_flush_type(), massage_type(), and qlist_parse_line().

◆ sldns_get_rr_class_by_name()

sldns_rr_class sldns_get_rr_class_by_name ( const char *  name)

retrieves a class by looking up its name.

Parameters
[in]namestring with the name
Returns
the cass which corresponds with the name

Referenced by massage_class(), and qlist_parse_line().