DNS/KnotResolver/libについて、ここに記述してください。 <> ---- resolve.c {{{ 41:static void set_yield(ranked_rr_array_t *array, const uint32_t qry_uid, const bool yielded) 55:static int consume_yield(kr_layer_t *ctx, knot_pkt_t *pkt) 73:static int begin_yield(kr_layer_t *ctx) { return kr_ok(); } 74:static int reset_yield(kr_layer_t *ctx) { return kr_ok(); } 75:static int finish_yield(kr_layer_t *ctx) { return kr_ok(); } 76:static int produce_yield(kr_layer_t *ctx, knot_pkt_t *pkt) { return kr_ok(); } 100:static inline size_t layer_id(struct kr_request *req, const struct kr_layer_api *api) { 119:static void randomized_qname_case(knot_dname_t * restrict qname, uint32_t secret) 131:static int invalidate_ns(struct kr_rplan *rplan, struct kr_query *qry) 148:static void check_empty_nonterms(struct kr_query *qry, knot_pkt_t *pkt, struct kr_cache *cache, uint32_t timestamp) 180:static int ns_fetch_cut(struct kr_query *qry, const knot_dname_t *requested_name, 283:static int ns_resolve_addr(struct kr_query *qry, struct kr_request *param) 360:static int edns_put(knot_pkt_t *pkt) 376:static int edns_erase_and_reserve(knot_pkt_t *pkt) 403:static int edns_create(knot_pkt_t *pkt, knot_pkt_t *template, struct kr_request *req) 419:static int answer_prepare(knot_pkt_t *answer, knot_pkt_t *query, struct kr_request *req) 438:static void write_extra_records(rr_array_t *arr, knot_pkt_t *answer) 445:static void write_extra_ranked_records(ranked_rr_array_t *arr, knot_pkt_t *answer) 463:static int answer_padding(struct kr_request *request) 494:static int answer_fail(struct kr_request *request) 510:static int answer_finalize(struct kr_request *request, int state) 571:static int query_finalize(struct kr_request *request, struct kr_query *qry, knot_pkt_t *pkt) 621:static int resolve_query(struct kr_request *request, const knot_pkt_t *packet) 682:static void update_nslist_rtt(struct kr_context *ctx, struct kr_query *qry, const struct sockaddr *src) 734:static void update_nslist_score(struct kr_request *request, struct kr_query *qry, const struct sockaddr *src, knot_pkt_t *packet) 834:static struct kr_query *zone_cut_subreq(struct kr_rplan *rplan, struct kr_query *parent, 854:static int trust_chain_check(struct kr_request *request, struct kr_query *qry) 924:static int zone_cut_check(struct kr_request *request, struct kr_query *qry, knot_pkt_t *packet) 1122:static bool outbound_request_update_cookies(struct kr_request *req, }}}