MINOR: dns: new DNS structures to store received packets

struct dns_query_item: describes a DNS query record

struct dns_answer_item: describes a DNS answer record

struct dns_response_packet: describes a DNS response packet
diff --git a/include/types/dns.h b/include/types/dns.h
index 994dec3..03ffdc1 100644
--- a/include/types/dns.h
+++ b/include/types/dns.h
@@ -89,6 +89,36 @@
 	unsigned short	qclass;		/* query class */
 };
 
+struct dns_query_item {
+	struct list list;
+	char name[DNS_MAX_NAME_SIZE];		/* query name */
+	unsigned short type;			/* question type */
+	unsigned short class;			/* query class */
+};
+
+struct dns_answer_item {
+	struct list list;
+	char *name;				/* answer name
+						 * For SRV type, name also includes service
+						 * and protocol value */
+	int16_t type;				/* question type */
+	int16_t class;				/* query class */
+	int32_t ttl;				/* response TTL */
+	int16_t priority;			/* SRV type priority */
+	int16_t weight;				/* SRV type weight */
+	int16_t port;				/* SRV type port */
+	int16_t data_len;			/* number of bytes in target below */
+	struct sockaddr address;		/* IPv4 or IPv6, network format */
+	char *target;				/* Response data: SRV or CNAME type target */
+};
+
+struct dns_response_packet {
+	struct dns_header header;
+	struct list query_list;
+	struct list answer_list;
+	/* authority and additional_information ignored for now */
+};
+
 /*
  * resolvers section and parameters. It is linked to the name servers
  * servers points to it.