Home | History | Annotate | Download | only in tests

Lines Matching refs:Header

381     struct Header {
451 if (buffer + sizeof(Header) > buffer_end) {
455 Header& header = *reinterpret_cast<Header*>(buffer);
457 header.id = htons(id);
459 header.flags0 = (qr << 7) | (opcode << 3) | (aa << 2) | (tr << 1) | rd;
461 header.flags1 = rcode;
462 // rest of header
463 header.qdcount = htons(questions.size());
464 header.ancount = htons(answers.size());
465 header.nscount = htons(authorities.size());
466 header.arcount = htons(additionals.size());
467 char* buffer_cur = buffer + sizeof(Header);
495 Header) > buffer_end)
497 const auto& header = *reinterpret_cast<const Header*>(buffer);
499 id = ntohs(header.id);
501 qr = header.flags0 >> 7;
502 opcode = (header.flags0 >> 3) & 0x0F;
503 aa = (header.flags0 >> 2) & 1;
504 tr = (header.flags0 >> 1) & 1;
505 rd = header.flags0 & 1;
507 ra = header.flags1 >> 7;
508 rcode = header.flags1 & 0xF;
509 // rest of header
510 *qdcount = ntohs(header.qdcount);
511 *ancount = ntohs(header.ancount);
512 *nscount = ntohs(header.nscount);
513 *arcount = ntohs(header.arcount);
514 return buffer + sizeof(Header);
712 DNSHeader header;
713 const char* cur = header.read(response, response_end);
727 DNSHeader header;
728 const char* cur = header.read(buffer, buffer_end);
734 if (header.qr) {
738 if (header.opcode != ns_opcode::ns_o_query) {
740 return makeErrorResponse(&header, ns_rcode::ns_r_notimpl, response,
743 if (header.questions.empty()) {
745 return makeErrorResponse(&header, ns_rcode::ns_r_formerr, response,
748 if (!header.answers.empty()) {
749 ALOGI("already %zu answers present in query", header.answers.size());
750 return makeErrorResponse(&header, ns_rcode::ns_r_formerr, response,
755 for (const DNSQuestion& question : header.questions) {
765 return makeErrorResponse(&header, ns_rcode::ns_r_servfail, response,
769 for (const DNSQuestion& question : header.questions) {
773 return makeErrorResponse(&header, ns_rcode::ns_r_notimpl, response,
776 if (!addAnswerRecords(question, &header.answers)) {
777 return makeErrorResponse(&header, ns_rcode::ns_r_servfail, response,
781 header.qr = true;
782 char* response_cur = header.write(response, response + *response_len);
826 bool DNSResponder::makeErrorResponse(DNSHeader* header, ns_rcode rcode,
829 header->answers.clear();
830 header->authorities.clear();
831 header->additionals.clear();
832 header->rcode = rcode;
833 header->qr = true;
834 char* response_cur = header->write(response, response + *response_len);