BLOG | DOCUMENTATION | TRAC

Home --> Documentations --> PJLIB-UTIL Reference

Typedefs

typedef struct pj_dns_server pj_dns_server
 

Functions

pj_status_t pj_dns_server_create (pj_pool_factory *pf, pj_ioqueue_t *ioqueue, int af, unsigned port, unsigned flags, pj_dns_server **p_srv)
 
pj_status_t pj_dns_server_destroy (pj_dns_server *srv)
 
pj_status_t pj_dns_server_add_rec (pj_dns_server *srv, unsigned count, const pj_dns_parsed_rr rr[])
 
pj_status_t pj_dns_server_del_rec (pj_dns_server *srv, int dns_class, pj_dns_type type, const pj_str_t *name)
 

Detailed Description

This contains a simple but fully working DNS server implementation, mostly for testing purposes. It supports serving various DNS resource records such as SRV, CNAME, A, and AAAA.

Typedef Documentation

typedef struct pj_dns_server pj_dns_server

Opaque structure to hold DNS server instance.

Function Documentation

pj_status_t pj_dns_server_add_rec ( pj_dns_server srv,
unsigned  count,
const pj_dns_parsed_rr  rr[] 
)

Add generic resource record entries to the server.

Parameters
srvThe DNS server instance.
countNumber of records to be added.
rrArray of records to be added.
Returns
PJ_SUCCESS on success or the appropriate error code.
pj_status_t pj_dns_server_create ( pj_pool_factory pf,
pj_ioqueue_t ioqueue,
int  af,
unsigned  port,
unsigned  flags,
pj_dns_server **  p_srv 
)

Create the DNS server instance. The instance will run immediately.

Parameters
pfThe pool factory to create memory pools.
ioqueueIoqueue instance where the server socket will be registered to.
afAddress family of the server socket (valid values are pj_AF_INET() for IPv4 and pj_AF_INET6() for IPv6).
portThe UDP port to listen.
flagsFlags, currently must be zero.
p_srvPointer to receive the DNS server instance.
Returns
PJ_SUCCESS if server has been created successfully, otherwise the function will return the appropriate error code.
pj_status_t pj_dns_server_del_rec ( pj_dns_server srv,
int  dns_class,
pj_dns_type  type,
const pj_str_t name 
)

Remove the specified record from the server.

Parameters
srvThe DNS server instance.
dns_classThe resource's DNS class. Valid value is PJ_DNS_CLASS_IN.
typeThe resource type.
nameThe resource name to be removed.
Returns
PJ_SUCCESS on success or the appropriate error code.
pj_status_t pj_dns_server_destroy ( pj_dns_server srv)

Destroy DNS server instance.

Parameters
srvThe DNS server instance.
Returns
PJ_SUCCESS on success or the appropriate error code.

 


PJLIB-UTIL Open Source, small footprint, and portable asynchronous/caching DNS resolver, text scanner, STUN client, and XML library
Copyright (C) 2006-2009 Teluu Inc.