gskdnsserver

Name

gskdnsserver -- base class for a DNS server.

Synopsis



struct      GskDnsServerClass;
struct      GskDnsServer;
GskDnsServer* gsk_dns_server_new            (GskDnsResolver *resolver,
                                             GskPacketQueue *packet_queue);
GskDnsResolver* gsk_dns_server_peek_resolver
                                            (GskDnsServer *server);
void        gsk_dns_server_set_resolver     (GskDnsServer *server,
                                             GskDnsResolver *resolver);

Object Hierarchy


  GObject
   +----GskDnsServer

Properties


  "packet-queue"         GskPacketQueue       : Read / Write / Construct Only
  "resolver"             GskDnsResolver       : Read / Write / Construct Only

Description

A generic DNS server. This can be made to answer questions through a sensible resolver, or it can be used to implement wacky DNS hacks.

Details

struct GskDnsServerClass

struct GskDnsServerClass;

Base class for DNS servers.


struct GskDnsServer

struct GskDnsServer;

Base instance for DNS servers. A DNS server is packet-based and must handle an arbitrary number of requests.


gsk_dns_server_new ()

GskDnsServer* gsk_dns_server_new            (GskDnsResolver *resolver,
                                             GskPacketQueue *packet_queue);

Allocate a DNS server using the optional resolver to answer questions.

resolver :

the resolver to query for answers to incoming questions.

packet_queue :

transport for incoming DNS requests and outgoing responses.

Returns :

the newly allocated DNS server.


gsk_dns_server_peek_resolver ()

GskDnsResolver* gsk_dns_server_peek_resolver
                                            (GskDnsServer *server);

Obtain a peeked reference at the resolver which this server is using to answer questions.

server :

the server to inspect.

Returns :

a GskDnsResolver if one is being used, or NULL.


gsk_dns_server_set_resolver ()

void        gsk_dns_server_set_resolver     (GskDnsServer *server,
                                             GskDnsResolver *resolver);

Set the DNS server's resolver.

server :

the server to affect.

resolver :

the DNS resolver to use, or NULL to stop using any resolver.

Properties

"packet-queue" (GskPacketQueue : Read / Write / Construct Only)

raw i/o handle to use for requests/responses.

"resolver" (GskDnsResolver : Read / Write / Construct Only)

DNS resolver to obtain responses from.