Lines Matching refs:resp

391 	struct dns_response *resp;  in parse_dns_response()  local
398 resp = calloc(1, sizeof(*resp)); in parse_dns_response()
399 if (resp == NULL) in parse_dns_response()
406 memcpy(&resp->header, cp, HFIXEDSZ); in parse_dns_response()
410 resp->header.qdcount = ntohs(resp->header.qdcount); in parse_dns_response()
411 resp->header.ancount = ntohs(resp->header.ancount); in parse_dns_response()
412 resp->header.nscount = ntohs(resp->header.nscount); in parse_dns_response()
413 resp->header.arcount = ntohs(resp->header.arcount); in parse_dns_response()
416 if (resp->header.qdcount < 1) { in parse_dns_response()
417 free_dns_response(resp); in parse_dns_response()
422 resp->query = parse_dns_qsection(answer, size, &cp, in parse_dns_response()
423 resp->header.qdcount); in parse_dns_response()
424 if (resp->header.qdcount && resp->query == NULL) { in parse_dns_response()
425 free_dns_response(resp); in parse_dns_response()
430 resp->answer = parse_dns_rrsection(answer, size, &cp, in parse_dns_response()
431 resp->header.ancount); in parse_dns_response()
432 if (resp->header.ancount && resp->answer == NULL) { in parse_dns_response()
433 free_dns_response(resp); in parse_dns_response()
438 resp->authority = parse_dns_rrsection(answer, size, &cp, in parse_dns_response()
439 resp->header.nscount); in parse_dns_response()
440 if (resp->header.nscount && resp->authority == NULL) { in parse_dns_response()
441 free_dns_response(resp); in parse_dns_response()
446 resp->additional = parse_dns_rrsection(answer, size, &cp, in parse_dns_response()
447 resp->header.arcount); in parse_dns_response()
448 if (resp->header.arcount && resp->additional == NULL) { in parse_dns_response()
449 free_dns_response(resp); in parse_dns_response()
453 return (resp); in parse_dns_response()