getdns_extra.h File Reference

Public interface to getdns that is ADDITIONAL to the official getdns API, include in your application to use additional functionality offered by this implementation. More...

#include <getdns/getdns.h>
#include <sys/time.h>
#include <stdio.h>
#include <time.h>

Go to the source code of this file.

Data Structures

struct  getdns_eventloop_event
 
struct  getdns_eventloop
 
struct  getdns_eventloop_vmt
 

Macros

#define GETDNS_RETURN_NO_UPSTREAM_AVAILABLE   ((getdns_return_t) 398 )
 
#define GETDNS_RETURN_NO_UPSTREAM_AVAILABLE_TEXT   "None of the configured upstreams could be used to send queries on the specified transports"
 
#define GETDNS_RETURN_NEED_MORE_SPACE   ((getdns_return_t) 399 )
 
#define GETDNS_RETURN_NEED_MORE_SPACE_TEXT   "The buffer was too small"
 
#define GETDNS_CONTEXT_CODE_TLS_AUTHENTICATION   618
 
#define GETDNS_CONTEXT_CODE_TLS_AUTHENTICATION_TEXT   "Change related to getdns_context_set_tls_authentication"
 
#define GETDNS_CONTEXT_CODE_EDNS_CLIENT_SUBNET_PRIVATE   619
 
#define GETDNS_CONTEXT_CODE_EDNS_CLIENT_SUBNET_PRIVATE_TEXT   "Change related to getdns_context_set_edns_client_subnet_private"
 
#define GETDNS_CONTEXT_CODE_TLS_QUERY_PADDING_BLOCKSIZE   620
 
#define GETDNS_CONTEXT_CODE_TLS_QUERY_PADDING_BLOCKSIZE_TEXT   "Change related to getdns_context_set_tls_query_padding_blocksize"
 
#define GETDNS_CONTEXT_CODE_PUBKEY_PINSET   621
 
#define GETDNS_CONTEXT_CODE_PUBKEY_PINSET_TEXT   "Change related to getdns_context_set_pubkey_pinset"
 
#define GETDNS_CONTEXT_CODE_ROUND_ROBIN_UPSTREAMS   622
 
#define GETDNS_CONTEXT_CODE_ROUND_ROBIN_UPSTREAMS_TEXT   "Change related to getdns_context_set_round_robin_upstreams"
 
#define GETDNS_CONTEXT_CODE_TLS_BACKOFF_TIME   623
 
#define GETDNS_CONTEXT_CODE_TLS_BACKOFF_TIME_TEXT   "Change related to getdns_context_set_tls_backoff_time"
 
#define GETDNS_CONTEXT_CODE_TLS_CONNECTION_RETRIES   624
 
#define GETDNS_CONTEXT_CODE_TLS_CONNECTION_RETRIES_TEXT   "Change related to getdns_context_set_tls_connection_retries"
 
#define GETDNS_VERSION   "1.1.0-rc1"
 
#define GETDNS_NUMERIC_VERSION   0x0100C100
 
#define GETDNS_API_VERSION   "December 2015"
 
#define GETDNS_API_NUMERIC_VERSION   0x07df0c00
 
#define GETDNS_AUTHENTICATION_HOSTNAME   GETDNS_AUTHENTICATION_REQUIRED
 
#define GETDNS_AUTHENTICATION_NONE_TEXT   "See getdns_context_set_tls_authentication()"
 
#define GETDNS_AUTHENTICATION_REQUIRED_TEXT   "See getdns_context_set_tls_authentication()"
 
#define GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST   ((getdns_append_name_t) 554 )
 
#define GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST_TEXT   "See getdns_context_set_append_name()"
 
#define GETDNS_TRANSPORT_TLS_ONLY_KEEP_CONNECTIONS_OPEN   544
 
#define GETDNS_TRANSPORT_TLS_ONLY_KEEP_CONNECTIONS_OPEN_TEXT   "See getdns_context_set_dns_transport()"
 
#define GETDNS_TRANSPORT_TLS_FIRST_AND_FALL_BACK_TO_TCP_KEEP_CONNECTIONS_OPEN   545
 
#define GETDNS_TRANSPORT_TLS_FIRST_AND_FALL_BACK_TO_TCP_KEEP_CONNECTIONS_OPEN_TEXT   "See getdns_context_set_dns_transport()"
 

Typedefs

typedef enum getdns_tls_authentication_t getdns_tls_authentication_t
 
typedef void(* getdns_eventloop_callback) (void *userarg)
 
typedef struct getdns_eventloop_event getdns_eventloop_event
 
typedef struct getdns_eventloop_vmt getdns_eventloop_vmt
 
typedef struct getdns_eventloop getdns_eventloop
 
typedef void(* getdns_eventloop_noargs) (getdns_eventloop *loop)
 
typedef getdns_return_t(* getdns_eventloop_schedule) (getdns_eventloop *loop, int fd, uint64_t timeout, getdns_eventloop_event *ev)
 
typedef getdns_return_t(* getdns_eventloop_clear) (getdns_eventloop *loop, getdns_eventloop_event *ev)
 
typedef void(* getdns_eventloop_run_once) (getdns_eventloop *loop, int blocking)
 
typedef void(* getdns_request_handler_t) (getdns_context *context, getdns_callback_type_t callback_type, getdns_dict *request, void *userarg, getdns_transaction_t request_id)
 

Enumerations

enum  getdns_tls_authentication_t { GETDNS_AUTHENTICATION_NONE = 1300, GETDNS_AUTHENTICATION_REQUIRED = 1301 }
 

Functions

getdns_return_t getdns_context_set_eventloop (getdns_context *context, getdns_eventloop *eventloop)
 
getdns_return_t getdns_context_get_eventloop (getdns_context *context, getdns_eventloop **eventloop)
 
getdns_return_t getdns_context_detach_eventloop (getdns_context *context)
 
void getdns_context_run (getdns_context *context)
 
getdns_return_t getdns_context_set_update_callback (getdns_context *context, void *userarg, void(*value)(getdns_context *, getdns_context_code_t, void *))
 
getdns_return_t getdns_context_set_return_dnssec_status (getdns_context *context, int enabled)
 
getdns_return_t getdns_context_set_use_threads (getdns_context *context, int use_threads)
 
getdns_return_t getdns_context_set_tls_authentication (getdns_context *context, getdns_tls_authentication_t value)
 
getdns_return_t getdns_context_set_round_robin_upstreams (getdns_context *context, uint8_t value)
 
getdns_return_t getdns_context_set_tls_backoff_time (getdns_context *context, uint16_t value)
 
getdns_return_t getdns_context_set_tls_connection_retries (getdns_context *context, uint16_t value)
 
getdns_return_t getdns_context_set_edns_client_subnet_private (getdns_context *context, uint8_t value)
 
getdns_return_t getdns_context_set_tls_query_padding_blocksize (getdns_context *context, uint16_t value)
 
getdns_return_t getdns_context_get_resolution_type (getdns_context *context, getdns_resolution_t *value)
 
getdns_return_t getdns_context_get_namespaces (getdns_context *context, size_t *namespace_count, getdns_namespace_t **namespaces)
 
getdns_return_t getdns_context_get_dns_transport (getdns_context *context, getdns_transport_t *value)
 
getdns_return_t getdns_context_get_dns_transport_list (getdns_context *context, size_t *transport_count, getdns_transport_list_t **transports)
 
getdns_return_t getdns_context_get_limit_outstanding_queries (getdns_context *context, uint16_t *limit)
 
getdns_return_t getdns_context_get_timeout (getdns_context *context, uint64_t *timeout)
 
getdns_return_t getdns_context_get_idle_timeout (getdns_context *context, uint64_t *timeout)
 
getdns_return_t getdns_context_get_follow_redirects (getdns_context *context, getdns_redirects_t *value)
 
getdns_return_t getdns_context_get_dns_root_servers (getdns_context *context, getdns_list **addresses)
 
getdns_return_t getdns_context_get_append_name (getdns_context *context, getdns_append_name_t *value)
 
getdns_return_t getdns_context_get_suffix (getdns_context *context, getdns_list **value)
 
getdns_return_t getdns_context_get_dnssec_trust_anchors (getdns_context *context, getdns_list **value)
 
getdns_return_t getdns_context_get_dnssec_allowed_skew (getdns_context *context, uint32_t *value)
 
getdns_return_t getdns_context_get_upstream_recursive_servers (getdns_context *context, getdns_list **upstream_list)
 
getdns_return_t getdns_context_get_edns_maximum_udp_payload_size (getdns_context *context, uint16_t *value)
 
getdns_return_t getdns_context_get_edns_extended_rcode (getdns_context *context, uint8_t *value)
 
getdns_return_t getdns_context_get_edns_version (getdns_context *context, uint8_t *value)
 
getdns_return_t getdns_context_get_edns_do_bit (getdns_context *context, uint8_t *value)
 
getdns_return_t getdns_context_get_edns_client_subnet_private (getdns_context *context, uint8_t *value)
 
getdns_return_t getdns_context_get_tls_query_padding_blocksize (getdns_context *context, uint16_t *value)
 
getdns_return_t getdns_context_get_tls_authentication (getdns_context *context, getdns_tls_authentication_t *value)
 
getdns_return_t getdns_context_get_round_robin_upstreams (getdns_context *context, uint8_t *value)
 
getdns_return_t getdns_context_get_tls_backoff_time (getdns_context *context, uint16_t *value)
 
getdns_return_t getdns_context_get_tls_connection_retries (getdns_context *context, uint16_t *value)
 
getdns_return_t getdns_context_get_update_callback (getdns_context *context, void **userarg, void(**value)(getdns_context *, getdns_context_code_t, void *))
 
const char * getdns_get_version (void)
 
uint32_t getdns_get_version_number (void)
 
const char * getdns_get_api_version (void)
 
uint32_t getdns_get_api_version_number (void)
 
const char * getdns_get_errorstr_by_id (uint16_t err)
 
getdns_return_t getdns_dict_util_set_string (getdns_dict *dict, char *name, const char *value)
 
getdns_return_t getdns_dict_util_get_string (getdns_dict *dict, char *name, char **result)
 
getdns_return_t getdns_validate_dnssec2 (getdns_list *to_validate, getdns_list *support_records, getdns_list *trust_anchors, time_t validation_time, uint32_t skew)
 
getdns_dictgetdns_pubkey_pin_create_from_string (getdns_context *context, const char *str)
 
getdns_return_t getdns_pubkey_pinset_sanity_check (const getdns_list *pinset, getdns_list *errorlist)
 
getdns_return_t getdns_context_config (getdns_context *context, const getdns_dict *config_dict)
 
int getdns_pretty_snprint_dict (char *str, size_t size, const getdns_dict *dict)
 
char * getdns_pretty_print_list (const getdns_list *some_list)
 
int getdns_pretty_snprint_list (char *str, size_t size, const getdns_list *list)
 
char * getdns_print_json_dict (const getdns_dict *some_dict, int pretty)
 
int getdns_snprint_json_dict (char *str, size_t size, const getdns_dict *dict, int pretty)
 
char * getdns_print_json_list (const getdns_list *some_list, int pretty)
 
int getdns_snprint_json_list (char *str, size_t size, const getdns_list *list, int pretty)
 
getdns_return_t getdns_rr_dict2wire (const getdns_dict *rr_dict, uint8_t **wire, size_t *wire_sz)
 
getdns_return_t getdns_rr_dict2wire_buf (const getdns_dict *rr_dict, uint8_t *wire, size_t *wire_sz)
 
getdns_return_t getdns_rr_dict2wire_scan (const getdns_dict *rr_dict, uint8_t **wire, int *wire_sz)
 
getdns_return_t getdns_wire2rr_dict (const uint8_t *wire, size_t wire_sz, getdns_dict **rr_dict)
 
getdns_return_t getdns_wire2rr_dict_buf (const uint8_t *wire, size_t *wire_sz, getdns_dict **rr_dict)
 
getdns_return_t getdns_wire2rr_dict_scan (const uint8_t **wire, size_t *wire_sz, getdns_dict **rr_dict)
 
getdns_return_t getdns_rr_dict2str (const getdns_dict *rr_dict, char **str)
 
getdns_return_t getdns_rr_dict2str_buf (const getdns_dict *rr_dict, char *str, size_t *str_len)
 
getdns_return_t getdns_rr_dict2str_scan (const getdns_dict *rr_dict, char **str, int *str_len)
 
getdns_return_t getdns_str2rr_dict (const char *str, getdns_dict **rr_dict, const char *origin, uint32_t default_ttl)
 
getdns_return_t getdns_fp2rr_list (FILE *in, getdns_list **rr_list, const char *origin, uint32_t default_ttl)
 
getdns_return_t getdns_msg_dict2wire (const getdns_dict *msg_dict, uint8_t **wire, size_t *wire_sz)
 
getdns_return_t getdns_msg_dict2wire_buf (const getdns_dict *msg_dict, uint8_t *wire, size_t *wire_sz)
 
getdns_return_t getdns_msg_dict2wire_scan (const getdns_dict *msg_dict, uint8_t **wire, int *wire_sz)
 
getdns_return_t getdns_wire2msg_dict (const uint8_t *wire, size_t wire_sz, getdns_dict **msg_dict)
 
getdns_return_t getdns_wire2msg_dict_buf (const uint8_t *wire, size_t *wire_sz, getdns_dict **msg_dict)
 
getdns_return_t getdns_wire2msg_dict_scan (const uint8_t **wire, size_t *wire_sz, getdns_dict **msg_dict)
 
getdns_return_t getdns_msg_dict2str (const getdns_dict *msg_dict, char **str)
 
getdns_return_t getdns_msg_dict2str_buf (const getdns_dict *msg_dict, char *str, size_t *str_len)
 
getdns_return_t getdns_msg_dict2str_scan (const getdns_dict *msg_dict, char **str, int *str_len)
 
getdns_return_t getdns_str2dict (const char *str, getdns_dict **dict)
 
getdns_return_t getdns_str2list (const char *str, getdns_list **list)
 
getdns_return_t getdns_str2bindata (const char *str, getdns_bindata **bindata)
 
getdns_return_t getdns_str2int (const char *str, uint32_t *value)
 
getdns_return_t getdns_context_set_listen_addresses (getdns_context *context, const getdns_list *listen_addresses, void *userarg, getdns_request_handler_t handler)
 
getdns_return_t getdns_reply (getdns_context *context, getdns_dict *reply, getdns_transaction_t request_id)
 
getdns_return_t getdns_strerror (getdns_return_t err, char *buf, size_t buflen)
 
getdns_return_t getdns_context_process_async (getdns_context *context)
 
uint32_t getdns_context_get_num_pending_requests (getdns_context *context, struct timeval *next_timeout)
 

Detailed Description

Public interface to getdns that is ADDITIONAL to the official getdns API, include in your application to use additional functionality offered by this implementation.

Definition in file getdns_extra.h.