void ldns_resolver_set_timeout(ldns_resolver *r, struct timeval timeout);
void ldns_resolver_push_searchlist(ldns_resolver *, ldns_rdf *);
ldns_status ldns_resolver_push_nameserver(ldns_resolver *, ldns_rdf *);
+ldns_status ldns_resolver_push_nameserver_rr(ldns_resolver *, ldns_rr *);
ldns_pkt * ldns_resolver_bgsend();
ldns_pkt * ldns_resolver_send(ldns_resolver *, ldns_rdf*, ldns_rr_type, ldns_rr_class, uint16_t);
ldns_status
ldns_resolver_push_nameserver(ldns_resolver *r, ldns_rdf *n)
{
- /* LDNS_RDF_TYPE_A | LDNS_RDF_TYPE_AAAA */
ldns_rdf **nameservers;
if (ldns_rdf_get_type(n) != LDNS_RDF_TYPE_A &&
return LDNS_STATUS_OK;
}
+/**
+ * push a new nameserver to the resolver. It must be an
+ * A or AAAA RR record type
+ * \param[in] r the resolver
+ * \param[in] r the rr
+ * \return ldns_status a status
+ */
+ldns_status
+ldns_resolver_push_nameserver_rr(ldns_resolver *r, ldns_rr *rr)
+{
+ ldns_rdf *address;
+
+ if (ldns_rr_get_type(rr) != LDNS_RR_TYPE_A &&
+ ldns_rr_get_type(rr) != LDNS_RR_TYPE_AAAA) {
+ return LDNS_STATUS_ERR;
+ }
+
+ address = ldns_rr_rdf(rr, 1); /* extra the ip number */
+ return ldns_resolver_push_nameserver(r, address);
+}
+
void
ldns_resolver_set_recursive(ldns_resolver *r, bool re)
{
}
/**
- * set the rdata field member counter
+ * return the rdata field member counter
* \param[in] *rr rr to operate on
- * \param[in] nr the number to set
+ * \param[in] nr the number of the rdf to return
* \return ldns_rdf *
*/
ldns_rdf *