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