Linux Manuals session 3

Section 3: library functions

  • |

    ldns_dnssec_derive_trust_tree_no_sig (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_derive_trust_tree_ds_rrset (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_derive_trust_tree_dnskey_rrset (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_derive_trust_tree (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_data_chain_struct (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_data_chain_print (3) Linux Manual Page

    ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_data_chain* ldns_dnssec_data_chain_new(); void ldns_dnssec_data_chain_free(ldns_dnssec_data_chain *chain); void ldns_dnssec_data_chain_deep_free(ldns_dnssec_data_chain *chain); ldns_dnssec_data_chain* ldns_dnssec_build_data_chain(ldns_resolver *res, const uint16_t qflags, const ldns_rr_list *data_set, const ldns_pkt *pkt, ldns_rr *orig_rr); void ldns_dnssec_data_chain_print(FILE *out, const ldns_dnssec_data_chain *chain); Description ldns_dnssec_data_chain_new() Creates a new dnssec_chain structure .br Returns ldns_dnssec_data_chain * ldns_dnssec_data_chain_free() Frees a dnssec_data_chain…

  • |

    ldns_dnssec_data_chain_new (3) Linux Manual Page

    ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_data_chain* ldns_dnssec_data_chain_new(); void ldns_dnssec_data_chain_free(ldns_dnssec_data_chain *chain); void ldns_dnssec_data_chain_deep_free(ldns_dnssec_data_chain *chain); ldns_dnssec_data_chain* ldns_dnssec_build_data_chain(ldns_resolver *res, const uint16_t qflags, const ldns_rr_list *data_set, const ldns_pkt *pkt, ldns_rr *orig_rr); void ldns_dnssec_data_chain_print(FILE *out, const ldns_dnssec_data_chain *chain); Description ldns_dnssec_data_chain_new() Creates a new dnssec_chain structure .br Returns ldns_dnssec_data_chain * ldns_dnssec_data_chain_free() Frees a dnssec_data_chain…

  • |

    ldns_dnssec_data_chain_free (3) Linux Manual Page

    ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_data_chain* ldns_dnssec_data_chain_new(); void ldns_dnssec_data_chain_free(ldns_dnssec_data_chain *chain); void ldns_dnssec_data_chain_deep_free(ldns_dnssec_data_chain *chain); ldns_dnssec_data_chain* ldns_dnssec_build_data_chain(ldns_resolver *res, const uint16_t qflags, const ldns_rr_list *data_set, const ldns_pkt *pkt, ldns_rr *orig_rr); void ldns_dnssec_data_chain_print(FILE *out, const ldns_dnssec_data_chain *chain); Description ldns_dnssec_data_chain_new() Creates a new dnssec_chain structure .br Returns ldns_dnssec_data_chain * ldns_dnssec_data_chain_free() Frees a dnssec_data_chain…

  • |

    ldns_dnssec_data_chain_deep_free (3) Linux Manual Page

    ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_data_chain* ldns_dnssec_data_chain_new(); void ldns_dnssec_data_chain_free(ldns_dnssec_data_chain *chain); void ldns_dnssec_data_chain_deep_free(ldns_dnssec_data_chain *chain); ldns_dnssec_data_chain* ldns_dnssec_build_data_chain(ldns_resolver *res, const uint16_t qflags, const ldns_rr_list *data_set, const ldns_pkt *pkt, ldns_rr *orig_rr); void ldns_dnssec_data_chain_print(FILE *out, const ldns_dnssec_data_chain *chain); Description ldns_dnssec_data_chain_new() Creates a new dnssec_chain structure .br Returns ldns_dnssec_data_chain * ldns_dnssec_data_chain_free() Frees a dnssec_data_chain…

  • |

    ldns_dnssec_data_chain (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_build_data_chain (3) Linux Manual Page

    ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_dnssec_data_chain* ldns_dnssec_data_chain_new(); void ldns_dnssec_data_chain_free(ldns_dnssec_data_chain *chain); void ldns_dnssec_data_chain_deep_free(ldns_dnssec_data_chain *chain); ldns_dnssec_data_chain* ldns_dnssec_build_data_chain(ldns_resolver *res, const uint16_t qflags, const ldns_rr_list *data_set, const ldns_pkt *pkt, ldns_rr *orig_rr); void ldns_dnssec_data_chain_print(FILE *out, const ldns_dnssec_data_chain *chain); Description ldns_dnssec_data_chain_new() Creates a new dnssec_chain structure .br Returns ldns_dnssec_data_chain * ldns_dnssec_data_chain_free() Frees a dnssec_data_chain…

  • |

    ldns_dname_str_absolute (3) Linux Manual Page

    ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> bool ldns_dname_is_subdomain(const ldns_rdf *sub, const ldns_rdf *parent); bool ldns_dname_str_absolute(const char *dname_str); ldns_rdf * ldns_dname_label(const ldns_rdf *rdf, uint8_t labelpos); Description ldns_dname_is_subdomain() test wether the name sub falls under parent (i.e. is a subdomain of parent). This function will return false if the given dnames are equal….

  • |

    ldns_dname_new_frm_str (3) Linux Manual Page

    ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_rdf* ldns_dname_new(uint16_t s, void *data); ldns_rdf* ldns_dname_new_frm_str(const char *str); ldns_rdf* ldns_dname_new_frm_data(uint16_t size, const void *data); Description ldns_dname_new() Create a new dname rdf from a string .br s: the size of the new dname .br *data: pointer to the actual data .br Returns ldns_rdf* ldns_dname_new_frm_str() creates…

  • |

    ldns_dname_new_frm_data (3) Linux Manual Page

    ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_rdf* ldns_dname_new(uint16_t s, void *data); ldns_rdf* ldns_dname_new_frm_str(const char *str); ldns_rdf* ldns_dname_new_frm_data(uint16_t size, const void *data); Description ldns_dname_new() Create a new dname rdf from a string .br s: the size of the new dname .br *data: pointer to the actual data .br Returns ldns_rdf* ldns_dname_new_frm_str() creates…

  • |

    ldns_dname_new (3) Linux Manual Page

    ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_rdf* ldns_dname_new(uint16_t s, void *data); ldns_rdf* ldns_dname_new_frm_str(const char *str); ldns_rdf* ldns_dname_new_frm_data(uint16_t size, const void *data); Description ldns_dname_new() Create a new dname rdf from a string .br s: the size of the new dname .br *data: pointer to the actual data .br Returns ldns_rdf* ldns_dname_new_frm_str() creates…

  • |

    ldns_dname_left_chop (3) Linux Manual Page

    ldns_dname_left_chop, ldns_dname_label_count Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_rdf* ldns_dname_left_chop(const ldns_rdf *d); uint8_t ldns_dname_label_count(const ldns_rdf *r); Description ldns_dname_left_chop() chop one label off the left side of a dname. so wwww.nlnetlabs.nl, becomes nlnetlabs.nl This new name is a clone and must be freed with ldns_deep_free() .br d: the dname to chop .br Returns the remaining…

  • |

    ldns_dname_label_count (3) Linux Manual Page

    ldns_dname_left_chop, ldns_dname_label_count Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_rdf* ldns_dname_left_chop(const ldns_rdf *d); uint8_t ldns_dname_label_count(const ldns_rdf *r); Description ldns_dname_left_chop() chop one label off the left side of a dname. so wwww.nlnetlabs.nl, becomes nlnetlabs.nl This new name is a clone and must be freed with ldns_deep_free() .br d: the dname to chop .br Returns the remaining…

  • |

    ldns_dname_label (3) Linux Manual Page

    ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> bool ldns_dname_is_subdomain(const ldns_rdf *sub, const ldns_rdf *parent); bool ldns_dname_str_absolute(const char *dname_str); ldns_rdf * ldns_dname_label(const ldns_rdf *rdf, uint8_t labelpos); Description ldns_dname_is_subdomain() test wether the name sub falls under parent (i.e. is a subdomain of parent). This function will return false if the given dnames are equal….

  • |

    ldns_dname_is_subdomain (3) Linux Manual Page

    ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> bool ldns_dname_is_subdomain(const ldns_rdf *sub, const ldns_rdf *parent); bool ldns_dname_str_absolute(const char *dname_str); ldns_rdf * ldns_dname_label(const ldns_rdf *rdf, uint8_t labelpos); Description ldns_dname_is_subdomain() test wether the name sub falls under parent (i.e. is a subdomain of parent). This function will return false if the given dnames are equal….

  • |

    ldns_dname_interval (3) Linux Manual Page

    ldns_dname_compare, ldns_dname_interval Synopsis #include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> int ldns_dname_compare(const ldns_rdf *dname1, const ldns_rdf *dname2); int ldns_dname_interval(const ldns_rdf *prev, const ldns_rdf *middle, const ldns_rdf *next); Description ldns_dname_compare() Compares the two dname rdf’s according to the algorithm for ordering in RFC4034 Section 6. .br dname1: First dname rdf to compare .br dname2: Second dname rdf…