1 wdns_res
_wdns_parse_header(const uint8_t * p,size_t len,uint16_t * id,uint16_t * flags,uint16_t * qdcount,uint16_t * ancount,uint16_t * nscount,uint16_t * arcount)2 _wdns_parse_header(const uint8_t *p, size_t len, uint16_t *id, uint16_t *flags,
3 		   uint16_t *qdcount, uint16_t *ancount, uint16_t *nscount, uint16_t *arcount)
4 {
5 	if (len < WDNS_LEN_HEADER)
6 		return (wdns_res_len);
7 
8 	load_net16(p, id);
9 	load_net16(p + 2, flags);
10 	load_net16(p + 4, qdcount);
11 	load_net16(p + 6, ancount);
12 	load_net16(p + 8, nscount);
13 	load_net16(p + 10, arcount);
14 
15 	return (wdns_res_success);
16 }
17