41#include <netinet/in.h>
42#include <sys/socket.h>
48#if !defined s6_addr32 && defined __sun__
49# define s6_addr32 _S6_un._S6_u32
50#elif !defined s6_addr32 && ( defined __OpenBSD__ || defined __FreeBSD__ || defined __NetBSD__ )
51# define s6_addr32 __u6_addr.__u6_addr32
55#define MAX_PACKET_LEN 65535
56#define MAX_NUM_LABELS 512
60 unsigned short int type,
class;
74 unsigned short int type,
class;
75 unsigned long int ttl;
105 unsigned short int id;
127void short2net(
unsigned short int i,
unsigned char **buf);
128void long2net (
unsigned long int l,
unsigned char **buf);
150 unsigned short int port,
char *
name);
unsigned short int net2short(unsigned char **buf)
void message_rdata_raw(struct message *m, unsigned char *rdata, unsigned short int rdlength)
int message_parse(struct message *m, unsigned char *packet)
void message_qd(struct message *m, char *name, unsigned short int type, unsigned short int class)
unsigned char * message_packet(struct message *m)
void message_rdata_srv(struct message *m, unsigned short int priority, unsigned short int weight, unsigned short int port, char *name)
#define MAX_PACKET_LEN
Standalone DNS parsing, RFC10350.
unsigned long int net2long(unsigned char **buf)
void short2net(unsigned short int i, unsigned char **buf)
int message_packet_len(struct message *m)
void message_rdata_long(struct message *m, unsigned long l)
void message_rdata_ipv6(struct message *m, struct in6_addr a6)
void message_rdata_name(struct message *m, char *name)
void long2net(unsigned long int l, unsigned char **buf)
void message_ns(struct message *m, char *name, unsigned short int type, unsigned short int class, unsigned long int ttl)
void message_ar(struct message *m, char *name, unsigned short int type, unsigned short int class, unsigned long int ttl)
void message_rdata_ipv4(struct message *m, struct in_addr a)
void message_an(struct message *m, char *name, unsigned short int type, unsigned short int class, unsigned long int ttl)
struct message * message_wire(void)
unsigned short int arcount
unsigned short int ancount
unsigned char _packet[65535]
unsigned short int qdcount
struct message::@7 header
unsigned short int nscount
struct resource::@0::@4 cname
unsigned short int weight
struct resource::@0::@2 aaaa
struct resource::@0::@5 ptr
struct resource::@0::@3 ns
struct resource::@0::@6 srv
unsigned short int rdlength
struct resource::@0::@1 a
unsigned short int priority