ns_lwdclient Struct Reference

Lightweight Resolver Daemon Client. More...

#include <lwdclient.h>


Public Member Functions

 ISC_LINK (ns_lwdclient_t) link

Data Fields

isc_sockaddr_t address
 where to reply
struct in6_pktinfo pktinfo
isc_boolean_t pktinfo_valid
ns_lwdclientmgr_tclientmgr
 our parent
unsigned int state
void * arg
 packet processing state
unsigned char buffer [LWRES_RECVLENGTH]
 receive buffer
isc_uint32_t recvlength
 length recv'd
lwres_lwpacket_t pkt
unsigned char * sendbuf
 Send data state. If sendbuf != buffer (that is, the send buffer isn't our receive buffer) it will be freed to the lwres_context_t.
isc_uint32_t sendlength
isc_buffer_t recv_buffer
dns_adbfind_tfind
 gabn (get address by name) state info.
dns_adbfind_tv4find
dns_adbfind_tv6find
unsigned int find_wanted
 Addresses we want.
dns_fixedname_t query_name
dns_fixedname_t target_name
ns_lwsearchctx_t searchctx
lwres_gabnresponse_t gabn
lwres_gnbaresponse_t gnba
 gnba (get name by address) state info.
dns_byaddr_tbyaddr
unsigned int options
isc_netaddr_t na
lwres_grbnresponse_t grbn
 grbn (get rrset by name) state info.
dns_lookup_tlookup
dns_rdatatype_t rdtype
char * aliases [LWRES_MAX_ALIASES]
 Alias and address info. This is copied up to the gabn/gnba structures eventually.
isc_uint16_t aliaslen [LWRES_MAX_ALIASES]
lwres_addr_t addrs [LWRES_MAX_ADDRS]


Detailed Description

Lightweight Resolver Daemon Client.

Definition at line 43 of file lwdclient.h.


Member Function Documentation

ns_lwdclient::ISC_LINK ( ns_lwdclient_t   ) 


Field Documentation

isc_sockaddr_t ns_lwdclient::address

where to reply

Definition at line 44 of file lwdclient.h.

Referenced by ns_lwdclient_recv(), ns_lwdclient_sendreply(), and sort_addresses().

struct in6_pktinfo ns_lwdclient::pktinfo [read]

Definition at line 45 of file lwdclient.h.

Referenced by ns_lwdclient_recv(), and ns_lwdclient_sendreply().

isc_boolean_t ns_lwdclient::pktinfo_valid

Definition at line 46 of file lwdclient.h.

Referenced by ns_lwdclient_initialize(), ns_lwdclient_recv(), and ns_lwdclient_sendreply().

ns_lwdclientmgr_t* ns_lwdclient::clientmgr

our parent

Definition at line 47 of file lwdclient.h.

Referenced by byaddr_done(), generate_reply(), lookup_done(), ns_lwdclient_initialize(), ns_lwdclient_processgabn(), ns_lwdclient_processgnba(), ns_lwdclient_processgrbn(), ns_lwdclient_processnoop(), ns_lwdclient_recv(), ns_lwdclient_send(), ns_lwdclient_sendreply(), ns_lwdclient_stateidle(), restart_find(), sort_addresses(), start_byaddr(), and start_lookup().

unsigned int ns_lwdclient::state

Definition at line 49 of file lwdclient.h.

void* ns_lwdclient::arg

packet processing state

Definition at line 50 of file lwdclient.h.

Referenced by ns_lwdclient_initialize(), and ns_lwdclient_stateidle().

unsigned char ns_lwdclient::buffer[LWRES_RECVLENGTH]

receive buffer

Definition at line 55 of file lwdclient.h.

Referenced by init_gabn(), init_gnba(), init_grbn(), ns_lwdclient_errorpktsend(), ns_lwdclient_recv(), ns_lwdclient_send(), ns_lwdclient_startrecv(), and process_request().

isc_uint32_t ns_lwdclient::recvlength

length recv'd

Definition at line 56 of file lwdclient.h.

Referenced by ns_lwdclient_initialize(), ns_lwdclient_recv(), and process_request().

lwres_lwpacket_t ns_lwdclient::pkt

Definition at line 57 of file lwdclient.h.

Referenced by byaddr_done(), generate_reply(), lookup_done(), ns_lwdclient_errorpktsend(), ns_lwdclient_processgabn(), ns_lwdclient_processgnba(), ns_lwdclient_processgrbn(), ns_lwdclient_processnoop(), and process_request().

unsigned char* ns_lwdclient::sendbuf

Send data state. If sendbuf != buffer (that is, the send buffer isn't our receive buffer) it will be freed to the lwres_context_t.

Definition at line 63 of file lwdclient.h.

Referenced by byaddr_done(), generate_reply(), lookup_done(), ns_lwdclient_errorpktsend(), ns_lwdclient_initialize(), ns_lwdclient_processnoop(), ns_lwdclient_send(), and ns_lwdclient_stateidle().

isc_uint32_t ns_lwdclient::sendlength

Definition at line 64 of file lwdclient.h.

Referenced by byaddr_done(), generate_reply(), lookup_done(), ns_lwdclient_initialize(), ns_lwdclient_processnoop(), ns_lwdclient_send(), and ns_lwdclient_stateidle().

isc_buffer_t ns_lwdclient::recv_buffer

Definition at line 65 of file lwdclient.h.

Referenced by add_alias(), byaddr_done(), init_gabn(), init_gnba(), init_grbn(), lookup_done(), and store_realname().

dns_adbfind_t* ns_lwdclient::find

gabn (get address by name) state info.

Definition at line 70 of file lwdclient.h.

Referenced by generate_reply(), lwdclientmgr_shutdown_callback(), ns_lwdclient_initialize(), process_gabn_finddone(), and restart_find().

dns_adbfind_t* ns_lwdclient::v4find

Definition at line 71 of file lwdclient.h.

Referenced by cleanup_gabn(), generate_reply(), lwdclientmgr_shutdown_callback(), ns_lwdclient_initialize(), ns_lwdclient_stateidle(), process_gabn_finddone(), and restart_find().

dns_adbfind_t* ns_lwdclient::v6find

Definition at line 72 of file lwdclient.h.

Referenced by cleanup_gabn(), generate_reply(), lwdclientmgr_shutdown_callback(), ns_lwdclient_initialize(), ns_lwdclient_stateidle(), process_gabn_finddone(), and restart_find().

unsigned int ns_lwdclient::find_wanted

Addresses we want.

Definition at line 73 of file lwdclient.h.

Referenced by ns_lwdclient_initialize(), and ns_lwdclient_processgabn().

dns_fixedname_t ns_lwdclient::query_name

Definition at line 74 of file lwdclient.h.

Referenced by ns_lwdclient_processgabn(), and ns_lwdclient_processgrbn().

dns_fixedname_t ns_lwdclient::target_name

Definition at line 75 of file lwdclient.h.

Referenced by add_alias(), ns_lwdclient_processgabn(), restart_find(), and store_realname().

ns_lwsearchctx_t ns_lwdclient::searchctx

Definition at line 76 of file lwdclient.h.

Referenced by generate_reply(), lookup_done(), ns_lwdclient_processgabn(), ns_lwdclient_processgrbn(), start_lookup(), and store_realname().

lwres_gabnresponse_t ns_lwdclient::gabn

Definition at line 77 of file lwdclient.h.

Referenced by add_alias(), generate_reply(), init_gabn(), setup_addresses(), sort_addresses(), and store_realname().

lwres_gnbaresponse_t ns_lwdclient::gnba

gnba (get name by address) state info.

Definition at line 82 of file lwdclient.h.

Referenced by byaddr_done(), and init_gnba().

dns_byaddr_t* ns_lwdclient::byaddr

Definition at line 83 of file lwdclient.h.

Referenced by byaddr_done(), ns_lwdclient_initialize(), ns_lwdclient_processgnba(), ns_lwdclient_processgrbn(), ns_lwdclient_processnoop(), and start_byaddr().

unsigned int ns_lwdclient::options

Definition at line 84 of file lwdclient.h.

Referenced by byaddr_done(), ns_lwdclient_initialize(), ns_lwdclient_processgnba(), ns_lwdclient_processgrbn(), start_byaddr(), and start_lookup().

isc_netaddr_t ns_lwdclient::na

Definition at line 85 of file lwdclient.h.

Referenced by byaddr_done(), ns_lwdclient_processgnba(), and start_byaddr().

lwres_grbnresponse_t ns_lwdclient::grbn

grbn (get rrset by name) state info.

Note: this also uses target_name and searchctx.

Definition at line 92 of file lwdclient.h.

Referenced by init_grbn(), and lookup_done().

dns_lookup_t* ns_lwdclient::lookup

Definition at line 93 of file lwdclient.h.

Referenced by lookup_done(), ns_lwdclient_initialize(), and start_lookup().

dns_rdatatype_t ns_lwdclient::rdtype

Definition at line 94 of file lwdclient.h.

Referenced by lookup_done(), ns_lwdclient_processgrbn(), and start_lookup().

char* ns_lwdclient::aliases[LWRES_MAX_ALIASES]

Alias and address info. This is copied up to the gabn/gnba structures eventually.

XXXMLG We can keep all of this in a client since we only service three packet types right now. If we started handling more, we'd need to use "arg" above and allocate/destroy things.

Definition at line 104 of file lwdclient.h.

Referenced by init_gabn(), and init_gnba().

isc_uint16_t ns_lwdclient::aliaslen[LWRES_MAX_ALIASES]

Definition at line 105 of file lwdclient.h.

Referenced by init_gabn(), and init_gnba().

lwres_addr_t ns_lwdclient::addrs[LWRES_MAX_ADDRS]

Definition at line 106 of file lwdclient.h.

Referenced by init_gabn(), init_gnba(), setup_addresses(), and sort_addresses().


The documentation for this struct was generated from the following file:
Generated on Tue Apr 28 17:41:21 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha