#include #include #include #include using namespace Rcpp; extern void check_is_xptr(SEXP s); //' Return gdns library version //' //' @family utlity functions //' @export // [[Rcpp::export]] std::string gdns_lib_version() { return(std::string(getdns_get_version())); } //' Internal version of gdns_update_resolvers //' @keywords internal // [[Rcpp::export]] SEXP int_gdns_update_resolvers(SEXP gctx, std::vector< std::string > resolvers) { check_is_xptr(gctx); getdns_context *ctxt = (getdns_context *)R_ExternalPtrAddr(gctx); if (gctx == NULL) return(R_NilValue); getdns_return_t r; // TODO Validate we don't need to free these getdns_dict *resolver_dict = getdns_dict_create(); getdns_list *resolver_list = getdns_list_create(); for (int i = 0; i