Linux Manuals session 3

Section 3: library functions

  • |

    ldns_dnssec_zone_create_nsecs (3) Linux Manual Page

    ldns_dnssec_zone_sign, ldns_dnssec_zone_sign_nsec3, ldns_dnssec_zone_mark_glue, ldns_dnssec_name_node_next_nonglue, ldns_dnssec_zone_create_nsecs, ldns_dnssec_remove_signatures, ldns_dnssec_zone_create_rrsigs Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_status ldns_dnssec_zone_sign(ldns_dnssec_zone *zone, ldns_rr_list *new_rrs, ldns_key_list *key_list, int (*func)(ldns_rr *, void *), void *arg); ldns_status ldns_dnssec_zone_sign_nsec3(ldns_dnssec_zone *zone, ldns_rr_list *new_rrs, ldns_key_list *key_list, int (*func)(ldns_rr *, void *), void *arg, uint8_t algorithm, uint8_t flags, uint16_t iterations, uint8_t salt_length, uint8_t *salt);  ldns_dnssec_zone_mark_glue(); ldns_rbnode_t* ldns_dnssec_name_node_next_nonglue(ldns_rbnode_t…

  • |

    ldns_dnssec_zone_add_rr (3) Linux Manual Page

    ldns_dnssec_zone_find_rrset, ldns_dnssec_zone_new, ldns_dnssec_zone_free, ldns_dnssec_zone_add_rr, ldns_dnssec_zone_names_print, ldns_dnssec_zone_print, ldns_dnssec_zone_add_empty_nonterminals Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_zone_find_rrset(ldns_dnssec_zone *zone, ldns_rdf *dname, ldns_rr_type type); ldns_dnssec_zone* ldns_dnssec_zone_new(); void ldns_dnssec_zone_free(ldns_dnssec_zone *zone); ldns_status ldns_dnssec_zone_add_rr(ldns_dnssec_zone *zone, ldns_rr *rr); void ldns_dnssec_zone_names_print(FILE *out, ldns_rbtree_t *tree, bool print_soa); void ldns_dnssec_zone_print(FILE *out, ldns_dnssec_zone *zone); ldns_status ldns_dnssec_zone_add_empty_nonterminals(ldns_dnssec_zone *zone); Description ldns_dnssec_zone_find_rrset() Find the RRset with the given name…

  • |

    ldns_dnssec_zone_add_empty_nonterminals (3) Linux Manual Page

    ldns_dnssec_zone_find_rrset, ldns_dnssec_zone_new, ldns_dnssec_zone_free, ldns_dnssec_zone_add_rr, ldns_dnssec_zone_names_print, ldns_dnssec_zone_print, ldns_dnssec_zone_add_empty_nonterminals Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_zone_find_rrset(ldns_dnssec_zone *zone, ldns_rdf *dname, ldns_rr_type type); ldns_dnssec_zone* ldns_dnssec_zone_new(); void ldns_dnssec_zone_free(ldns_dnssec_zone *zone); ldns_status ldns_dnssec_zone_add_rr(ldns_dnssec_zone *zone, ldns_rr *rr); void ldns_dnssec_zone_names_print(FILE *out, ldns_rbtree_t *tree, bool print_soa); void ldns_dnssec_zone_print(FILE *out, ldns_dnssec_zone *zone); ldns_status ldns_dnssec_zone_add_empty_nonterminals(ldns_dnssec_zone *zone); Description ldns_dnssec_zone_find_rrset() Find the RRset with the given name…

  • |

    ldns_dnssec_zone (3) Linux Manual Page

    ldns_dnssec_zone, ldns_dnssec_name, ldns_dnssec_rrs, ldns_dnssec_rrsets Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h>  ldns_dnssec_zone(); Description ldns_dnssec_zone() ldns_dnssec_name Structure containing all resource records for a domain name Including the derived NSEC3, if present struct ldns_struct_dnssec_name {        /**         * pointer to a dname containing the name.         * Usually points to the owner name of the first RR…

  • |

    ldns_dnssec_verify_denial_nsec3 (3) Linux Manual Page

    ldns_dnssec_verify_denial, ldns_dnssec_verify_denial_nsec3 Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_status ldns_dnssec_verify_denial(ldns_rr *rr, ldns_rr_list *nsecs, ldns_rr_list *rrsigs); ldns_status ldns_dnssec_verify_denial_nsec3(ldns_rr *rr, ldns_rr_list *nsecs, ldns_rr_list *rrsigs, ldns_pkt_rcode packet_rcode, ldns_rr_type packet_qtype, bool packet_nodata); Description ldns_dnssec_verify_denial() denial is not just a river in egypt .br rr: The (query) RR to check the denial of existence for .br nsecs: The list…

  • |

    ldns_dnssec_verify_denial (3) Linux Manual Page

    ldns_dnssec_verify_denial, ldns_dnssec_verify_denial_nsec3 Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_status ldns_dnssec_verify_denial(ldns_rr *rr, ldns_rr_list *nsecs, ldns_rr_list *rrsigs); ldns_status ldns_dnssec_verify_denial_nsec3(ldns_rr *rr, ldns_rr_list *nsecs, ldns_rr_list *rrsigs, ldns_pkt_rcode packet_rcode, ldns_rr_type packet_qtype, bool packet_nodata); Description ldns_dnssec_verify_denial() denial is not just a river in egypt .br rr: The (query) RR to check the denial of existence for .br nsecs: The list…

  • |

    ldns_dnssec_trust_tree_print_sm (3) Linux Manual Page

    ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(); void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree); size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree); ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree( ldns_dnssec_data_chain *data_chain, ldns_rr *rr); ldns_status ldns_dnssec_trust_tree_contains_keys( ldns_dnssec_trust_tree *tree, ldns_rr_list *keys); void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended);  ldns_dnssec_trust_tree_print_sm(); ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent,…

  • |

    ldns_dnssec_trust_tree_print (3) Linux Manual Page

    ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(); void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree); size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree); ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree( ldns_dnssec_data_chain *data_chain, ldns_rr *rr); ldns_status ldns_dnssec_trust_tree_contains_keys( ldns_dnssec_trust_tree *tree, ldns_rr_list *keys); void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended);  ldns_dnssec_trust_tree_print_sm(); ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent,…

  • |

    ldns_dnssec_trust_tree_new (3) Linux Manual Page

    ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(); void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree); size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree); ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree( ldns_dnssec_data_chain *data_chain, ldns_rr *rr); ldns_status ldns_dnssec_trust_tree_contains_keys( ldns_dnssec_trust_tree *tree, ldns_rr_list *keys); void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended);  ldns_dnssec_trust_tree_print_sm(); ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent,…

  • |

    ldns_dnssec_trust_tree_free (3) Linux Manual Page

    ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(); void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree); size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree); ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree( ldns_dnssec_data_chain *data_chain, ldns_rr *rr); ldns_status ldns_dnssec_trust_tree_contains_keys( ldns_dnssec_trust_tree *tree, ldns_rr_list *keys); void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended);  ldns_dnssec_trust_tree_print_sm(); ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent,…

  • |

    ldns_dnssec_trust_tree_depth (3) Linux Manual Page

    ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(); void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree); size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree); ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree( ldns_dnssec_data_chain *data_chain, ldns_rr *rr); ldns_status ldns_dnssec_trust_tree_contains_keys( ldns_dnssec_trust_tree *tree, ldns_rr_list *keys); void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended);  ldns_dnssec_trust_tree_print_sm(); ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent,…

  • |

    ldns_dnssec_trust_tree_contains_keys (3) Linux Manual Page

    ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(); void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree); size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree); ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree( ldns_dnssec_data_chain *data_chain, ldns_rr *rr); ldns_status ldns_dnssec_trust_tree_contains_keys( ldns_dnssec_trust_tree *tree, ldns_rr_list *keys); void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended);  ldns_dnssec_trust_tree_print_sm(); ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent,…

  • |

    ldns_dnssec_trust_tree_add_parent (3) Linux Manual Page

    ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_trust_tree* ldns_dnssec_trust_tree_new(); void ldns_dnssec_trust_tree_free(ldns_dnssec_trust_tree *tree); size_t ldns_dnssec_trust_tree_depth(ldns_dnssec_trust_tree *tree); ldns_dnssec_trust_tree* ldns_dnssec_derive_trust_tree( ldns_dnssec_data_chain *data_chain, ldns_rr *rr); ldns_status ldns_dnssec_trust_tree_contains_keys( ldns_dnssec_trust_tree *tree, ldns_rr_list *keys); void ldns_dnssec_trust_tree_print(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended);  ldns_dnssec_trust_tree_print_sm(); ldns_status ldns_dnssec_trust_tree_add_parent(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent,…

  • |

    ldns_dnssec_trust_tree (3) Linux Manual Page

    ldns_dnssec_data_chain, ldns_dnssec_data_chain_struct, ldns_dnssec_trust_tree Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h>  ldns_dnssec_data_chain_struct(); Description ldns_dnssec_data_chain Chain structure that contains all DNSSEC data needed to verify an rrset struct ldns_dnssec_data_chain_struct {        ldns_rr_list *rrset;        ldns_rr_list *signatures;        ldns_rr_type parent_type;        ldns_dnssec_data_chain *parent;        ldns_pkt_rcode packet_rcode;        ldns_rr_type packet_qtype;        bool packet_nodata; }; typedef struct ldns_dnssec_data_chain_struct ldns_dnssec_data_chain; ldns_dnssec_data_chain_struct() ldns_dnssec_trust_tree Tree structure that contains the relation…

  • |

    ldns_dnssec_rrsets_type (3) Linux Manual Page

    ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_rrsets_new(); void ldns_dnssec_rrsets_free(ldns_dnssec_rrsets *rrsets); ldns_rr_type ldns_dnssec_rrsets_type(ldns_dnssec_rrsets *rrsets); ldns_status ldns_dnssec_rrsets_set_type(ldns_dnssec_rrsets *rrsets, ldns_rr_type type); ldns_status ldns_dnssec_rrsets_add_rr(ldns_dnssec_rrsets *rrsets, ldns_rr *rr); void ldns_dnssec_rrsets_print(FILE *out, ldns_dnssec_rrsets *rrsets, bool follow); Description ldns_dnssec_rrsets_new() Creates a new list (entry) of RRsets .br Returns the newly allocated structure ldns_dnssec_rrsets_free() Frees…

  • |

    ldns_dnssec_rrsets_set_type (3) Linux Manual Page

    ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_rrsets_new(); void ldns_dnssec_rrsets_free(ldns_dnssec_rrsets *rrsets); ldns_rr_type ldns_dnssec_rrsets_type(ldns_dnssec_rrsets *rrsets); ldns_status ldns_dnssec_rrsets_set_type(ldns_dnssec_rrsets *rrsets, ldns_rr_type type); ldns_status ldns_dnssec_rrsets_add_rr(ldns_dnssec_rrsets *rrsets, ldns_rr *rr); void ldns_dnssec_rrsets_print(FILE *out, ldns_dnssec_rrsets *rrsets, bool follow); Description ldns_dnssec_rrsets_new() Creates a new list (entry) of RRsets .br Returns the newly allocated structure ldns_dnssec_rrsets_free() Frees…

  • |

    ldns_dnssec_rrsets_print (3) Linux Manual Page

    ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_rrsets_new(); void ldns_dnssec_rrsets_free(ldns_dnssec_rrsets *rrsets); ldns_rr_type ldns_dnssec_rrsets_type(ldns_dnssec_rrsets *rrsets); ldns_status ldns_dnssec_rrsets_set_type(ldns_dnssec_rrsets *rrsets, ldns_rr_type type); ldns_status ldns_dnssec_rrsets_add_rr(ldns_dnssec_rrsets *rrsets, ldns_rr *rr); void ldns_dnssec_rrsets_print(FILE *out, ldns_dnssec_rrsets *rrsets, bool follow); Description ldns_dnssec_rrsets_new() Creates a new list (entry) of RRsets .br Returns the newly allocated structure ldns_dnssec_rrsets_free() Frees…

  • |

    ldns_dnssec_rrsets_new (3) Linux Manual Page

    ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_rrsets_new(); void ldns_dnssec_rrsets_free(ldns_dnssec_rrsets *rrsets); ldns_rr_type ldns_dnssec_rrsets_type(ldns_dnssec_rrsets *rrsets); ldns_status ldns_dnssec_rrsets_set_type(ldns_dnssec_rrsets *rrsets, ldns_rr_type type); ldns_status ldns_dnssec_rrsets_add_rr(ldns_dnssec_rrsets *rrsets, ldns_rr *rr); void ldns_dnssec_rrsets_print(FILE *out, ldns_dnssec_rrsets *rrsets, bool follow); Description ldns_dnssec_rrsets_new() Creates a new list (entry) of RRsets .br Returns the newly allocated structure ldns_dnssec_rrsets_free() Frees…

  • |

    ldns_dnssec_rrsets_free (3) Linux Manual Page

    ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_rrsets_new(); void ldns_dnssec_rrsets_free(ldns_dnssec_rrsets *rrsets); ldns_rr_type ldns_dnssec_rrsets_type(ldns_dnssec_rrsets *rrsets); ldns_status ldns_dnssec_rrsets_set_type(ldns_dnssec_rrsets *rrsets, ldns_rr_type type); ldns_status ldns_dnssec_rrsets_add_rr(ldns_dnssec_rrsets *rrsets, ldns_rr *rr); void ldns_dnssec_rrsets_print(FILE *out, ldns_dnssec_rrsets *rrsets, bool follow); Description ldns_dnssec_rrsets_new() Creates a new list (entry) of RRsets .br Returns the newly allocated structure ldns_dnssec_rrsets_free() Frees…

  • |

    ldns_dnssec_rrsets_add_rr (3) Linux Manual Page

    ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_rrsets* ldns_dnssec_rrsets_new(); void ldns_dnssec_rrsets_free(ldns_dnssec_rrsets *rrsets); ldns_rr_type ldns_dnssec_rrsets_type(ldns_dnssec_rrsets *rrsets); ldns_status ldns_dnssec_rrsets_set_type(ldns_dnssec_rrsets *rrsets, ldns_rr_type type); ldns_status ldns_dnssec_rrsets_add_rr(ldns_dnssec_rrsets *rrsets, ldns_rr *rr); void ldns_dnssec_rrsets_print(FILE *out, ldns_dnssec_rrsets *rrsets, bool follow); Description ldns_dnssec_rrsets_new() Creates a new list (entry) of RRsets .br Returns the newly allocated structure ldns_dnssec_rrsets_free() Frees…