ldns(3)
π ldns(3) β the rdata field descriptor page π
okay bestie, welcome to ldns(3) from the Library Functions Manual. this one is all about rdata field descriptors and honestly? it's giving "the blueprint of every RR type ever". grab a snack π
β¨ NAME β¨
ldns_rr_descriptor, ldns_rr_descript, ldns_rr_descriptor_minimum, ldns_rr_descriptor_maximum, ldns_rr_descriptor_field_type β rdata field descriptors. that's the whole vibe. π
πΈ SYNOPSIS πΈ
#include <stdint.h>
#include <stdbool.h>
#include <ldns/ldns.h>
const ldns_rr_descriptor* ldns_rr_descript(uint16_t type);
size_t ldns_rr_descriptor_minimum(const ldns_rr_descriptor *descriptor);
size_t ldns_rr_descriptor_maximum(const ldns_rr_descriptor *descriptor);
ldns_rdf_type ldns_rr_descriptor_field_type(const ldns_rr_descriptor
*descriptor, size_t field);
likeβ¦ look at those signatures. so clean. so crisp. π
π¦ DESCRIPTION π¦
ldns_rr_descriptor
bestie this struct is literally the entire encyclopedia of resource record types. it holds all information about resource record types.
for every single rr type, it contains the rdata fields that are defined. no cap. here it is, verbatim, don't touch a single character:
struct ldns_struct_rr_descriptor
{
Type of the RR that is described here:
ldns_rr_type _type;
Textual name of the RR type.:
const char *_name;
Minimum number of rdata fields in the RRs of this type.:
uint8_t _minimum;
Maximum number of rdata fields in the RRs of this type.:
uint8_t _maximum;
Wireformat specification for the rr, i.e. the types of rdata
fields in their respective order.:
const ldns_rdf_type *_wireformat;
Special rdf types:
ldns_rdf_type _variable;
Specifies whether compression can be used for dnames in this
RR type.:
ldns_rr_compress _compress;
The number of DNAMEs in the _wireformat string, for
parsing.:
uint8_t _dname_count;
};
typedef struct ldns_struct_rr_descriptor ldns_rr_descriptor;
okay so quick field tour because this deserves one π
_typeβ the type of the RR that is described here, typeldns_rr_type_nameβ the textual name of the RR type, typeconst char *_minimumβ minimum number of rdata fields in the RRs of this type, typeuint8_t_maximumβ maximum number of rdata fields in the RRs of this type, typeuint8_t_wireformatβ the wireformat specification for the rr, aka the types of rdata fields in their respective order, typeconst ldns_rdf_type *_variableβ special rdf types, typeldns_rdf_type_compressβ specifies whether compression can be used for dnames in this RR type, typeldns_rr_compress_dname_countβ the number of DNAMEs in the_wireformatstring, for parsing, typeuint8_t
and then the typedef, because we love a glow-up: typedef struct ldns_struct_rr_descriptor ldns_rr_descriptor; π«Ά
ldns_rr_descript()
returns the resource record descriptor for the given rr type. it's the lookup girlie.
- type β the type value of the rr type
- Returns the
ldns_rr_descriptorfor this type
ldns_rr_descriptor_minimum()
returns the minimum number of rdata fields of the rr type this descriptor describes. the floor. the bare minimum. respect it. π
- descriptor β for an rr type
- Returns the minimum number of rdata fields
ldns_rr_descriptor_maximum()
returns the maximum number of rdata fields of the rr type this descriptor describes. the ceiling. main character energy fr fr.
- descriptor β for an rr type
- Returns the maximum number of rdata fields
ldns_rr_descriptor_field_type()
returns the rdf type for the given rdata field number of the rr type for the given descriptor. you point at a field, it tells you what kind of rdf it is. iconic behavior honestly.
- descriptor β for an rr type
- field β the field number
- Returns the rdf type for the field
π AUTHOR π
The ldns team at NLnet Labs. absolute legends, no notes. π
π REPORTING BUGS π
found a bug? bestie don't suffer in silence π please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues.
like, actually report them though. they wanna know. it's not a vibe to hoard bugs. π
π COPYRIGHT π
Copyright (c) 2004 - 2006 NLnet Labs.
Licensed under the BSD License. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. that's the legal equivalent of "we are not responsible for what happens next" π so read it and know it.
β SEE ALSO β
ldns_rr, ldns_rdf. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. the whole reading list, bestie, go off. π
π§ REMARKS π§
This manpage was automatically generated from the ldns source code. so if a sentence reads a little robot-y, that's why. it's not her fault, she was born in a build script. π
okay that's the whole page! it came from ldns(3), dated 30 May 2006 β yes she's an elder but she still slays. go forth and describe your rdata fields. periodt. πβ¨π¦
π¦ where this page comes from
- alpine 3.22: ldns-doc 1.8.4-r0 Β· BSD-3-Clause
- alpine 3.23: ldns-doc 1.8.4-r1 Β· BSD-3-Clause
- alpine 3.24: ldns-doc 1.8.4-r1 Β· BSD-3-Clause
- arch rolling: ldns 1.9.2-1 Β· custom:BSD
- debian trixie: libldns-dev 1.8.4-2+b1
- fedora 43: ldns-devel 1.8.4-8.fc43 Β· BSD-3-Clause
- fedora 43: ldns-devel 1.8.4-8.fc43 Β· BSD-3-Clause
- fedora 43: ldns-devel 1.9.2-1.fc43 Β· BSD-3-Clause
- fedora 43: ldns-devel 1.9.2-1.fc43 Β· BSD-3-Clause
- fedora 44: ldns-devel 1.9.0-2.fc44 Β· BSD-3-Clause
- fedora 44: ldns-devel 1.9.0-2.fc44 Β· BSD-3-Clause
- fedora 44: ldns-devel 1.9.2-1.fc44 Β· BSD-3-Clause
- fedora 44: ldns-devel 1.9.2-1.fc44 Β· BSD-3-Clause
- nixos 26.05: ldns 1.9.2
- nixpkgs unstable: ldns 1.9.2
- opensuse-leap 16.0: ldns-devel 1.8.4-160000.3.1 Β· BSD-3-Clause
- opensuse-leap 16.0: ldns-devel 1.8.4-160000.3.1 Β· BSD-3-Clause
- opensuse-leap 16.0: ldns-devel 1.8.4-160000.3.1 Β· BSD-3-Clause
- opensuse-leap 16.0: ldns-devel 1.8.4-160000.3.1 Β· BSD-3-Clause
- ubuntu questing: libldns-dev 1.8.4-2build1
- ubuntu resolute: libldns-dev 1.8.4-2build3
- ubuntu stonking: libldns-dev 1.9.2-1ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms