ldns(3)
π ldns(3) β the ldns_pkt edns girlies π
okay bestie, welcome to the ldns manual, section 3, Library Functions Manual, and today's hyperfixation is the whole ldns_pkt end0s-related function family. yes the manpage literally spells it "ends0" in the NAME line, we don't ask questions, we just vibe π
β¨ NAME β¨
ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data β the ldns_pkt ends0 related functions π«Ά
πΈ SYNOPSIS πΈ
#include <stdint.h>
#include <stdbool.h>
#include <ldns/ldns.h>
bool ldns_pkt_edns(const ldns_pkt *packet);
uint16_t ldns_pkt_edns_udp_size(const ldns_pkt *packet);
uint8_t ldns_pkt_edns_extended_rcode(const ldns_pkt *packet);
uint8_t ldns_pkt_edns_version(const ldns_pkt *packet);
uint16_t ldns_pkt_edns_z(const ldns_pkt *packet);
ldns_rdf* ldns_pkt_edns_data(const ldns_pkt *packet);
void ldns_pkt_set_edns_udp_size(ldns_pkt *packet, uint16_t s);
void ldns_pkt_set_edns_extended_rcode(ldns_pkt *packet, uint8_t c);
void ldns_pkt_set_edns_version(ldns_pkt *packet, uint8_t v);
void ldns_pkt_set_edns_z(ldns_pkt *packet, uint16_t z);
void ldns_pkt_set_edns_data(ldns_pkt *packet, ldns_rdf *data);
six getters, five setters, one bool, zero notes taken. slay π
π DESCRIPTION π
okay so the whole energy here is: getters ask the packet a question, setters tell the packet what to be. no cap, that's it. let's go one by one, bestie, no skipping, every single argument and return is coming with us π
ldns_pkt_edns()β returnstrueif this packet needs an EDNS rr to be sent. at the moment the only reason is an expected packet size larger than 512 bytes, but like, for instance dnssec would be a good reason too. iykyk.packet: the packet to check- Returns
trueifpacketneeds edns rr
ldns_pkt_edns_udp_size()β return the packet's edns udp size π¦packet: the packet- Returns the size
ldns_pkt_edns_extended_rcode()β return the packet's edns extended rcode β¨packet: the packet- Returns the rcode
ldns_pkt_edns_version()β return the packet's edns version πΈpacket: the packet- Returns the version
ldns_pkt_edns_z()β return the packet's edns z value βpacket: the packet- Returns the z value
ldns_pkt_edns_data()β return the packet's EDNS data πpacket: the packet- Returns the data
ldns_pkt_set_edns_udp_size()β set the packet's edns udp size π₯packet: the packets: the size
ldns_pkt_set_edns_extended_rcode()β set the packet's edns extended rcode πpacket: the packetc: the code
ldns_pkt_set_edns_version()β set the packet's edns version πpacket: the packetv: the version
ldns_pkt_set_edns_z()β set the packet's edns z value πpacket: the packetz: the value
ldns_pkt_set_edns_data()β set the packet's EDNS data πpacket: the packetdata: the data
not a single one of these is doing something sneaky, bestie β they read a field, they write a field, they hand you back aboolor a number or anldns_rdf*, periodt π
π AUTHOR π
The ldns team at NLnet Labs. absolute icons, no notes π«Ά
π REPORTING BUGS π
Please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues
(if you found one, tell them, don't just suffer in silence bestie π)
π§ 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.
fr fr, that's the legal vibe: no warranty, not even the implied ones, don't come for them π
π SEE ALSO π
ldns_pkt. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. the reading list is giving very much study group πβ¨
π REMARKS π
This manpage was automatically generated from the ldns source code. (yes bestie, a robot wrote it, and i just gave it a glow-up π )
and that's the whole page!! sign-off time: this was the ldns(3) manpage, dated 30 May 2006, from the ldns source β stay iconic, go read your EDNS fields, and remember: 512 bytes is the vibe limit before you need an EDNS rr. bye bestie, mwah π«Άπβ¨
π¦ 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