#ifndef _NSTXDNS_H
#define _NSTXDNS_H
#define DNS_QUERY 0x01
#define DNS_RESPONSE 0x02
#define DNS_MAXPKT 512
struct rr
{
char *data;
int len;
int link;
struct rr *next;
};
struct dnspkt
{
unsigned short id;
int type;
struct rr *query;
struct rr *answer;
};
void dns_setsuffix (char *);
struct dnspkt *dns_alloc (void);
void dns_free (struct dnspkt *);
void dns_setid (struct dnspkt *, unsigned short);
void dns_settype (struct dnspkt *, int);
int dns_addquery (struct dnspkt *, const char *);
int dns_addanswer (struct dnspkt *, const char *, int, int);
int dns_getpktsize (const struct dnspkt *);
struct dnspkt *dns_extractpkt (const unsigned char *, int);
const char *dns_getquerydata (struct dnspkt *);
char *dns_getanswerdata (struct dnspkt *, int *);
const char *dns_fqdn2data (const char *);
const char *dns_data2fqdn (const char *);
const unsigned char *txt2data (const unsigned char *, int *);
unsigned char *dns_constructpacket (struct dnspkt *, int *);
int dns_getfreespace (const struct dnspkt *, int);
#endif /* _NSTXDNS_H */
syntax highlighted by Code2HTML, v. 0.9.1