ldns(3)

πŸ’– NAME πŸ’–

okay bestie, gather round, because this page is literally a whole friend group of functions for ldns_dnssec_name and they all show up together:

ldns_dnssec_name_new, ldns_dnssec_name_new_frm_rr, ldns_dnssec_name_free, ldns_dnssec_name_name, ldns_dnssec_name_set_name, ldns_dnssec_name_set_nsec, ldns_dnssec_name_cmp, ldns_dnssec_name_add_rr, ldns_dnssec_name_find_rrset, ldns_dnssec_name_print

(and yes the manual page itself is ldns(3) from the ldns library, iykyk πŸ¦‹)


✨ SYNOPSIS ✨

like, the opening credits. copy-paste core:

#include <stdint.h>
#include <stdbool.h>

#include <ldns/ldns.h>

ldns_dnssec_name* ldns_dnssec_name_new(void);

ldns_dnssec_name* ldns_dnssec_name_new_frm_rr(ldns_rr *rr);

void ldns_dnssec_name_free(ldns_dnssec_name *name);

ldns_rdf* ldns_dnssec_name_name(const ldns_dnssec_name *name);

void ldns_dnssec_name_set_name(ldns_dnssec_name *name, ldns_rdf *dname);

void ldns_dnssec_name_set_nsec(ldns_dnssec_name *name, ldns_rr *nsec);

int ldns_dnssec_name_cmp(const void *a, const void *b);

ldns_status ldns_dnssec_name_add_rr(ldns_dnssec_name *name, ldns_rr
*rr);

ldns_dnssec_rrsets* ldns_dnssec_name_find_rrset(const ldns_dnssec_name
*name, ldns_rr_type type);

void ldns_dnssec_name_print(FILE *out, const ldns_dnssec_name *name);

🌸 DESCRIPTION 🌸

πŸŽ€ ldns_dnssec_name_new()

creates a brand new data structure for a dnssec name. fresh out the box, main character energy.

returns the allocated structure πŸ‘‘

πŸŽ€ ldns_dnssec_name_new_frm_rr()

creates a new data structure for a dnssec name, but make it for the given RR.

  • rr β€” the RR to derive properties from, and to add to the name

πŸŽ€ ldns_dnssec_name_free()

frees the name structure and its rrs and rrsets. heads up though: the individual ldns_rr records inside it are not freed. so like, they're not being evicted, bestie, they just lose their home 😭

  • name β€” the structure to free

πŸŽ€ ldns_dnssec_name_name()

returns the domain name of the given dnssec_name structure.

  • name β€” the dnssec name to get the domain name from
  • Returns the domain name πŸ’…

πŸŽ€ ldns_dnssec_name_set_name()

sets the domain name of the given dnssec_name structure.

  • name β€” the dnssec name to set the domain name of
  • dname β€” the domain name to set it to. this data is *not* copied. not copied!! it's borrowing, fr fr

πŸŽ€ ldns_dnssec_name_set_nsec()

sets the NSEC(3) RR of the given dnssec_name structure.

  • name β€” the dnssec name to set the domain name of
  • nsec β€” the nsec rr to set it to. this data is *not* copied either. same vibe, no duplication 🫢

πŸŽ€ ldns_dnssec_name_cmp()

compares the domain names of the two arguments in their canonical ordering.

  • a β€” the first dnssec_name to compare
  • b β€” the second dnssec_name to compare
  • Returns -1 if the domain name of a comes before that of b in canonical ordering, 1 if it is the other way around, and 0 if they are equal

so it's giving ranking, it's giving who's-first energy ⭐

πŸŽ€ ldns_dnssec_name_add_rr()

inserts the given rr at the right place in the current dnssec_name. no checking is done whether the name matches β€” like, it just trusts you, no vibe check at all πŸ™ˆ

  • name β€” the ldns_dnssec_name to add the RR to
  • rr β€” the RR to add
  • Returns LDNS_STATUS_OK on success and LDNS_STATUS_EQUAL_ERR when an RR with equal ownername, class, type and rdata already exists, and an error code otherwise

πŸŽ€ ldns_dnssec_name_find_rrset()

finds the RRset with the given type within this name structure.

  • name β€” the name to find the RRset in
  • type β€” the type of the RRset to find
  • Returns the RRset, or NULL if not present πŸ”

πŸŽ€ ldns_dnssec_name_print()

prints the RRs in the dnssec name structure to the given file descriptor.

  • out β€” the file descriptor to print to
  • name β€” the name structure to print the contents of

πŸ‘‘ AUTHOR πŸ‘‘

The ldns team at NLnet Labs. absolute icons, no cap.


πŸ› REPORTING BUGS πŸ›

please report bugs to dns-team@nlnetlabs.nl or on GitHub at https://github.com/NLnetLabs/ldns/issues

not me asking you to actually file the bug instead of just complaining in the group chat πŸ’€

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.

bestie the all-caps NO is doing the heavy lifting here, it means it, fr fr 😭

🌈 SEE ALSO 🌈

ldns_dnssec_zone. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035.


🧚 REMARKS 🧚

This manpage was automatically generated from the ldns source code.


and that's the whole page, bestie β€” this was ldns(3) from the ldns library, dated 30 May 2006, and it slayed every single time. periodt πŸ’…βœ¨