1 // Code generated by "go run types_generate.go"; DO NOT EDIT.
10 // TypeToRR is a map of constructors for each RR type.
11 var TypeToRR = map[uint16]func() RR{
12 TypeA: func() RR { return new(A) },
13 TypeAAAA: func() RR { return new(AAAA) },
14 TypeAFSDB: func() RR { return new(AFSDB) },
15 TypeANY: func() RR { return new(ANY) },
16 TypeAVC: func() RR { return new(AVC) },
17 TypeCAA: func() RR { return new(CAA) },
18 TypeCDNSKEY: func() RR { return new(CDNSKEY) },
19 TypeCDS: func() RR { return new(CDS) },
20 TypeCERT: func() RR { return new(CERT) },
21 TypeCNAME: func() RR { return new(CNAME) },
22 TypeCSYNC: func() RR { return new(CSYNC) },
23 TypeDHCID: func() RR { return new(DHCID) },
24 TypeDLV: func() RR { return new(DLV) },
25 TypeDNAME: func() RR { return new(DNAME) },
26 TypeDNSKEY: func() RR { return new(DNSKEY) },
27 TypeDS: func() RR { return new(DS) },
28 TypeEID: func() RR { return new(EID) },
29 TypeEUI48: func() RR { return new(EUI48) },
30 TypeEUI64: func() RR { return new(EUI64) },
31 TypeGID: func() RR { return new(GID) },
32 TypeGPOS: func() RR { return new(GPOS) },
33 TypeHINFO: func() RR { return new(HINFO) },
34 TypeHIP: func() RR { return new(HIP) },
35 TypeKEY: func() RR { return new(KEY) },
36 TypeKX: func() RR { return new(KX) },
37 TypeL32: func() RR { return new(L32) },
38 TypeL64: func() RR { return new(L64) },
39 TypeLOC: func() RR { return new(LOC) },
40 TypeLP: func() RR { return new(LP) },
41 TypeMB: func() RR { return new(MB) },
42 TypeMD: func() RR { return new(MD) },
43 TypeMF: func() RR { return new(MF) },
44 TypeMG: func() RR { return new(MG) },
45 TypeMINFO: func() RR { return new(MINFO) },
46 TypeMR: func() RR { return new(MR) },
47 TypeMX: func() RR { return new(MX) },
48 TypeNAPTR: func() RR { return new(NAPTR) },
49 TypeNID: func() RR { return new(NID) },
50 TypeNIMLOC: func() RR { return new(NIMLOC) },
51 TypeNINFO: func() RR { return new(NINFO) },
52 TypeNS: func() RR { return new(NS) },
53 TypeNSAPPTR: func() RR { return new(NSAPPTR) },
54 TypeNSEC: func() RR { return new(NSEC) },
55 TypeNSEC3: func() RR { return new(NSEC3) },
56 TypeNSEC3PARAM: func() RR { return new(NSEC3PARAM) },
57 TypeNULL: func() RR { return new(NULL) },
58 TypeOPENPGPKEY: func() RR { return new(OPENPGPKEY) },
59 TypeOPT: func() RR { return new(OPT) },
60 TypePTR: func() RR { return new(PTR) },
61 TypePX: func() RR { return new(PX) },
62 TypeRKEY: func() RR { return new(RKEY) },
63 TypeRP: func() RR { return new(RP) },
64 TypeRRSIG: func() RR { return new(RRSIG) },
65 TypeRT: func() RR { return new(RT) },
66 TypeSIG: func() RR { return new(SIG) },
67 TypeSMIMEA: func() RR { return new(SMIMEA) },
68 TypeSOA: func() RR { return new(SOA) },
69 TypeSPF: func() RR { return new(SPF) },
70 TypeSRV: func() RR { return new(SRV) },
71 TypeSSHFP: func() RR { return new(SSHFP) },
72 TypeTA: func() RR { return new(TA) },
73 TypeTALINK: func() RR { return new(TALINK) },
74 TypeTKEY: func() RR { return new(TKEY) },
75 TypeTLSA: func() RR { return new(TLSA) },
76 TypeTSIG: func() RR { return new(TSIG) },
77 TypeTXT: func() RR { return new(TXT) },
78 TypeUID: func() RR { return new(UID) },
79 TypeUINFO: func() RR { return new(UINFO) },
80 TypeURI: func() RR { return new(URI) },
81 TypeX25: func() RR { return new(X25) },
84 // TypeToString is a map of strings for each RR type.
85 var TypeToString = map[uint16]string{
94 TypeCDNSKEY: "CDNSKEY",
102 TypeDNSKEY: "DNSKEY",
130 TypeNIMLOC: "NIMLOC",
135 TypeNSEC3PARAM: "NSEC3PARAM",
139 TypeOPENPGPKEY: "OPENPGPKEY",
147 TypeReserved: "Reserved",
149 TypeSMIMEA: "SMIMEA",
155 TypeTALINK: "TALINK",
162 TypeUNSPEC: "UNSPEC",
165 TypeNSAPPTR: "NSAP-PTR",
168 func (rr *A) Header() *RR_Header { return &rr.Hdr }
169 func (rr *AAAA) Header() *RR_Header { return &rr.Hdr }
170 func (rr *AFSDB) Header() *RR_Header { return &rr.Hdr }
171 func (rr *ANY) Header() *RR_Header { return &rr.Hdr }
172 func (rr *AVC) Header() *RR_Header { return &rr.Hdr }
173 func (rr *CAA) Header() *RR_Header { return &rr.Hdr }
174 func (rr *CDNSKEY) Header() *RR_Header { return &rr.Hdr }
175 func (rr *CDS) Header() *RR_Header { return &rr.Hdr }
176 func (rr *CERT) Header() *RR_Header { return &rr.Hdr }
177 func (rr *CNAME) Header() *RR_Header { return &rr.Hdr }
178 func (rr *CSYNC) Header() *RR_Header { return &rr.Hdr }
179 func (rr *DHCID) Header() *RR_Header { return &rr.Hdr }
180 func (rr *DLV) Header() *RR_Header { return &rr.Hdr }
181 func (rr *DNAME) Header() *RR_Header { return &rr.Hdr }
182 func (rr *DNSKEY) Header() *RR_Header { return &rr.Hdr }
183 func (rr *DS) Header() *RR_Header { return &rr.Hdr }
184 func (rr *EID) Header() *RR_Header { return &rr.Hdr }
185 func (rr *EUI48) Header() *RR_Header { return &rr.Hdr }
186 func (rr *EUI64) Header() *RR_Header { return &rr.Hdr }
187 func (rr *GID) Header() *RR_Header { return &rr.Hdr }
188 func (rr *GPOS) Header() *RR_Header { return &rr.Hdr }
189 func (rr *HINFO) Header() *RR_Header { return &rr.Hdr }
190 func (rr *HIP) Header() *RR_Header { return &rr.Hdr }
191 func (rr *KEY) Header() *RR_Header { return &rr.Hdr }
192 func (rr *KX) Header() *RR_Header { return &rr.Hdr }
193 func (rr *L32) Header() *RR_Header { return &rr.Hdr }
194 func (rr *L64) Header() *RR_Header { return &rr.Hdr }
195 func (rr *LOC) Header() *RR_Header { return &rr.Hdr }
196 func (rr *LP) Header() *RR_Header { return &rr.Hdr }
197 func (rr *MB) Header() *RR_Header { return &rr.Hdr }
198 func (rr *MD) Header() *RR_Header { return &rr.Hdr }
199 func (rr *MF) Header() *RR_Header { return &rr.Hdr }
200 func (rr *MG) Header() *RR_Header { return &rr.Hdr }
201 func (rr *MINFO) Header() *RR_Header { return &rr.Hdr }
202 func (rr *MR) Header() *RR_Header { return &rr.Hdr }
203 func (rr *MX) Header() *RR_Header { return &rr.Hdr }
204 func (rr *NAPTR) Header() *RR_Header { return &rr.Hdr }
205 func (rr *NID) Header() *RR_Header { return &rr.Hdr }
206 func (rr *NIMLOC) Header() *RR_Header { return &rr.Hdr }
207 func (rr *NINFO) Header() *RR_Header { return &rr.Hdr }
208 func (rr *NS) Header() *RR_Header { return &rr.Hdr }
209 func (rr *NSAPPTR) Header() *RR_Header { return &rr.Hdr }
210 func (rr *NSEC) Header() *RR_Header { return &rr.Hdr }
211 func (rr *NSEC3) Header() *RR_Header { return &rr.Hdr }
212 func (rr *NSEC3PARAM) Header() *RR_Header { return &rr.Hdr }
213 func (rr *NULL) Header() *RR_Header { return &rr.Hdr }
214 func (rr *OPENPGPKEY) Header() *RR_Header { return &rr.Hdr }
215 func (rr *OPT) Header() *RR_Header { return &rr.Hdr }
216 func (rr *PTR) Header() *RR_Header { return &rr.Hdr }
217 func (rr *PX) Header() *RR_Header { return &rr.Hdr }
218 func (rr *RFC3597) Header() *RR_Header { return &rr.Hdr }
219 func (rr *RKEY) Header() *RR_Header { return &rr.Hdr }
220 func (rr *RP) Header() *RR_Header { return &rr.Hdr }
221 func (rr *RRSIG) Header() *RR_Header { return &rr.Hdr }
222 func (rr *RT) Header() *RR_Header { return &rr.Hdr }
223 func (rr *SIG) Header() *RR_Header { return &rr.Hdr }
224 func (rr *SMIMEA) Header() *RR_Header { return &rr.Hdr }
225 func (rr *SOA) Header() *RR_Header { return &rr.Hdr }
226 func (rr *SPF) Header() *RR_Header { return &rr.Hdr }
227 func (rr *SRV) Header() *RR_Header { return &rr.Hdr }
228 func (rr *SSHFP) Header() *RR_Header { return &rr.Hdr }
229 func (rr *TA) Header() *RR_Header { return &rr.Hdr }
230 func (rr *TALINK) Header() *RR_Header { return &rr.Hdr }
231 func (rr *TKEY) Header() *RR_Header { return &rr.Hdr }
232 func (rr *TLSA) Header() *RR_Header { return &rr.Hdr }
233 func (rr *TSIG) Header() *RR_Header { return &rr.Hdr }
234 func (rr *TXT) Header() *RR_Header { return &rr.Hdr }
235 func (rr *UID) Header() *RR_Header { return &rr.Hdr }
236 func (rr *UINFO) Header() *RR_Header { return &rr.Hdr }
237 func (rr *URI) Header() *RR_Header { return &rr.Hdr }
238 func (rr *X25) Header() *RR_Header { return &rr.Hdr }
241 func (rr *A) len(off int, compression map[string]struct{}) int {
242 l := rr.Hdr.len(off, compression)
243 l += net.IPv4len // A
246 func (rr *AAAA) len(off int, compression map[string]struct{}) int {
247 l := rr.Hdr.len(off, compression)
248 l += net.IPv6len // AAAA
251 func (rr *AFSDB) len(off int, compression map[string]struct{}) int {
252 l := rr.Hdr.len(off, compression)
254 l += domainNameLen(rr.Hostname, off+l, compression, false)
257 func (rr *ANY) len(off int, compression map[string]struct{}) int {
258 l := rr.Hdr.len(off, compression)
261 func (rr *AVC) len(off int, compression map[string]struct{}) int {
262 l := rr.Hdr.len(off, compression)
263 for _, x := range rr.Txt {
268 func (rr *CAA) len(off int, compression map[string]struct{}) int {
269 l := rr.Hdr.len(off, compression)
275 func (rr *CERT) len(off int, compression map[string]struct{}) int {
276 l := rr.Hdr.len(off, compression)
280 l += base64.StdEncoding.DecodedLen(len(rr.Certificate))
283 func (rr *CNAME) len(off int, compression map[string]struct{}) int {
284 l := rr.Hdr.len(off, compression)
285 l += domainNameLen(rr.Target, off+l, compression, true)
288 func (rr *DHCID) len(off int, compression map[string]struct{}) int {
289 l := rr.Hdr.len(off, compression)
290 l += base64.StdEncoding.DecodedLen(len(rr.Digest))
293 func (rr *DNAME) len(off int, compression map[string]struct{}) int {
294 l := rr.Hdr.len(off, compression)
295 l += domainNameLen(rr.Target, off+l, compression, false)
298 func (rr *DNSKEY) len(off int, compression map[string]struct{}) int {
299 l := rr.Hdr.len(off, compression)
303 l += base64.StdEncoding.DecodedLen(len(rr.PublicKey))
306 func (rr *DS) len(off int, compression map[string]struct{}) int {
307 l := rr.Hdr.len(off, compression)
311 l += len(rr.Digest)/2 + 1
314 func (rr *EID) len(off int, compression map[string]struct{}) int {
315 l := rr.Hdr.len(off, compression)
316 l += len(rr.Endpoint)/2 + 1
319 func (rr *EUI48) len(off int, compression map[string]struct{}) int {
320 l := rr.Hdr.len(off, compression)
324 func (rr *EUI64) len(off int, compression map[string]struct{}) int {
325 l := rr.Hdr.len(off, compression)
329 func (rr *GID) len(off int, compression map[string]struct{}) int {
330 l := rr.Hdr.len(off, compression)
334 func (rr *GPOS) len(off int, compression map[string]struct{}) int {
335 l := rr.Hdr.len(off, compression)
336 l += len(rr.Longitude) + 1
337 l += len(rr.Latitude) + 1
338 l += len(rr.Altitude) + 1
341 func (rr *HINFO) len(off int, compression map[string]struct{}) int {
342 l := rr.Hdr.len(off, compression)
347 func (rr *HIP) len(off int, compression map[string]struct{}) int {
348 l := rr.Hdr.len(off, compression)
350 l++ // PublicKeyAlgorithm
351 l += 2 // PublicKeyLength
353 l += base64.StdEncoding.DecodedLen(len(rr.PublicKey))
354 for _, x := range rr.RendezvousServers {
355 l += domainNameLen(x, off+l, compression, false)
359 func (rr *KX) len(off int, compression map[string]struct{}) int {
360 l := rr.Hdr.len(off, compression)
362 l += domainNameLen(rr.Exchanger, off+l, compression, false)
365 func (rr *L32) len(off int, compression map[string]struct{}) int {
366 l := rr.Hdr.len(off, compression)
368 l += net.IPv4len // Locator32
371 func (rr *L64) len(off int, compression map[string]struct{}) int {
372 l := rr.Hdr.len(off, compression)
377 func (rr *LOC) len(off int, compression map[string]struct{}) int {
378 l := rr.Hdr.len(off, compression)
388 func (rr *LP) len(off int, compression map[string]struct{}) int {
389 l := rr.Hdr.len(off, compression)
391 l += domainNameLen(rr.Fqdn, off+l, compression, false)
394 func (rr *MB) len(off int, compression map[string]struct{}) int {
395 l := rr.Hdr.len(off, compression)
396 l += domainNameLen(rr.Mb, off+l, compression, true)
399 func (rr *MD) len(off int, compression map[string]struct{}) int {
400 l := rr.Hdr.len(off, compression)
401 l += domainNameLen(rr.Md, off+l, compression, true)
404 func (rr *MF) len(off int, compression map[string]struct{}) int {
405 l := rr.Hdr.len(off, compression)
406 l += domainNameLen(rr.Mf, off+l, compression, true)
409 func (rr *MG) len(off int, compression map[string]struct{}) int {
410 l := rr.Hdr.len(off, compression)
411 l += domainNameLen(rr.Mg, off+l, compression, true)
414 func (rr *MINFO) len(off int, compression map[string]struct{}) int {
415 l := rr.Hdr.len(off, compression)
416 l += domainNameLen(rr.Rmail, off+l, compression, true)
417 l += domainNameLen(rr.Email, off+l, compression, true)
420 func (rr *MR) len(off int, compression map[string]struct{}) int {
421 l := rr.Hdr.len(off, compression)
422 l += domainNameLen(rr.Mr, off+l, compression, true)
425 func (rr *MX) len(off int, compression map[string]struct{}) int {
426 l := rr.Hdr.len(off, compression)
428 l += domainNameLen(rr.Mx, off+l, compression, true)
431 func (rr *NAPTR) len(off int, compression map[string]struct{}) int {
432 l := rr.Hdr.len(off, compression)
435 l += len(rr.Flags) + 1
436 l += len(rr.Service) + 1
437 l += len(rr.Regexp) + 1
438 l += domainNameLen(rr.Replacement, off+l, compression, false)
441 func (rr *NID) len(off int, compression map[string]struct{}) int {
442 l := rr.Hdr.len(off, compression)
447 func (rr *NIMLOC) len(off int, compression map[string]struct{}) int {
448 l := rr.Hdr.len(off, compression)
449 l += len(rr.Locator)/2 + 1
452 func (rr *NINFO) len(off int, compression map[string]struct{}) int {
453 l := rr.Hdr.len(off, compression)
454 for _, x := range rr.ZSData {
459 func (rr *NS) len(off int, compression map[string]struct{}) int {
460 l := rr.Hdr.len(off, compression)
461 l += domainNameLen(rr.Ns, off+l, compression, true)
464 func (rr *NSAPPTR) len(off int, compression map[string]struct{}) int {
465 l := rr.Hdr.len(off, compression)
466 l += domainNameLen(rr.Ptr, off+l, compression, false)
469 func (rr *NSEC3PARAM) len(off int, compression map[string]struct{}) int {
470 l := rr.Hdr.len(off, compression)
475 l += len(rr.Salt) / 2
478 func (rr *NULL) len(off int, compression map[string]struct{}) int {
479 l := rr.Hdr.len(off, compression)
483 func (rr *OPENPGPKEY) len(off int, compression map[string]struct{}) int {
484 l := rr.Hdr.len(off, compression)
485 l += base64.StdEncoding.DecodedLen(len(rr.PublicKey))
488 func (rr *PTR) len(off int, compression map[string]struct{}) int {
489 l := rr.Hdr.len(off, compression)
490 l += domainNameLen(rr.Ptr, off+l, compression, true)
493 func (rr *PX) len(off int, compression map[string]struct{}) int {
494 l := rr.Hdr.len(off, compression)
496 l += domainNameLen(rr.Map822, off+l, compression, false)
497 l += domainNameLen(rr.Mapx400, off+l, compression, false)
500 func (rr *RFC3597) len(off int, compression map[string]struct{}) int {
501 l := rr.Hdr.len(off, compression)
502 l += len(rr.Rdata)/2 + 1
505 func (rr *RKEY) len(off int, compression map[string]struct{}) int {
506 l := rr.Hdr.len(off, compression)
510 l += base64.StdEncoding.DecodedLen(len(rr.PublicKey))
513 func (rr *RP) len(off int, compression map[string]struct{}) int {
514 l := rr.Hdr.len(off, compression)
515 l += domainNameLen(rr.Mbox, off+l, compression, false)
516 l += domainNameLen(rr.Txt, off+l, compression, false)
519 func (rr *RRSIG) len(off int, compression map[string]struct{}) int {
520 l := rr.Hdr.len(off, compression)
521 l += 2 // TypeCovered
528 l += domainNameLen(rr.SignerName, off+l, compression, false)
529 l += base64.StdEncoding.DecodedLen(len(rr.Signature))
532 func (rr *RT) len(off int, compression map[string]struct{}) int {
533 l := rr.Hdr.len(off, compression)
535 l += domainNameLen(rr.Host, off+l, compression, false)
538 func (rr *SMIMEA) len(off int, compression map[string]struct{}) int {
539 l := rr.Hdr.len(off, compression)
543 l += len(rr.Certificate)/2 + 1
546 func (rr *SOA) len(off int, compression map[string]struct{}) int {
547 l := rr.Hdr.len(off, compression)
548 l += domainNameLen(rr.Ns, off+l, compression, true)
549 l += domainNameLen(rr.Mbox, off+l, compression, true)
557 func (rr *SPF) len(off int, compression map[string]struct{}) int {
558 l := rr.Hdr.len(off, compression)
559 for _, x := range rr.Txt {
564 func (rr *SRV) len(off int, compression map[string]struct{}) int {
565 l := rr.Hdr.len(off, compression)
569 l += domainNameLen(rr.Target, off+l, compression, false)
572 func (rr *SSHFP) len(off int, compression map[string]struct{}) int {
573 l := rr.Hdr.len(off, compression)
576 l += len(rr.FingerPrint)/2 + 1
579 func (rr *TA) len(off int, compression map[string]struct{}) int {
580 l := rr.Hdr.len(off, compression)
584 l += len(rr.Digest)/2 + 1
587 func (rr *TALINK) len(off int, compression map[string]struct{}) int {
588 l := rr.Hdr.len(off, compression)
589 l += domainNameLen(rr.PreviousName, off+l, compression, false)
590 l += domainNameLen(rr.NextName, off+l, compression, false)
593 func (rr *TKEY) len(off int, compression map[string]struct{}) int {
594 l := rr.Hdr.len(off, compression)
595 l += domainNameLen(rr.Algorithm, off+l, compression, false)
603 l += len(rr.OtherData) / 2
606 func (rr *TLSA) len(off int, compression map[string]struct{}) int {
607 l := rr.Hdr.len(off, compression)
611 l += len(rr.Certificate)/2 + 1
614 func (rr *TSIG) len(off int, compression map[string]struct{}) int {
615 l := rr.Hdr.len(off, compression)
616 l += domainNameLen(rr.Algorithm, off+l, compression, false)
624 l += len(rr.OtherData) / 2
627 func (rr *TXT) len(off int, compression map[string]struct{}) int {
628 l := rr.Hdr.len(off, compression)
629 for _, x := range rr.Txt {
634 func (rr *UID) len(off int, compression map[string]struct{}) int {
635 l := rr.Hdr.len(off, compression)
639 func (rr *UINFO) len(off int, compression map[string]struct{}) int {
640 l := rr.Hdr.len(off, compression)
641 l += len(rr.Uinfo) + 1
644 func (rr *URI) len(off int, compression map[string]struct{}) int {
645 l := rr.Hdr.len(off, compression)
651 func (rr *X25) len(off int, compression map[string]struct{}) int {
652 l := rr.Hdr.len(off, compression)
653 l += len(rr.PSDNAddress) + 1
658 func (rr *A) copy() RR {
659 return &A{rr.Hdr, copyIP(rr.A)}
661 func (rr *AAAA) copy() RR {
662 return &AAAA{rr.Hdr, copyIP(rr.AAAA)}
664 func (rr *AFSDB) copy() RR {
665 return &AFSDB{rr.Hdr, rr.Subtype, rr.Hostname}
667 func (rr *ANY) copy() RR {
670 func (rr *AVC) copy() RR {
671 Txt := make([]string, len(rr.Txt))
673 return &AVC{rr.Hdr, Txt}
675 func (rr *CAA) copy() RR {
676 return &CAA{rr.Hdr, rr.Flag, rr.Tag, rr.Value}
678 func (rr *CERT) copy() RR {
679 return &CERT{rr.Hdr, rr.Type, rr.KeyTag, rr.Algorithm, rr.Certificate}
681 func (rr *CNAME) copy() RR {
682 return &CNAME{rr.Hdr, rr.Target}
684 func (rr *CSYNC) copy() RR {
685 TypeBitMap := make([]uint16, len(rr.TypeBitMap))
686 copy(TypeBitMap, rr.TypeBitMap)
687 return &CSYNC{rr.Hdr, rr.Serial, rr.Flags, TypeBitMap}
689 func (rr *DHCID) copy() RR {
690 return &DHCID{rr.Hdr, rr.Digest}
692 func (rr *DNAME) copy() RR {
693 return &DNAME{rr.Hdr, rr.Target}
695 func (rr *DNSKEY) copy() RR {
696 return &DNSKEY{rr.Hdr, rr.Flags, rr.Protocol, rr.Algorithm, rr.PublicKey}
698 func (rr *DS) copy() RR {
699 return &DS{rr.Hdr, rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest}
701 func (rr *EID) copy() RR {
702 return &EID{rr.Hdr, rr.Endpoint}
704 func (rr *EUI48) copy() RR {
705 return &EUI48{rr.Hdr, rr.Address}
707 func (rr *EUI64) copy() RR {
708 return &EUI64{rr.Hdr, rr.Address}
710 func (rr *GID) copy() RR {
711 return &GID{rr.Hdr, rr.Gid}
713 func (rr *GPOS) copy() RR {
714 return &GPOS{rr.Hdr, rr.Longitude, rr.Latitude, rr.Altitude}
716 func (rr *HINFO) copy() RR {
717 return &HINFO{rr.Hdr, rr.Cpu, rr.Os}
719 func (rr *HIP) copy() RR {
720 RendezvousServers := make([]string, len(rr.RendezvousServers))
721 copy(RendezvousServers, rr.RendezvousServers)
722 return &HIP{rr.Hdr, rr.HitLength, rr.PublicKeyAlgorithm, rr.PublicKeyLength, rr.Hit, rr.PublicKey, RendezvousServers}
724 func (rr *KX) copy() RR {
725 return &KX{rr.Hdr, rr.Preference, rr.Exchanger}
727 func (rr *L32) copy() RR {
728 return &L32{rr.Hdr, rr.Preference, copyIP(rr.Locator32)}
730 func (rr *L64) copy() RR {
731 return &L64{rr.Hdr, rr.Preference, rr.Locator64}
733 func (rr *LOC) copy() RR {
734 return &LOC{rr.Hdr, rr.Version, rr.Size, rr.HorizPre, rr.VertPre, rr.Latitude, rr.Longitude, rr.Altitude}
736 func (rr *LP) copy() RR {
737 return &LP{rr.Hdr, rr.Preference, rr.Fqdn}
739 func (rr *MB) copy() RR {
740 return &MB{rr.Hdr, rr.Mb}
742 func (rr *MD) copy() RR {
743 return &MD{rr.Hdr, rr.Md}
745 func (rr *MF) copy() RR {
746 return &MF{rr.Hdr, rr.Mf}
748 func (rr *MG) copy() RR {
749 return &MG{rr.Hdr, rr.Mg}
751 func (rr *MINFO) copy() RR {
752 return &MINFO{rr.Hdr, rr.Rmail, rr.Email}
754 func (rr *MR) copy() RR {
755 return &MR{rr.Hdr, rr.Mr}
757 func (rr *MX) copy() RR {
758 return &MX{rr.Hdr, rr.Preference, rr.Mx}
760 func (rr *NAPTR) copy() RR {
761 return &NAPTR{rr.Hdr, rr.Order, rr.Preference, rr.Flags, rr.Service, rr.Regexp, rr.Replacement}
763 func (rr *NID) copy() RR {
764 return &NID{rr.Hdr, rr.Preference, rr.NodeID}
766 func (rr *NIMLOC) copy() RR {
767 return &NIMLOC{rr.Hdr, rr.Locator}
769 func (rr *NINFO) copy() RR {
770 ZSData := make([]string, len(rr.ZSData))
771 copy(ZSData, rr.ZSData)
772 return &NINFO{rr.Hdr, ZSData}
774 func (rr *NS) copy() RR {
775 return &NS{rr.Hdr, rr.Ns}
777 func (rr *NSAPPTR) copy() RR {
778 return &NSAPPTR{rr.Hdr, rr.Ptr}
780 func (rr *NSEC) copy() RR {
781 TypeBitMap := make([]uint16, len(rr.TypeBitMap))
782 copy(TypeBitMap, rr.TypeBitMap)
783 return &NSEC{rr.Hdr, rr.NextDomain, TypeBitMap}
785 func (rr *NSEC3) copy() RR {
786 TypeBitMap := make([]uint16, len(rr.TypeBitMap))
787 copy(TypeBitMap, rr.TypeBitMap)
788 return &NSEC3{rr.Hdr, rr.Hash, rr.Flags, rr.Iterations, rr.SaltLength, rr.Salt, rr.HashLength, rr.NextDomain, TypeBitMap}
790 func (rr *NSEC3PARAM) copy() RR {
791 return &NSEC3PARAM{rr.Hdr, rr.Hash, rr.Flags, rr.Iterations, rr.SaltLength, rr.Salt}
793 func (rr *NULL) copy() RR {
794 return &NULL{rr.Hdr, rr.Data}
796 func (rr *OPENPGPKEY) copy() RR {
797 return &OPENPGPKEY{rr.Hdr, rr.PublicKey}
799 func (rr *OPT) copy() RR {
800 Option := make([]EDNS0, len(rr.Option))
801 for i, e := range rr.Option {
804 return &OPT{rr.Hdr, Option}
806 func (rr *PTR) copy() RR {
807 return &PTR{rr.Hdr, rr.Ptr}
809 func (rr *PX) copy() RR {
810 return &PX{rr.Hdr, rr.Preference, rr.Map822, rr.Mapx400}
812 func (rr *RFC3597) copy() RR {
813 return &RFC3597{rr.Hdr, rr.Rdata}
815 func (rr *RKEY) copy() RR {
816 return &RKEY{rr.Hdr, rr.Flags, rr.Protocol, rr.Algorithm, rr.PublicKey}
818 func (rr *RP) copy() RR {
819 return &RP{rr.Hdr, rr.Mbox, rr.Txt}
821 func (rr *RRSIG) copy() RR {
822 return &RRSIG{rr.Hdr, rr.TypeCovered, rr.Algorithm, rr.Labels, rr.OrigTtl, rr.Expiration, rr.Inception, rr.KeyTag, rr.SignerName, rr.Signature}
824 func (rr *RT) copy() RR {
825 return &RT{rr.Hdr, rr.Preference, rr.Host}
827 func (rr *SMIMEA) copy() RR {
828 return &SMIMEA{rr.Hdr, rr.Usage, rr.Selector, rr.MatchingType, rr.Certificate}
830 func (rr *SOA) copy() RR {
831 return &SOA{rr.Hdr, rr.Ns, rr.Mbox, rr.Serial, rr.Refresh, rr.Retry, rr.Expire, rr.Minttl}
833 func (rr *SPF) copy() RR {
834 Txt := make([]string, len(rr.Txt))
836 return &SPF{rr.Hdr, Txt}
838 func (rr *SRV) copy() RR {
839 return &SRV{rr.Hdr, rr.Priority, rr.Weight, rr.Port, rr.Target}
841 func (rr *SSHFP) copy() RR {
842 return &SSHFP{rr.Hdr, rr.Algorithm, rr.Type, rr.FingerPrint}
844 func (rr *TA) copy() RR {
845 return &TA{rr.Hdr, rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest}
847 func (rr *TALINK) copy() RR {
848 return &TALINK{rr.Hdr, rr.PreviousName, rr.NextName}
850 func (rr *TKEY) copy() RR {
851 return &TKEY{rr.Hdr, rr.Algorithm, rr.Inception, rr.Expiration, rr.Mode, rr.Error, rr.KeySize, rr.Key, rr.OtherLen, rr.OtherData}
853 func (rr *TLSA) copy() RR {
854 return &TLSA{rr.Hdr, rr.Usage, rr.Selector, rr.MatchingType, rr.Certificate}
856 func (rr *TSIG) copy() RR {
857 return &TSIG{rr.Hdr, rr.Algorithm, rr.TimeSigned, rr.Fudge, rr.MACSize, rr.MAC, rr.OrigId, rr.Error, rr.OtherLen, rr.OtherData}
859 func (rr *TXT) copy() RR {
860 Txt := make([]string, len(rr.Txt))
862 return &TXT{rr.Hdr, Txt}
864 func (rr *UID) copy() RR {
865 return &UID{rr.Hdr, rr.Uid}
867 func (rr *UINFO) copy() RR {
868 return &UINFO{rr.Hdr, rr.Uinfo}
870 func (rr *URI) copy() RR {
871 return &URI{rr.Hdr, rr.Priority, rr.Weight, rr.Target}
873 func (rr *X25) copy() RR {
874 return &X25{rr.Hdr, rr.PSDNAddress}