ELinks 0.18.0
Data Structures | Functions | Variables
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 dnsentry * find_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_EL( dns_cache ) }
 

Function Documentation

◆ add_to_dns_cache()

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

◆ async_dns_error()

static void async_dns_error ( struct dnsquery *  query)
static

◆ async_dns_reader()

static void async_dns_reader ( struct dnsquery *  query)
static

◆ async_dns_writer()

static void async_dns_writer ( void *  data,
int  h 
)
static

◆ del_dns_cache_entry()

static void del_dns_cache_entry ( struct dnsentry *  dnsentry)
static

◆ do_lookup()

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

◆ do_queued_lookup()

static 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()

static void done_async_dns_lookup ( struct dnsquery *  dnsquery)
static

◆ done_dns_lookup()

static 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()

static struct dnsentry * find_in_dns_cache ( char *  name)
static

◆ init_async_dns_lookup()

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

◆ init_dns_lookup()

static 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()

static 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()

static 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_EL( dns_cache ) }
static