ELinks 0.16.1.1
dns.c File Reference
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "elinks.h"
#include "config/options.h"
#include "main/select.h"
#include "network/dns.h"
#include "osdep/osdep.h"
#include "protocol/uri.h"
#include "util/error.h"
#include "util/memory.h"
#include "util/time.h"
Include dependency graph for dns.c:

Data Structures

struct  dnsentry
struct  dnsquery

Functions

static void done_dns_lookup (struct dnsquery *query, enum dns_result res)
static struct dnsentryfind_in_dns_cache (char *name)
static void add_to_dns_cache (char *name, struct sockaddr_storage *addr, int addrno)
static void del_dns_cache_entry (struct dnsentry *dnsentry)
enum dns_result do_real_lookup (char *name, struct sockaddr_storage **addrs, int *addrno, int in_thread)
static enum dns_result write_dns_data (int h, void *data, size_t datalen)
static void async_dns_writer (void *data, int h)
static enum dns_result read_dns_data (int h, void *data, size_t datalen)
static void async_dns_reader (struct dnsquery *query)
static void async_dns_error (struct dnsquery *query)
static int init_async_dns_lookup (struct dnsquery *dnsquery, int force_async)
static void done_async_dns_lookup (struct dnsquery *dnsquery)
static enum dns_result do_lookup (struct dnsquery *query, int force_async)
static enum dns_result do_queued_lookup (struct dnsquery *query)
static enum dns_result init_dns_lookup (char *name, void **queryref, dns_callback_T done, void *data)
enum dns_result find_host (char *name, void **queryref, dns_callback_T done, void *data, int no_cache)
void kill_dns_request (void **queryref)
void shrink_dns_cache (int whole)

Variables

static struct dnsentry list dns_cache = { D_LIST_HEAD(dns_cache) }

Function Documentation

◆ add_to_dns_cache()

void add_to_dns_cache ( char * name,
struct sockaddr_storage * addr,
int addrno )
static

◆ async_dns_error()

void async_dns_error ( struct dnsquery * query)
static

◆ async_dns_reader()

void async_dns_reader ( struct dnsquery * query)
static

◆ async_dns_writer()

void async_dns_writer ( void * data,
int h )
static

◆ del_dns_cache_entry()

void del_dns_cache_entry ( struct dnsentry * dnsentry)
static

◆ do_lookup()

enum dns_result do_lookup ( struct dnsquery * query,
int force_async )
static

◆ do_queued_lookup()

enum dns_result do_queued_lookup ( struct dnsquery * query)
static

◆ do_real_lookup()

enum dns_result do_real_lookup ( char * name,
struct sockaddr_storage ** addrs,
int * addrno,
int in_thread )

◆ done_async_dns_lookup()

void done_async_dns_lookup ( struct dnsquery * dnsquery)
static

◆ done_dns_lookup()

void done_dns_lookup ( struct dnsquery * query,
enum dns_result res )
static

◆ find_host()

enum dns_result find_host ( char * name,
void ** queryref,
dns_callback_T done,
void * data,
int no_cache )

◆ find_in_dns_cache()

struct dnsentry * find_in_dns_cache ( char * name)
static

◆ init_async_dns_lookup()

int init_async_dns_lookup ( struct dnsquery * dnsquery,
int force_async )
static

◆ init_dns_lookup()

enum dns_result init_dns_lookup ( char * name,
void ** queryref,
dns_callback_T done,
void * data )
static

◆ kill_dns_request()

void kill_dns_request ( void ** queryref)

◆ read_dns_data()

enum dns_result read_dns_data ( int h,
void * data,
size_t datalen )
static

◆ shrink_dns_cache()

void shrink_dns_cache ( int whole)

◆ write_dns_data()

enum dns_result write_dns_data ( int h,
void * data,
size_t datalen )
static

Variable Documentation

◆ dns_cache

struct dnsentry list dns_cache = { D_LIST_HEAD(dns_cache) }
static