43 #ifndef OUTSIDE_NETWORK_H 44 #define OUTSIDE_NETWORK_H 48 #include "dnstap/dnstap_config.h" 50 struct pending_timeout;
137 struct dt_env* dtenv;
310 #define EDNS_FRAG_SIZE_IP4 1472 312 #define EDNS_FRAG_SIZE_IP6 1232 421 size_t bufsize,
size_t num_ports,
char** ifs,
int num_ifs,
602 int ssl,
char* host,
char* path);
633 int pending_cmp(
const void* key1,
const void* key2);
struct sockaddr_storage addr
struct outside_network * outside_network_create(struct comm_base *base, size_t bufsize, size_t num_ports, char **ifs, int num_ifs, int do_ip4, int do_ip6, size_t num_tcp, struct infra_cache *infra, struct ub_randstate *rnd, int use_caps_for_id, int *availports, int numavailports, size_t unwanted_threshold, int tcp_mss, void(*unwanted_action)(void *), void *unwanted_param, int do_udp, void *sslctx, int delayclose, struct dt_env *dtenv)
int outnet_tcp_connect(int s, struct sockaddr_storage *addr, socklen_t addrlen)
struct port_comm * unused_fds
comm_point_callback_type * cb
struct pending * udp_wait_first
size_t unwanted_threshold
struct outside_network * outnet
void outnet_tcptimer(void *arg)
struct waiting_tcp * tcp_wait_last
struct comm_timer * timer
enum serviced_query::serviced_query_status status
struct infra_cache * infra
struct edns_option * opt_list
struct comm_point * outnet_comm_point_for_http(struct outside_network *outnet, comm_point_callback_type *cb, void *cb_arg, struct sockaddr_storage *to_addr, socklen_t to_addrlen, int timeout, int ssl, char *host, char *path)
struct comm_point * outnet_comm_point_for_udp(struct outside_network *outnet, comm_point_callback_type *cb, void *cb_arg, struct sockaddr_storage *to_addr, socklen_t to_addrlen)
void pending_udp_timer_delay_cb(void *arg)
int outnet_tcp_cb(struct comm_point *c, void *arg, int error, struct comm_reply *reply_info)
void(* unwanted_action)(void *)
int comm_point_callback_type(struct comm_point *, void *, int, struct comm_reply *)
struct timeval last_sent_time
struct serviced_query * outnet_serviced_query(struct outside_network *outnet, struct query_info *qinfo, uint16_t flags, int dnssec, int want_dnssec, int nocaps, int tcp_upstream, int ssl_upstream, char *tls_auth_name, struct sockaddr_storage *addr, socklen_t addrlen, uint8_t *zone, size_t zonelen, struct module_qstate *qstate, comm_point_callback_type *callback, void *callback_arg, struct sldns_buffer *buff, struct module_env *env)
struct pending_tcp ** tcp_conns
int pending_cmp(const void *key1, const void *key2)
void outnet_serviced_query_stop(struct serviced_query *sq, void *cb_arg)
int serviced_cmp(const void *key1, const void *key2)
struct pending_tcp * tcp_free
struct waiting_tcp * query
struct outside_network * outnet
void pending_udp_timer_cb(void *arg)
struct outside_network * outnet
struct sockaddr_storage addr
struct pending * pending_udp_query(struct serviced_query *sq, struct sldns_buffer *packet, int timeout, comm_point_callback_type *callback, void *callback_arg)
struct ub_randstate * rnd
comm_point_callback_type * cb
struct service_callback * cblist
int outnet_get_tcp_fd(struct sockaddr_storage *addr, socklen_t addrlen, int tcp_mss)
void outside_network_quit_prepare(struct outside_network *outnet)
struct pending_tcp * next_free
struct waiting_tcp * next_waiting
struct waiting_tcp * pending_tcp_query(struct serviced_query *sq, struct sldns_buffer *packet, int timeout, comm_point_callback_type *callback, void *callback_arg)
size_t serviced_get_mem(struct serviced_query *sq)
size_t outnet_get_mem(struct outside_network *outnet)
struct waiting_tcp * tcp_wait_first
void outside_network_delete(struct outside_network *outnet)
struct comm_point * outnet_comm_point_for_tcp(struct outside_network *outnet, comm_point_callback_type *cb, void *cb_arg, struct sockaddr_storage *to_addr, socklen_t to_addrlen, struct sldns_buffer *query, int timeout)
comm_point_callback_type * cb
int serviced_tcp_callback(struct comm_point *c, void *arg, int error, struct comm_reply *rep)
struct pending * udp_wait_last
struct service_callback * next
struct sockaddr_storage addr
int outnet_udp_cb(struct comm_point *c, void *arg, int error, struct comm_reply *reply_info)
struct pending * next_waiting
int serviced_udp_callback(struct comm_point *c, void *arg, int error, struct comm_reply *rep)
error
Tracks LMDB error codes.
struct serviced_query * sq
struct sldns_buffer * udp_buff
void pending_delete(struct outside_network *outnet, struct pending *p)
struct sockaddr_storage addr
struct comm_timer * timer