Lines Matching defs:wire
47 * Helpers for assembling a DNS message in wire format by hand, so that
53 put_name(isc_buffer_t *wire, const char *namestr) {
59 isc_buffer_putmem(wire, r.base, r.length);
63 put_header(isc_buffer_t *wire, unsigned int ancount, unsigned int nscount) {
64 isc_buffer_putuint16(wire, 0x1234); /* ID */
65 isc_buffer_putuint16(wire, DNS_MESSAGEFLAG_QR);
66 isc_buffer_putuint16(wire, 1); /* QDCOUNT */
67 isc_buffer_putuint16(wire, ancount);
68 isc_buffer_putuint16(wire, nscount);
69 isc_buffer_putuint16(wire, 0); /* ARCOUNT */
73 put_question(isc_buffer_t *wire, const char *qname, dns_rdatatype_t qtype) {
74 put_name(wire, qname);
75 isc_buffer_putuint16(wire, qtype);
76 isc_buffer_putuint16(wire, dns_rdataclass_in);
80 put_rr_with_ttl(isc_buffer_t *wire, const char *owner, dns_rdatatype_t type,
91 put_name(wire, owner);
92 isc_buffer_putuint16(wire, type);
93 isc_buffer_putuint16(wire, dns_rdataclass_in);
94 isc_buffer_putuint32(wire, ttl);
95 isc_buffer_putuint16(wire, rdata.length);
96 isc_buffer_putmem(wire, rdata.data, rdata.length);
100 put_rr(isc_buffer_t *wire, const char *owner, dns_rdatatype_t type,
102 put_rr_with_ttl(wire, owner, type, TTL, rdatatext);
106 parse(isc_buffer_t *wire, unsigned int options, dns_message_t **msgp) {
108 return dns_message_parse(*msgp, wire, options);
135 isc_buffer_t wire;
140 isc_buffer_init(&wire, wirebuf, sizeof(wirebuf));
141 put_header(&wire, 4, 2);
142 put_question(&wire, "dup.example.", dns_rdatatype_a);
143 put_rr_with_ttl(&wire, "dup.example.", dns_rdatatype_cname, 600,
145 put_rr_with_ttl(&wire, "dup.example.", dns_rdatatype_cname, 300,
147 put_rr_with_ttl(&wire, "target.example.", dns_rdatatype_a, 600,
149 put_rr_with_ttl(&wire, "target.example.", dns_rdatatype_a, 1200,
151 put_rr_with_ttl(&wire, "example.", dns_rdatatype_soa, 0,
153 put_rr_with_ttl(&wire, "example.", dns_rdatatype_soa, 1200,
156 result = parse(&wire, 0, &msg);
185 isc_buffer_t wire;
190 isc_buffer_init(&wire, wirebuf, sizeof(wirebuf));
191 put_header(&wire, 2, 0);
192 put_question(&wire, "dup.example.", dns_rdatatype_a);
193 put_rr(&wire, "dup.example.", dns_rdatatype_cname, "target.example.");
194 put_rr(&wire, "dup.example.", dns_rdatatype_cname, "other.example.");
196 result = parse(&wire, 0, &msg);
204 isc_buffer_first(&wire);
205 result = parse(&wire, DNS_MESSAGEPARSE_BESTEFFORT, &msg);