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_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_VERSION   "1.0.0b2"
 
#define GETDNS_NUMERIC_VERSION   0x00100200
 
#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)
 

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_process_async (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_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_update_callback (getdns_context *context, void **userarg, void(**value)(getdns_context *, getdns_context_code_t, void *))
 
uint32_t getdns_context_get_num_pending_requests (getdns_context *context, struct timeval *next_timeout)
 
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)
 
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_strerror (getdns_return_t err, char *buf, size_t buflen)
 

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.