Electroneum
rrdef.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sldns_struct_rr_descriptor
 

Macros

#define LDNS_MAX_LABELLEN   63
 
#define LDNS_MAX_DOMAINLEN   255
 
#define LDNS_MAX_POINTERS   65535
 
#define LDNS_RR_OVERHEAD   10
 
#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
 
#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
 

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 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
}
 
enum  sldns_enum_rr_compress { LDNS_RR_COMPRESS, LDNS_RR_NO_COMPRESS }
 
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_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
}
 
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_BITMAP = LDNS_RDF_TYPE_NSEC
}
 
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
}
 
enum  sldns_enum_hash { LDNS_SHA1 = 1, LDNS_SHA256 = 2, LDNS_HASH_GOST = 3, LDNS_SHA384 = 4 }
 
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
}
 
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_KEEPALIVE = 11,
  LDNS_EDNS_PADDING = 12
}
 

Functions

const sldns_rr_descriptorsldns_rr_descript (uint16_t type)
 
size_t sldns_rr_descriptor_minimum (const sldns_rr_descriptor *descriptor)
 
size_t sldns_rr_descriptor_maximum (const sldns_rr_descriptor *descriptor)
 
sldns_rdf_type sldns_rr_descriptor_field_type (const sldns_rr_descriptor *descriptor, size_t field)
 
sldns_rr_type sldns_get_rr_type_by_name (const char *name)
 
sldns_rr_class sldns_get_rr_class_by_name (const char *name)
 

Variables

struct sldns_struct_lookup_tablesldns_rr_classes
 

Detailed Description

Defines resource record types and constants.

Definition in file rrdef.h.

Macro Definition Documentation

◆ LDNS_APL_IP4

#define LDNS_APL_IP4   1

Definition at line 257 of file rrdef.h.

◆ LDNS_APL_IP6

#define LDNS_APL_IP6   2

Definition at line 258 of file rrdef.h.

◆ LDNS_APL_MASK

#define LDNS_APL_MASK   0x7f

Definition at line 259 of file rrdef.h.

◆ LDNS_APL_NEGATION

#define LDNS_APL_NEGATION   0x80

Definition at line 260 of file rrdef.h.

◆ LDNS_DNSSEC_KEYPROTO

#define LDNS_DNSSEC_KEYPROTO   3

Definition at line 35 of file rrdef.h.

◆ LDNS_EDNS_MASK_DO_BIT

#define LDNS_EDNS_MASK_DO_BIT   0x8000

Definition at line 435 of file rrdef.h.

◆ LDNS_KEY_REVOKE_KEY

#define LDNS_KEY_REVOKE_KEY   0x0080 /* used to revoke KSK, rfc 5011 */

Definition at line 38 of file rrdef.h.

◆ LDNS_KEY_SEP_KEY

#define LDNS_KEY_SEP_KEY   0x0001 /* set for KSK, rfc 4034 */

Definition at line 37 of file rrdef.h.

◆ LDNS_KEY_ZONE_KEY

#define LDNS_KEY_ZONE_KEY   0x0100 /* set for ZSK&KSK, rfc 4034 */

Definition at line 36 of file rrdef.h.

◆ LDNS_MAX_DOMAINLEN

#define LDNS_MAX_DOMAINLEN   255

Maximum length of a complete dname

Definition at line 29 of file rrdef.h.

◆ LDNS_MAX_LABELLEN

#define LDNS_MAX_LABELLEN   63

Maximum length of a dname label

Definition at line 27 of file rrdef.h.

◆ LDNS_MAX_POINTERS

#define LDNS_MAX_POINTERS   65535

Maximum number of pointers in 1 dname

Definition at line 31 of file rrdef.h.

◆ LDNS_MAX_RDFLEN

#define LDNS_MAX_RDFLEN   65535

Definition at line 246 of file rrdef.h.

◆ LDNS_NSEC3_VARS_OPTOUT_MASK

#define LDNS_NSEC3_VARS_OPTOUT_MASK   0x01

Definition at line 255 of file rrdef.h.

◆ LDNS_RDATA_FIELD_DESCRIPTORS_COMMON

#define LDNS_RDATA_FIELD_DESCRIPTORS_COMMON   259

Definition at line 41 of file rrdef.h.

◆ LDNS_RDF_SIZE_16BYTES

#define LDNS_RDF_SIZE_16BYTES   16

Definition at line 253 of file rrdef.h.

◆ LDNS_RDF_SIZE_6BYTES

#define LDNS_RDF_SIZE_6BYTES   6

Definition at line 251 of file rrdef.h.

◆ LDNS_RDF_SIZE_8BYTES

#define LDNS_RDF_SIZE_8BYTES   8

Definition at line 252 of file rrdef.h.

◆ LDNS_RDF_SIZE_BYTE

#define LDNS_RDF_SIZE_BYTE   1

Definition at line 248 of file rrdef.h.

◆ LDNS_RDF_SIZE_DOUBLEWORD

#define LDNS_RDF_SIZE_DOUBLEWORD   4

Definition at line 250 of file rrdef.h.

◆ LDNS_RDF_SIZE_WORD

#define LDNS_RDF_SIZE_WORD   2

Definition at line 249 of file rrdef.h.

◆ LDNS_RR_OVERHEAD

#define LDNS_RR_OVERHEAD   10

The bytes TTL, CLASS and length use up in an rr

Definition at line 33 of file rrdef.h.

◆ LDNS_TSIG_ERROR_BADALG

#define LDNS_TSIG_ERROR_BADALG   21

Definition at line 444 of file rrdef.h.

◆ LDNS_TSIG_ERROR_BADKEY

#define LDNS_TSIG_ERROR_BADKEY   17

Definition at line 440 of file rrdef.h.

◆ LDNS_TSIG_ERROR_BADMODE

#define LDNS_TSIG_ERROR_BADMODE   19

Definition at line 442 of file rrdef.h.

◆ LDNS_TSIG_ERROR_BADNAME

#define LDNS_TSIG_ERROR_BADNAME   20

Definition at line 443 of file rrdef.h.

◆ LDNS_TSIG_ERROR_BADSIG

#define LDNS_TSIG_ERROR_BADSIG   16

Definition at line 439 of file rrdef.h.

◆ LDNS_TSIG_ERROR_BADTIME

#define LDNS_TSIG_ERROR_BADTIME   18

Definition at line 441 of file rrdef.h.

◆ LDNS_TSIG_ERROR_NOERROR

#define LDNS_TSIG_ERROR_NOERROR   0

TSIG and TKEY extended rcodes (16bit), 0-15 are the normal rcodes.

Definition at line 438 of file rrdef.h.

Typedef Documentation

◆ sldns_algorithm

Definition at line 385 of file rrdef.h.

◆ sldns_cert_algorithm

Definition at line 415 of file rrdef.h.

◆ sldns_edns_option

Definition at line 433 of file rrdef.h.

◆ sldns_hash

Definition at line 397 of file rrdef.h.

◆ sldns_rdf_type

Definition at line 360 of file rrdef.h.

◆ sldns_rr_class

Definition at line 66 of file rrdef.h.

◆ sldns_rr_compress

Definition at line 77 of file rrdef.h.

◆ sldns_rr_descriptor

Definition at line 470 of file rrdef.h.

◆ sldns_rr_type

Definition at line 243 of file rrdef.h.

Enumeration Type Documentation

◆ sldns_enum_algorithm

Algorithms used in dns

Enumerator
LDNS_RSAMD5 
LDNS_DH 
LDNS_DSA 
LDNS_ECC 
LDNS_RSASHA1 
LDNS_DSA_NSEC3 
LDNS_RSASHA1_NSEC3 
LDNS_RSASHA256 
LDNS_RSASHA512 
LDNS_ECC_GOST 
LDNS_ECDSAP256SHA256 
LDNS_ECDSAP384SHA384 
LDNS_ED25519 
LDNS_ED448 
LDNS_INDIRECT 
LDNS_PRIVATEDNS 
LDNS_PRIVATEOID 

Definition at line 365 of file rrdef.h.

366 {
367  LDNS_RSAMD5 = 1, /* RFC 4034,4035 */
368  LDNS_DH = 2,
369  LDNS_DSA = 3,
370  LDNS_ECC = 4,
371  LDNS_RSASHA1 = 5,
372  LDNS_DSA_NSEC3 = 6,
373  LDNS_RSASHA1_NSEC3 = 7,
374  LDNS_RSASHA256 = 8, /* RFC 5702 */
375  LDNS_RSASHA512 = 10, /* RFC 5702 */
376  LDNS_ECC_GOST = 12, /* RFC 5933 */
377  LDNS_ECDSAP256SHA256 = 13, /* RFC 6605 */
378  LDNS_ECDSAP384SHA384 = 14, /* RFC 6605 */
379  LDNS_ED25519 = 15, /* RFC 8080 */
380  LDNS_ED448 = 16, /* RFC 8080 */
381  LDNS_INDIRECT = 252,
382  LDNS_PRIVATEDNS = 253,
383  LDNS_PRIVATEOID = 254
384 };
Definition: rrdef.h:368

◆ sldns_enum_cert_algorithm

algorithms used in CERT rrs

Enumerator
LDNS_CERT_PKIX 
LDNS_CERT_SPKI 
LDNS_CERT_PGP 
LDNS_CERT_IPKIX 
LDNS_CERT_ISPKI 
LDNS_CERT_IPGP 
LDNS_CERT_ACPKIX 
LDNS_CERT_IACPKIX 
LDNS_CERT_URI 
LDNS_CERT_OID 

Definition at line 402 of file rrdef.h.

403 {
404  LDNS_CERT_PKIX = 1,
405  LDNS_CERT_SPKI = 2,
406  LDNS_CERT_PGP = 3,
407  LDNS_CERT_IPKIX = 4,
408  LDNS_CERT_ISPKI = 5,
409  LDNS_CERT_IPGP = 6,
410  LDNS_CERT_ACPKIX = 7,
411  LDNS_CERT_IACPKIX = 8,
412  LDNS_CERT_URI = 253,
413  LDNS_CERT_OID = 254
414 };

◆ sldns_enum_edns_option

EDNS option codes

Enumerator
LDNS_EDNS_LLQ 
LDNS_EDNS_UL 
LDNS_EDNS_NSID 
LDNS_EDNS_DAU 
LDNS_EDNS_DHU 
LDNS_EDNS_N3U 
LDNS_EDNS_CLIENT_SUBNET 
LDNS_EDNS_KEEPALIVE 
LDNS_EDNS_PADDING 

Definition at line 420 of file rrdef.h.

421 {
422  LDNS_EDNS_LLQ = 1, /* http://files.dns-sd.org/draft-sekar-dns-llq.txt */
423  LDNS_EDNS_UL = 2, /* http://files.dns-sd.org/draft-sekar-dns-ul.txt */
424  LDNS_EDNS_NSID = 3, /* RFC5001 */
425  /* 4 draft-cheshire-edns0-owner-option */
426  LDNS_EDNS_DAU = 5, /* RFC6975 */
427  LDNS_EDNS_DHU = 6, /* RFC6975 */
428  LDNS_EDNS_N3U = 7, /* RFC6975 */
429  LDNS_EDNS_CLIENT_SUBNET = 8, /* RFC7871 */
430  LDNS_EDNS_KEEPALIVE = 11, /* draft-ietf-dnsop-edns-tcp-keepalive*/
431  LDNS_EDNS_PADDING = 12 /* RFC7830 */
432 };

◆ sldns_enum_hash

Hashing algorithms used in the DS record

Enumerator
LDNS_SHA1 
LDNS_SHA256 
LDNS_HASH_GOST 
LDNS_SHA384 

Definition at line 390 of file rrdef.h.

391 {
392  LDNS_SHA1 = 1, /* RFC 4034 */
393  LDNS_SHA256 = 2, /* RFC 4509 */
394  LDNS_HASH_GOST = 3, /* RFC 5933 */
395  LDNS_SHA384 = 4 /* RFC 6605 */
396 };

◆ 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

LDNS_RDF_TYPE_BITMAP 

Definition at line 265 of file rrdef.h.

266 {
332 
337 
342 
347 
353 
356 
357  /* Aliases */
359 };

◆ 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

LDNS_RR_CLASS_FIRST 
LDNS_RR_CLASS_LAST 
LDNS_RR_CLASS_COUNT 

Definition at line 49 of file rrdef.h.

◆ sldns_enum_rr_compress

Used to specify whether compression is allowed.

Enumerator
LDNS_RR_COMPRESS 

compression is allowed

LDNS_RR_NO_COMPRESS 

Definition at line 71 of file rrdef.h.

◆ 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_NSEC 
LDNS_RR_TYPE_DNSKEY 
LDNS_RR_TYPE_DHCID 
LDNS_RR_TYPE_NSEC3 
LDNS_RR_TYPE_NSEC3PARAM 
LDNS_RR_TYPE_NSEC3PARAMS 
LDNS_RR_TYPE_TLSA 
LDNS_RR_TYPE_SMIMEA 
LDNS_RR_TYPE_HIP 
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_CDS 
LDNS_RR_TYPE_CDNSKEY 

RFC 7344

LDNS_RR_TYPE_OPENPGPKEY 

RFC 7344

LDNS_RR_TYPE_CSYNC 
LDNS_RR_TYPE_SPF 
LDNS_RR_TYPE_UINFO 
LDNS_RR_TYPE_UID 
LDNS_RR_TYPE_GID 
LDNS_RR_TYPE_UNSPEC 
LDNS_RR_TYPE_NID 
LDNS_RR_TYPE_L32 
LDNS_RR_TYPE_L64 
LDNS_RR_TYPE_LP 
LDNS_RR_TYPE_EUI48 

draft-jabley-dnsext-eui48-eui64-rrtypes

LDNS_RR_TYPE_EUI64 
LDNS_RR_TYPE_TKEY 
LDNS_RR_TYPE_TSIG 
LDNS_RR_TYPE_IXFR 
LDNS_RR_TYPE_AXFR 
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_URI 
LDNS_RR_TYPE_CAA 
LDNS_RR_TYPE_AVC 
LDNS_RR_TYPE_TA 

DNSSEC Trust Authorities

LDNS_RR_TYPE_DLV 
LDNS_RR_TYPE_FIRST 
LDNS_RR_TYPE_LAST 
LDNS_RR_TYPE_COUNT 

Definition at line 82 of file rrdef.h.

83 {
85  LDNS_RR_TYPE_A = 1,
87  LDNS_RR_TYPE_NS = 2,
89  LDNS_RR_TYPE_MD = 3,
91  LDNS_RR_TYPE_MF = 4,
95  LDNS_RR_TYPE_SOA = 6,
97  LDNS_RR_TYPE_MB = 7,
99  LDNS_RR_TYPE_MG = 8,
101  LDNS_RR_TYPE_MR = 9,
103  LDNS_RR_TYPE_NULL = 10,
105  LDNS_RR_TYPE_WKS = 11,
107  LDNS_RR_TYPE_PTR = 12,
109  LDNS_RR_TYPE_HINFO = 13,
111  LDNS_RR_TYPE_MINFO = 14,
113  LDNS_RR_TYPE_MX = 15,
115  LDNS_RR_TYPE_TXT = 16,
117  LDNS_RR_TYPE_RP = 17,
119  LDNS_RR_TYPE_AFSDB = 18,
121  LDNS_RR_TYPE_X25 = 19,
123  LDNS_RR_TYPE_ISDN = 20,
125  LDNS_RR_TYPE_RT = 21,
127  LDNS_RR_TYPE_NSAP = 22,
131  LDNS_RR_TYPE_SIG = 24,
133  LDNS_RR_TYPE_KEY = 25,
135  LDNS_RR_TYPE_PX = 26,
137  LDNS_RR_TYPE_GPOS = 27,
139  LDNS_RR_TYPE_AAAA = 28,
141  LDNS_RR_TYPE_LOC = 29,
143  LDNS_RR_TYPE_NXT = 30,
145  LDNS_RR_TYPE_EID = 31,
147  LDNS_RR_TYPE_NIMLOC = 32,
149  LDNS_RR_TYPE_SRV = 33,
151  LDNS_RR_TYPE_ATMA = 34,
153  LDNS_RR_TYPE_NAPTR = 35,
155  LDNS_RR_TYPE_KX = 36,
157  LDNS_RR_TYPE_CERT = 37,
159  LDNS_RR_TYPE_A6 = 38,
161  LDNS_RR_TYPE_DNAME = 39,
163  LDNS_RR_TYPE_SINK = 40,
165  LDNS_RR_TYPE_OPT = 41,
167  LDNS_RR_TYPE_APL = 42,
169  LDNS_RR_TYPE_DS = 43,
171  LDNS_RR_TYPE_SSHFP = 44, /* RFC 4255 */
173  LDNS_RR_TYPE_IPSECKEY = 45, /* RFC 4025 */
175  LDNS_RR_TYPE_RRSIG = 46, /* RFC 4034 */
176  LDNS_RR_TYPE_NSEC = 47, /* RFC 4034 */
177  LDNS_RR_TYPE_DNSKEY = 48, /* RFC 4034 */
178 
179  LDNS_RR_TYPE_DHCID = 49, /* RFC 4701 */
180  /* NSEC3 */
181  LDNS_RR_TYPE_NSEC3 = 50, /* RFC 5155 */
182  LDNS_RR_TYPE_NSEC3PARAM = 51, /* RFC 5155 */
184  LDNS_RR_TYPE_TLSA = 52, /* RFC 6698 */
185  LDNS_RR_TYPE_SMIMEA = 53, /* draft-ietf-dane-smime, TLSA-like but may
186  be extended */
187 
188  LDNS_RR_TYPE_HIP = 55, /* RFC 5205 */
189 
191  LDNS_RR_TYPE_NINFO = 56,
193  LDNS_RR_TYPE_RKEY = 57,
195  LDNS_RR_TYPE_TALINK = 58,
196  LDNS_RR_TYPE_CDS = 59,
197  LDNS_RR_TYPE_CDNSKEY = 60,
198  LDNS_RR_TYPE_OPENPGPKEY = 61, /* RFC 7929 */
199  LDNS_RR_TYPE_CSYNC = 62, /* RFC 7477 */
200 
201  LDNS_RR_TYPE_SPF = 99, /* RFC 4408 */
202 
203  LDNS_RR_TYPE_UINFO = 100,
204  LDNS_RR_TYPE_UID = 101,
205  LDNS_RR_TYPE_GID = 102,
206  LDNS_RR_TYPE_UNSPEC = 103,
207 
208  LDNS_RR_TYPE_NID = 104, /* RFC 6742 */
209  LDNS_RR_TYPE_L32 = 105, /* RFC 6742 */
210  LDNS_RR_TYPE_L64 = 106, /* RFC 6742 */
211  LDNS_RR_TYPE_LP = 107, /* RFC 6742 */
212 
214  LDNS_RR_TYPE_EUI48 = 108,
215  LDNS_RR_TYPE_EUI64 = 109,
216 
217  LDNS_RR_TYPE_TKEY = 249, /* RFC 2930 */
218  LDNS_RR_TYPE_TSIG = 250,
219  LDNS_RR_TYPE_IXFR = 251,
220  LDNS_RR_TYPE_AXFR = 252,
222  LDNS_RR_TYPE_MAILB = 253,
224  LDNS_RR_TYPE_MAILA = 254,
226  LDNS_RR_TYPE_ANY = 255,
227  LDNS_RR_TYPE_URI = 256, /* RFC 7553 */
228  LDNS_RR_TYPE_CAA = 257, /* RFC 6844 */
229  LDNS_RR_TYPE_AVC = 258,
230 
232  LDNS_RR_TYPE_TA = 32768,
233  /* RFC 4431, 5074, DNSSEC Lookaside Validation */
234  LDNS_RR_TYPE_DLV = 32769,
235 
236  /* type codes from nsec3 experimental phase
237  LDNS_RR_TYPE_NSEC3 = 65324,
238  LDNS_RR_TYPE_NSEC3PARAMS = 65325, */
239  LDNS_RR_TYPE_FIRST = 0,
240  LDNS_RR_TYPE_LAST = 65535,
242 };

Function Documentation

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

Variable Documentation

◆ sldns_rr_classes

struct sldns_struct_lookup_table* sldns_rr_classes

lookuptable for rr classes