gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

zmsg.go (63654B)


      1 // Code generated by "go run msg_generate.go"; DO NOT EDIT.
      2 
      3 package dns
      4 
      5 // pack*() functions
      6 
      7 func (rr *A) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
      8 	off, err = packDataA(rr.A, msg, off)
      9 	if err != nil {
     10 		return off, err
     11 	}
     12 	return off, nil
     13 }
     14 
     15 func (rr *AAAA) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     16 	off, err = packDataAAAA(rr.AAAA, msg, off)
     17 	if err != nil {
     18 		return off, err
     19 	}
     20 	return off, nil
     21 }
     22 
     23 func (rr *AFSDB) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     24 	off, err = packUint16(rr.Subtype, msg, off)
     25 	if err != nil {
     26 		return off, err
     27 	}
     28 	off, err = packDomainName(rr.Hostname, msg, off, compression, false)
     29 	if err != nil {
     30 		return off, err
     31 	}
     32 	return off, nil
     33 }
     34 
     35 func (rr *AMTRELAY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     36 	off, err = packUint8(rr.Precedence, msg, off)
     37 	if err != nil {
     38 		return off, err
     39 	}
     40 	off, err = packUint8(rr.GatewayType, msg, off)
     41 	if err != nil {
     42 		return off, err
     43 	}
     44 	off, err = packIPSECGateway(rr.GatewayAddr, rr.GatewayHost, msg, off, rr.GatewayType, compression, false)
     45 	if err != nil {
     46 		return off, err
     47 	}
     48 	return off, nil
     49 }
     50 
     51 func (rr *ANY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     52 	return off, nil
     53 }
     54 
     55 func (rr *APL) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     56 	off, err = packDataApl(rr.Prefixes, msg, off)
     57 	if err != nil {
     58 		return off, err
     59 	}
     60 	return off, nil
     61 }
     62 
     63 func (rr *AVC) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     64 	off, err = packStringTxt(rr.Txt, msg, off)
     65 	if err != nil {
     66 		return off, err
     67 	}
     68 	return off, nil
     69 }
     70 
     71 func (rr *CAA) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     72 	off, err = packUint8(rr.Flag, msg, off)
     73 	if err != nil {
     74 		return off, err
     75 	}
     76 	off, err = packString(rr.Tag, msg, off)
     77 	if err != nil {
     78 		return off, err
     79 	}
     80 	off, err = packStringOctet(rr.Value, msg, off)
     81 	if err != nil {
     82 		return off, err
     83 	}
     84 	return off, nil
     85 }
     86 
     87 func (rr *CDNSKEY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
     88 	off, err = packUint16(rr.Flags, msg, off)
     89 	if err != nil {
     90 		return off, err
     91 	}
     92 	off, err = packUint8(rr.Protocol, msg, off)
     93 	if err != nil {
     94 		return off, err
     95 	}
     96 	off, err = packUint8(rr.Algorithm, msg, off)
     97 	if err != nil {
     98 		return off, err
     99 	}
    100 	off, err = packStringBase64(rr.PublicKey, msg, off)
    101 	if err != nil {
    102 		return off, err
    103 	}
    104 	return off, nil
    105 }
    106 
    107 func (rr *CDS) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    108 	off, err = packUint16(rr.KeyTag, msg, off)
    109 	if err != nil {
    110 		return off, err
    111 	}
    112 	off, err = packUint8(rr.Algorithm, msg, off)
    113 	if err != nil {
    114 		return off, err
    115 	}
    116 	off, err = packUint8(rr.DigestType, msg, off)
    117 	if err != nil {
    118 		return off, err
    119 	}
    120 	off, err = packStringHex(rr.Digest, msg, off)
    121 	if err != nil {
    122 		return off, err
    123 	}
    124 	return off, nil
    125 }
    126 
    127 func (rr *CERT) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    128 	off, err = packUint16(rr.Type, msg, off)
    129 	if err != nil {
    130 		return off, err
    131 	}
    132 	off, err = packUint16(rr.KeyTag, msg, off)
    133 	if err != nil {
    134 		return off, err
    135 	}
    136 	off, err = packUint8(rr.Algorithm, msg, off)
    137 	if err != nil {
    138 		return off, err
    139 	}
    140 	off, err = packStringBase64(rr.Certificate, msg, off)
    141 	if err != nil {
    142 		return off, err
    143 	}
    144 	return off, nil
    145 }
    146 
    147 func (rr *CNAME) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    148 	off, err = packDomainName(rr.Target, msg, off, compression, compress)
    149 	if err != nil {
    150 		return off, err
    151 	}
    152 	return off, nil
    153 }
    154 
    155 func (rr *CSYNC) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    156 	off, err = packUint32(rr.Serial, msg, off)
    157 	if err != nil {
    158 		return off, err
    159 	}
    160 	off, err = packUint16(rr.Flags, msg, off)
    161 	if err != nil {
    162 		return off, err
    163 	}
    164 	off, err = packDataNsec(rr.TypeBitMap, msg, off)
    165 	if err != nil {
    166 		return off, err
    167 	}
    168 	return off, nil
    169 }
    170 
    171 func (rr *DHCID) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    172 	off, err = packStringBase64(rr.Digest, msg, off)
    173 	if err != nil {
    174 		return off, err
    175 	}
    176 	return off, nil
    177 }
    178 
    179 func (rr *DLV) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    180 	off, err = packUint16(rr.KeyTag, msg, off)
    181 	if err != nil {
    182 		return off, err
    183 	}
    184 	off, err = packUint8(rr.Algorithm, msg, off)
    185 	if err != nil {
    186 		return off, err
    187 	}
    188 	off, err = packUint8(rr.DigestType, msg, off)
    189 	if err != nil {
    190 		return off, err
    191 	}
    192 	off, err = packStringHex(rr.Digest, msg, off)
    193 	if err != nil {
    194 		return off, err
    195 	}
    196 	return off, nil
    197 }
    198 
    199 func (rr *DNAME) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    200 	off, err = packDomainName(rr.Target, msg, off, compression, false)
    201 	if err != nil {
    202 		return off, err
    203 	}
    204 	return off, nil
    205 }
    206 
    207 func (rr *DNSKEY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    208 	off, err = packUint16(rr.Flags, msg, off)
    209 	if err != nil {
    210 		return off, err
    211 	}
    212 	off, err = packUint8(rr.Protocol, msg, off)
    213 	if err != nil {
    214 		return off, err
    215 	}
    216 	off, err = packUint8(rr.Algorithm, msg, off)
    217 	if err != nil {
    218 		return off, err
    219 	}
    220 	off, err = packStringBase64(rr.PublicKey, msg, off)
    221 	if err != nil {
    222 		return off, err
    223 	}
    224 	return off, nil
    225 }
    226 
    227 func (rr *DS) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    228 	off, err = packUint16(rr.KeyTag, msg, off)
    229 	if err != nil {
    230 		return off, err
    231 	}
    232 	off, err = packUint8(rr.Algorithm, msg, off)
    233 	if err != nil {
    234 		return off, err
    235 	}
    236 	off, err = packUint8(rr.DigestType, msg, off)
    237 	if err != nil {
    238 		return off, err
    239 	}
    240 	off, err = packStringHex(rr.Digest, msg, off)
    241 	if err != nil {
    242 		return off, err
    243 	}
    244 	return off, nil
    245 }
    246 
    247 func (rr *EID) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    248 	off, err = packStringHex(rr.Endpoint, msg, off)
    249 	if err != nil {
    250 		return off, err
    251 	}
    252 	return off, nil
    253 }
    254 
    255 func (rr *EUI48) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    256 	off, err = packUint48(rr.Address, msg, off)
    257 	if err != nil {
    258 		return off, err
    259 	}
    260 	return off, nil
    261 }
    262 
    263 func (rr *EUI64) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    264 	off, err = packUint64(rr.Address, msg, off)
    265 	if err != nil {
    266 		return off, err
    267 	}
    268 	return off, nil
    269 }
    270 
    271 func (rr *GID) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    272 	off, err = packUint32(rr.Gid, msg, off)
    273 	if err != nil {
    274 		return off, err
    275 	}
    276 	return off, nil
    277 }
    278 
    279 func (rr *GPOS) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    280 	off, err = packString(rr.Longitude, msg, off)
    281 	if err != nil {
    282 		return off, err
    283 	}
    284 	off, err = packString(rr.Latitude, msg, off)
    285 	if err != nil {
    286 		return off, err
    287 	}
    288 	off, err = packString(rr.Altitude, msg, off)
    289 	if err != nil {
    290 		return off, err
    291 	}
    292 	return off, nil
    293 }
    294 
    295 func (rr *HINFO) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    296 	off, err = packString(rr.Cpu, msg, off)
    297 	if err != nil {
    298 		return off, err
    299 	}
    300 	off, err = packString(rr.Os, msg, off)
    301 	if err != nil {
    302 		return off, err
    303 	}
    304 	return off, nil
    305 }
    306 
    307 func (rr *HIP) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    308 	off, err = packUint8(rr.HitLength, msg, off)
    309 	if err != nil {
    310 		return off, err
    311 	}
    312 	off, err = packUint8(rr.PublicKeyAlgorithm, msg, off)
    313 	if err != nil {
    314 		return off, err
    315 	}
    316 	off, err = packUint16(rr.PublicKeyLength, msg, off)
    317 	if err != nil {
    318 		return off, err
    319 	}
    320 	off, err = packStringHex(rr.Hit, msg, off)
    321 	if err != nil {
    322 		return off, err
    323 	}
    324 	off, err = packStringBase64(rr.PublicKey, msg, off)
    325 	if err != nil {
    326 		return off, err
    327 	}
    328 	off, err = packDataDomainNames(rr.RendezvousServers, msg, off, compression, false)
    329 	if err != nil {
    330 		return off, err
    331 	}
    332 	return off, nil
    333 }
    334 
    335 func (rr *HTTPS) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    336 	off, err = packUint16(rr.Priority, msg, off)
    337 	if err != nil {
    338 		return off, err
    339 	}
    340 	off, err = packDomainName(rr.Target, msg, off, compression, false)
    341 	if err != nil {
    342 		return off, err
    343 	}
    344 	off, err = packDataSVCB(rr.Value, msg, off)
    345 	if err != nil {
    346 		return off, err
    347 	}
    348 	return off, nil
    349 }
    350 
    351 func (rr *IPSECKEY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    352 	off, err = packUint8(rr.Precedence, msg, off)
    353 	if err != nil {
    354 		return off, err
    355 	}
    356 	off, err = packUint8(rr.GatewayType, msg, off)
    357 	if err != nil {
    358 		return off, err
    359 	}
    360 	off, err = packUint8(rr.Algorithm, msg, off)
    361 	if err != nil {
    362 		return off, err
    363 	}
    364 	off, err = packIPSECGateway(rr.GatewayAddr, rr.GatewayHost, msg, off, rr.GatewayType, compression, false)
    365 	if err != nil {
    366 		return off, err
    367 	}
    368 	off, err = packStringBase64(rr.PublicKey, msg, off)
    369 	if err != nil {
    370 		return off, err
    371 	}
    372 	return off, nil
    373 }
    374 
    375 func (rr *KEY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    376 	off, err = packUint16(rr.Flags, msg, off)
    377 	if err != nil {
    378 		return off, err
    379 	}
    380 	off, err = packUint8(rr.Protocol, msg, off)
    381 	if err != nil {
    382 		return off, err
    383 	}
    384 	off, err = packUint8(rr.Algorithm, msg, off)
    385 	if err != nil {
    386 		return off, err
    387 	}
    388 	off, err = packStringBase64(rr.PublicKey, msg, off)
    389 	if err != nil {
    390 		return off, err
    391 	}
    392 	return off, nil
    393 }
    394 
    395 func (rr *KX) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    396 	off, err = packUint16(rr.Preference, msg, off)
    397 	if err != nil {
    398 		return off, err
    399 	}
    400 	off, err = packDomainName(rr.Exchanger, msg, off, compression, false)
    401 	if err != nil {
    402 		return off, err
    403 	}
    404 	return off, nil
    405 }
    406 
    407 func (rr *L32) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    408 	off, err = packUint16(rr.Preference, msg, off)
    409 	if err != nil {
    410 		return off, err
    411 	}
    412 	off, err = packDataA(rr.Locator32, msg, off)
    413 	if err != nil {
    414 		return off, err
    415 	}
    416 	return off, nil
    417 }
    418 
    419 func (rr *L64) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    420 	off, err = packUint16(rr.Preference, msg, off)
    421 	if err != nil {
    422 		return off, err
    423 	}
    424 	off, err = packUint64(rr.Locator64, msg, off)
    425 	if err != nil {
    426 		return off, err
    427 	}
    428 	return off, nil
    429 }
    430 
    431 func (rr *LOC) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    432 	off, err = packUint8(rr.Version, msg, off)
    433 	if err != nil {
    434 		return off, err
    435 	}
    436 	off, err = packUint8(rr.Size, msg, off)
    437 	if err != nil {
    438 		return off, err
    439 	}
    440 	off, err = packUint8(rr.HorizPre, msg, off)
    441 	if err != nil {
    442 		return off, err
    443 	}
    444 	off, err = packUint8(rr.VertPre, msg, off)
    445 	if err != nil {
    446 		return off, err
    447 	}
    448 	off, err = packUint32(rr.Latitude, msg, off)
    449 	if err != nil {
    450 		return off, err
    451 	}
    452 	off, err = packUint32(rr.Longitude, msg, off)
    453 	if err != nil {
    454 		return off, err
    455 	}
    456 	off, err = packUint32(rr.Altitude, msg, off)
    457 	if err != nil {
    458 		return off, err
    459 	}
    460 	return off, nil
    461 }
    462 
    463 func (rr *LP) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    464 	off, err = packUint16(rr.Preference, msg, off)
    465 	if err != nil {
    466 		return off, err
    467 	}
    468 	off, err = packDomainName(rr.Fqdn, msg, off, compression, false)
    469 	if err != nil {
    470 		return off, err
    471 	}
    472 	return off, nil
    473 }
    474 
    475 func (rr *MB) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    476 	off, err = packDomainName(rr.Mb, msg, off, compression, compress)
    477 	if err != nil {
    478 		return off, err
    479 	}
    480 	return off, nil
    481 }
    482 
    483 func (rr *MD) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    484 	off, err = packDomainName(rr.Md, msg, off, compression, compress)
    485 	if err != nil {
    486 		return off, err
    487 	}
    488 	return off, nil
    489 }
    490 
    491 func (rr *MF) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    492 	off, err = packDomainName(rr.Mf, msg, off, compression, compress)
    493 	if err != nil {
    494 		return off, err
    495 	}
    496 	return off, nil
    497 }
    498 
    499 func (rr *MG) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    500 	off, err = packDomainName(rr.Mg, msg, off, compression, compress)
    501 	if err != nil {
    502 		return off, err
    503 	}
    504 	return off, nil
    505 }
    506 
    507 func (rr *MINFO) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    508 	off, err = packDomainName(rr.Rmail, msg, off, compression, compress)
    509 	if err != nil {
    510 		return off, err
    511 	}
    512 	off, err = packDomainName(rr.Email, msg, off, compression, compress)
    513 	if err != nil {
    514 		return off, err
    515 	}
    516 	return off, nil
    517 }
    518 
    519 func (rr *MR) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    520 	off, err = packDomainName(rr.Mr, msg, off, compression, compress)
    521 	if err != nil {
    522 		return off, err
    523 	}
    524 	return off, nil
    525 }
    526 
    527 func (rr *MX) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    528 	off, err = packUint16(rr.Preference, msg, off)
    529 	if err != nil {
    530 		return off, err
    531 	}
    532 	off, err = packDomainName(rr.Mx, msg, off, compression, compress)
    533 	if err != nil {
    534 		return off, err
    535 	}
    536 	return off, nil
    537 }
    538 
    539 func (rr *NAPTR) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    540 	off, err = packUint16(rr.Order, msg, off)
    541 	if err != nil {
    542 		return off, err
    543 	}
    544 	off, err = packUint16(rr.Preference, msg, off)
    545 	if err != nil {
    546 		return off, err
    547 	}
    548 	off, err = packString(rr.Flags, msg, off)
    549 	if err != nil {
    550 		return off, err
    551 	}
    552 	off, err = packString(rr.Service, msg, off)
    553 	if err != nil {
    554 		return off, err
    555 	}
    556 	off, err = packString(rr.Regexp, msg, off)
    557 	if err != nil {
    558 		return off, err
    559 	}
    560 	off, err = packDomainName(rr.Replacement, msg, off, compression, false)
    561 	if err != nil {
    562 		return off, err
    563 	}
    564 	return off, nil
    565 }
    566 
    567 func (rr *NID) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    568 	off, err = packUint16(rr.Preference, msg, off)
    569 	if err != nil {
    570 		return off, err
    571 	}
    572 	off, err = packUint64(rr.NodeID, msg, off)
    573 	if err != nil {
    574 		return off, err
    575 	}
    576 	return off, nil
    577 }
    578 
    579 func (rr *NIMLOC) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    580 	off, err = packStringHex(rr.Locator, msg, off)
    581 	if err != nil {
    582 		return off, err
    583 	}
    584 	return off, nil
    585 }
    586 
    587 func (rr *NINFO) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    588 	off, err = packStringTxt(rr.ZSData, msg, off)
    589 	if err != nil {
    590 		return off, err
    591 	}
    592 	return off, nil
    593 }
    594 
    595 func (rr *NS) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    596 	off, err = packDomainName(rr.Ns, msg, off, compression, compress)
    597 	if err != nil {
    598 		return off, err
    599 	}
    600 	return off, nil
    601 }
    602 
    603 func (rr *NSAPPTR) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    604 	off, err = packDomainName(rr.Ptr, msg, off, compression, false)
    605 	if err != nil {
    606 		return off, err
    607 	}
    608 	return off, nil
    609 }
    610 
    611 func (rr *NSEC) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    612 	off, err = packDomainName(rr.NextDomain, msg, off, compression, false)
    613 	if err != nil {
    614 		return off, err
    615 	}
    616 	off, err = packDataNsec(rr.TypeBitMap, msg, off)
    617 	if err != nil {
    618 		return off, err
    619 	}
    620 	return off, nil
    621 }
    622 
    623 func (rr *NSEC3) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    624 	off, err = packUint8(rr.Hash, msg, off)
    625 	if err != nil {
    626 		return off, err
    627 	}
    628 	off, err = packUint8(rr.Flags, msg, off)
    629 	if err != nil {
    630 		return off, err
    631 	}
    632 	off, err = packUint16(rr.Iterations, msg, off)
    633 	if err != nil {
    634 		return off, err
    635 	}
    636 	off, err = packUint8(rr.SaltLength, msg, off)
    637 	if err != nil {
    638 		return off, err
    639 	}
    640 	// Only pack salt if value is not "-", i.e. empty
    641 	if rr.Salt != "-" {
    642 		off, err = packStringHex(rr.Salt, msg, off)
    643 		if err != nil {
    644 			return off, err
    645 		}
    646 	}
    647 	off, err = packUint8(rr.HashLength, msg, off)
    648 	if err != nil {
    649 		return off, err
    650 	}
    651 	off, err = packStringBase32(rr.NextDomain, msg, off)
    652 	if err != nil {
    653 		return off, err
    654 	}
    655 	off, err = packDataNsec(rr.TypeBitMap, msg, off)
    656 	if err != nil {
    657 		return off, err
    658 	}
    659 	return off, nil
    660 }
    661 
    662 func (rr *NSEC3PARAM) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    663 	off, err = packUint8(rr.Hash, msg, off)
    664 	if err != nil {
    665 		return off, err
    666 	}
    667 	off, err = packUint8(rr.Flags, msg, off)
    668 	if err != nil {
    669 		return off, err
    670 	}
    671 	off, err = packUint16(rr.Iterations, msg, off)
    672 	if err != nil {
    673 		return off, err
    674 	}
    675 	off, err = packUint8(rr.SaltLength, msg, off)
    676 	if err != nil {
    677 		return off, err
    678 	}
    679 	// Only pack salt if value is not "-", i.e. empty
    680 	if rr.Salt != "-" {
    681 		off, err = packStringHex(rr.Salt, msg, off)
    682 		if err != nil {
    683 			return off, err
    684 		}
    685 	}
    686 	return off, nil
    687 }
    688 
    689 func (rr *NULL) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    690 	off, err = packStringAny(rr.Data, msg, off)
    691 	if err != nil {
    692 		return off, err
    693 	}
    694 	return off, nil
    695 }
    696 
    697 func (rr *OPENPGPKEY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    698 	off, err = packStringBase64(rr.PublicKey, msg, off)
    699 	if err != nil {
    700 		return off, err
    701 	}
    702 	return off, nil
    703 }
    704 
    705 func (rr *OPT) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    706 	off, err = packDataOpt(rr.Option, msg, off)
    707 	if err != nil {
    708 		return off, err
    709 	}
    710 	return off, nil
    711 }
    712 
    713 func (rr *PTR) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    714 	off, err = packDomainName(rr.Ptr, msg, off, compression, compress)
    715 	if err != nil {
    716 		return off, err
    717 	}
    718 	return off, nil
    719 }
    720 
    721 func (rr *PX) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    722 	off, err = packUint16(rr.Preference, msg, off)
    723 	if err != nil {
    724 		return off, err
    725 	}
    726 	off, err = packDomainName(rr.Map822, msg, off, compression, false)
    727 	if err != nil {
    728 		return off, err
    729 	}
    730 	off, err = packDomainName(rr.Mapx400, msg, off, compression, false)
    731 	if err != nil {
    732 		return off, err
    733 	}
    734 	return off, nil
    735 }
    736 
    737 func (rr *RFC3597) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    738 	off, err = packStringHex(rr.Rdata, msg, off)
    739 	if err != nil {
    740 		return off, err
    741 	}
    742 	return off, nil
    743 }
    744 
    745 func (rr *RKEY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    746 	off, err = packUint16(rr.Flags, msg, off)
    747 	if err != nil {
    748 		return off, err
    749 	}
    750 	off, err = packUint8(rr.Protocol, msg, off)
    751 	if err != nil {
    752 		return off, err
    753 	}
    754 	off, err = packUint8(rr.Algorithm, msg, off)
    755 	if err != nil {
    756 		return off, err
    757 	}
    758 	off, err = packStringBase64(rr.PublicKey, msg, off)
    759 	if err != nil {
    760 		return off, err
    761 	}
    762 	return off, nil
    763 }
    764 
    765 func (rr *RP) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    766 	off, err = packDomainName(rr.Mbox, msg, off, compression, false)
    767 	if err != nil {
    768 		return off, err
    769 	}
    770 	off, err = packDomainName(rr.Txt, msg, off, compression, false)
    771 	if err != nil {
    772 		return off, err
    773 	}
    774 	return off, nil
    775 }
    776 
    777 func (rr *RRSIG) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    778 	off, err = packUint16(rr.TypeCovered, msg, off)
    779 	if err != nil {
    780 		return off, err
    781 	}
    782 	off, err = packUint8(rr.Algorithm, msg, off)
    783 	if err != nil {
    784 		return off, err
    785 	}
    786 	off, err = packUint8(rr.Labels, msg, off)
    787 	if err != nil {
    788 		return off, err
    789 	}
    790 	off, err = packUint32(rr.OrigTtl, msg, off)
    791 	if err != nil {
    792 		return off, err
    793 	}
    794 	off, err = packUint32(rr.Expiration, msg, off)
    795 	if err != nil {
    796 		return off, err
    797 	}
    798 	off, err = packUint32(rr.Inception, msg, off)
    799 	if err != nil {
    800 		return off, err
    801 	}
    802 	off, err = packUint16(rr.KeyTag, msg, off)
    803 	if err != nil {
    804 		return off, err
    805 	}
    806 	off, err = packDomainName(rr.SignerName, msg, off, compression, false)
    807 	if err != nil {
    808 		return off, err
    809 	}
    810 	off, err = packStringBase64(rr.Signature, msg, off)
    811 	if err != nil {
    812 		return off, err
    813 	}
    814 	return off, nil
    815 }
    816 
    817 func (rr *RT) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    818 	off, err = packUint16(rr.Preference, msg, off)
    819 	if err != nil {
    820 		return off, err
    821 	}
    822 	off, err = packDomainName(rr.Host, msg, off, compression, false)
    823 	if err != nil {
    824 		return off, err
    825 	}
    826 	return off, nil
    827 }
    828 
    829 func (rr *SIG) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    830 	off, err = packUint16(rr.TypeCovered, msg, off)
    831 	if err != nil {
    832 		return off, err
    833 	}
    834 	off, err = packUint8(rr.Algorithm, msg, off)
    835 	if err != nil {
    836 		return off, err
    837 	}
    838 	off, err = packUint8(rr.Labels, msg, off)
    839 	if err != nil {
    840 		return off, err
    841 	}
    842 	off, err = packUint32(rr.OrigTtl, msg, off)
    843 	if err != nil {
    844 		return off, err
    845 	}
    846 	off, err = packUint32(rr.Expiration, msg, off)
    847 	if err != nil {
    848 		return off, err
    849 	}
    850 	off, err = packUint32(rr.Inception, msg, off)
    851 	if err != nil {
    852 		return off, err
    853 	}
    854 	off, err = packUint16(rr.KeyTag, msg, off)
    855 	if err != nil {
    856 		return off, err
    857 	}
    858 	off, err = packDomainName(rr.SignerName, msg, off, compression, false)
    859 	if err != nil {
    860 		return off, err
    861 	}
    862 	off, err = packStringBase64(rr.Signature, msg, off)
    863 	if err != nil {
    864 		return off, err
    865 	}
    866 	return off, nil
    867 }
    868 
    869 func (rr *SMIMEA) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    870 	off, err = packUint8(rr.Usage, msg, off)
    871 	if err != nil {
    872 		return off, err
    873 	}
    874 	off, err = packUint8(rr.Selector, msg, off)
    875 	if err != nil {
    876 		return off, err
    877 	}
    878 	off, err = packUint8(rr.MatchingType, msg, off)
    879 	if err != nil {
    880 		return off, err
    881 	}
    882 	off, err = packStringHex(rr.Certificate, msg, off)
    883 	if err != nil {
    884 		return off, err
    885 	}
    886 	return off, nil
    887 }
    888 
    889 func (rr *SOA) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    890 	off, err = packDomainName(rr.Ns, msg, off, compression, compress)
    891 	if err != nil {
    892 		return off, err
    893 	}
    894 	off, err = packDomainName(rr.Mbox, msg, off, compression, compress)
    895 	if err != nil {
    896 		return off, err
    897 	}
    898 	off, err = packUint32(rr.Serial, msg, off)
    899 	if err != nil {
    900 		return off, err
    901 	}
    902 	off, err = packUint32(rr.Refresh, msg, off)
    903 	if err != nil {
    904 		return off, err
    905 	}
    906 	off, err = packUint32(rr.Retry, msg, off)
    907 	if err != nil {
    908 		return off, err
    909 	}
    910 	off, err = packUint32(rr.Expire, msg, off)
    911 	if err != nil {
    912 		return off, err
    913 	}
    914 	off, err = packUint32(rr.Minttl, msg, off)
    915 	if err != nil {
    916 		return off, err
    917 	}
    918 	return off, nil
    919 }
    920 
    921 func (rr *SPF) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    922 	off, err = packStringTxt(rr.Txt, msg, off)
    923 	if err != nil {
    924 		return off, err
    925 	}
    926 	return off, nil
    927 }
    928 
    929 func (rr *SRV) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    930 	off, err = packUint16(rr.Priority, msg, off)
    931 	if err != nil {
    932 		return off, err
    933 	}
    934 	off, err = packUint16(rr.Weight, msg, off)
    935 	if err != nil {
    936 		return off, err
    937 	}
    938 	off, err = packUint16(rr.Port, msg, off)
    939 	if err != nil {
    940 		return off, err
    941 	}
    942 	off, err = packDomainName(rr.Target, msg, off, compression, false)
    943 	if err != nil {
    944 		return off, err
    945 	}
    946 	return off, nil
    947 }
    948 
    949 func (rr *SSHFP) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    950 	off, err = packUint8(rr.Algorithm, msg, off)
    951 	if err != nil {
    952 		return off, err
    953 	}
    954 	off, err = packUint8(rr.Type, msg, off)
    955 	if err != nil {
    956 		return off, err
    957 	}
    958 	off, err = packStringHex(rr.FingerPrint, msg, off)
    959 	if err != nil {
    960 		return off, err
    961 	}
    962 	return off, nil
    963 }
    964 
    965 func (rr *SVCB) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    966 	off, err = packUint16(rr.Priority, msg, off)
    967 	if err != nil {
    968 		return off, err
    969 	}
    970 	off, err = packDomainName(rr.Target, msg, off, compression, false)
    971 	if err != nil {
    972 		return off, err
    973 	}
    974 	off, err = packDataSVCB(rr.Value, msg, off)
    975 	if err != nil {
    976 		return off, err
    977 	}
    978 	return off, nil
    979 }
    980 
    981 func (rr *TA) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
    982 	off, err = packUint16(rr.KeyTag, msg, off)
    983 	if err != nil {
    984 		return off, err
    985 	}
    986 	off, err = packUint8(rr.Algorithm, msg, off)
    987 	if err != nil {
    988 		return off, err
    989 	}
    990 	off, err = packUint8(rr.DigestType, msg, off)
    991 	if err != nil {
    992 		return off, err
    993 	}
    994 	off, err = packStringHex(rr.Digest, msg, off)
    995 	if err != nil {
    996 		return off, err
    997 	}
    998 	return off, nil
    999 }
   1000 
   1001 func (rr *TALINK) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1002 	off, err = packDomainName(rr.PreviousName, msg, off, compression, false)
   1003 	if err != nil {
   1004 		return off, err
   1005 	}
   1006 	off, err = packDomainName(rr.NextName, msg, off, compression, false)
   1007 	if err != nil {
   1008 		return off, err
   1009 	}
   1010 	return off, nil
   1011 }
   1012 
   1013 func (rr *TKEY) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1014 	off, err = packDomainName(rr.Algorithm, msg, off, compression, false)
   1015 	if err != nil {
   1016 		return off, err
   1017 	}
   1018 	off, err = packUint32(rr.Inception, msg, off)
   1019 	if err != nil {
   1020 		return off, err
   1021 	}
   1022 	off, err = packUint32(rr.Expiration, msg, off)
   1023 	if err != nil {
   1024 		return off, err
   1025 	}
   1026 	off, err = packUint16(rr.Mode, msg, off)
   1027 	if err != nil {
   1028 		return off, err
   1029 	}
   1030 	off, err = packUint16(rr.Error, msg, off)
   1031 	if err != nil {
   1032 		return off, err
   1033 	}
   1034 	off, err = packUint16(rr.KeySize, msg, off)
   1035 	if err != nil {
   1036 		return off, err
   1037 	}
   1038 	off, err = packStringHex(rr.Key, msg, off)
   1039 	if err != nil {
   1040 		return off, err
   1041 	}
   1042 	off, err = packUint16(rr.OtherLen, msg, off)
   1043 	if err != nil {
   1044 		return off, err
   1045 	}
   1046 	off, err = packStringHex(rr.OtherData, msg, off)
   1047 	if err != nil {
   1048 		return off, err
   1049 	}
   1050 	return off, nil
   1051 }
   1052 
   1053 func (rr *TLSA) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1054 	off, err = packUint8(rr.Usage, msg, off)
   1055 	if err != nil {
   1056 		return off, err
   1057 	}
   1058 	off, err = packUint8(rr.Selector, msg, off)
   1059 	if err != nil {
   1060 		return off, err
   1061 	}
   1062 	off, err = packUint8(rr.MatchingType, msg, off)
   1063 	if err != nil {
   1064 		return off, err
   1065 	}
   1066 	off, err = packStringHex(rr.Certificate, msg, off)
   1067 	if err != nil {
   1068 		return off, err
   1069 	}
   1070 	return off, nil
   1071 }
   1072 
   1073 func (rr *TSIG) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1074 	off, err = packDomainName(rr.Algorithm, msg, off, compression, false)
   1075 	if err != nil {
   1076 		return off, err
   1077 	}
   1078 	off, err = packUint48(rr.TimeSigned, msg, off)
   1079 	if err != nil {
   1080 		return off, err
   1081 	}
   1082 	off, err = packUint16(rr.Fudge, msg, off)
   1083 	if err != nil {
   1084 		return off, err
   1085 	}
   1086 	off, err = packUint16(rr.MACSize, msg, off)
   1087 	if err != nil {
   1088 		return off, err
   1089 	}
   1090 	off, err = packStringHex(rr.MAC, msg, off)
   1091 	if err != nil {
   1092 		return off, err
   1093 	}
   1094 	off, err = packUint16(rr.OrigId, msg, off)
   1095 	if err != nil {
   1096 		return off, err
   1097 	}
   1098 	off, err = packUint16(rr.Error, msg, off)
   1099 	if err != nil {
   1100 		return off, err
   1101 	}
   1102 	off, err = packUint16(rr.OtherLen, msg, off)
   1103 	if err != nil {
   1104 		return off, err
   1105 	}
   1106 	off, err = packStringHex(rr.OtherData, msg, off)
   1107 	if err != nil {
   1108 		return off, err
   1109 	}
   1110 	return off, nil
   1111 }
   1112 
   1113 func (rr *TXT) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1114 	off, err = packStringTxt(rr.Txt, msg, off)
   1115 	if err != nil {
   1116 		return off, err
   1117 	}
   1118 	return off, nil
   1119 }
   1120 
   1121 func (rr *UID) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1122 	off, err = packUint32(rr.Uid, msg, off)
   1123 	if err != nil {
   1124 		return off, err
   1125 	}
   1126 	return off, nil
   1127 }
   1128 
   1129 func (rr *UINFO) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1130 	off, err = packString(rr.Uinfo, msg, off)
   1131 	if err != nil {
   1132 		return off, err
   1133 	}
   1134 	return off, nil
   1135 }
   1136 
   1137 func (rr *URI) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1138 	off, err = packUint16(rr.Priority, msg, off)
   1139 	if err != nil {
   1140 		return off, err
   1141 	}
   1142 	off, err = packUint16(rr.Weight, msg, off)
   1143 	if err != nil {
   1144 		return off, err
   1145 	}
   1146 	off, err = packStringOctet(rr.Target, msg, off)
   1147 	if err != nil {
   1148 		return off, err
   1149 	}
   1150 	return off, nil
   1151 }
   1152 
   1153 func (rr *X25) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1154 	off, err = packString(rr.PSDNAddress, msg, off)
   1155 	if err != nil {
   1156 		return off, err
   1157 	}
   1158 	return off, nil
   1159 }
   1160 
   1161 func (rr *ZONEMD) pack(msg []byte, off int, compression compressionMap, compress bool) (off1 int, err error) {
   1162 	off, err = packUint32(rr.Serial, msg, off)
   1163 	if err != nil {
   1164 		return off, err
   1165 	}
   1166 	off, err = packUint8(rr.Scheme, msg, off)
   1167 	if err != nil {
   1168 		return off, err
   1169 	}
   1170 	off, err = packUint8(rr.Hash, msg, off)
   1171 	if err != nil {
   1172 		return off, err
   1173 	}
   1174 	off, err = packStringHex(rr.Digest, msg, off)
   1175 	if err != nil {
   1176 		return off, err
   1177 	}
   1178 	return off, nil
   1179 }
   1180 
   1181 // unpack*() functions
   1182 
   1183 func (rr *A) unpack(msg []byte, off int) (off1 int, err error) {
   1184 	rdStart := off
   1185 	_ = rdStart
   1186 
   1187 	rr.A, off, err = unpackDataA(msg, off)
   1188 	if err != nil {
   1189 		return off, err
   1190 	}
   1191 	return off, nil
   1192 }
   1193 
   1194 func (rr *AAAA) unpack(msg []byte, off int) (off1 int, err error) {
   1195 	rdStart := off
   1196 	_ = rdStart
   1197 
   1198 	rr.AAAA, off, err = unpackDataAAAA(msg, off)
   1199 	if err != nil {
   1200 		return off, err
   1201 	}
   1202 	return off, nil
   1203 }
   1204 
   1205 func (rr *AFSDB) unpack(msg []byte, off int) (off1 int, err error) {
   1206 	rdStart := off
   1207 	_ = rdStart
   1208 
   1209 	rr.Subtype, off, err = unpackUint16(msg, off)
   1210 	if err != nil {
   1211 		return off, err
   1212 	}
   1213 	if off == len(msg) {
   1214 		return off, nil
   1215 	}
   1216 	rr.Hostname, off, err = UnpackDomainName(msg, off)
   1217 	if err != nil {
   1218 		return off, err
   1219 	}
   1220 	return off, nil
   1221 }
   1222 
   1223 func (rr *AMTRELAY) unpack(msg []byte, off int) (off1 int, err error) {
   1224 	rdStart := off
   1225 	_ = rdStart
   1226 
   1227 	rr.Precedence, off, err = unpackUint8(msg, off)
   1228 	if err != nil {
   1229 		return off, err
   1230 	}
   1231 	if off == len(msg) {
   1232 		return off, nil
   1233 	}
   1234 	rr.GatewayType, off, err = unpackUint8(msg, off)
   1235 	if err != nil {
   1236 		return off, err
   1237 	}
   1238 	if off == len(msg) {
   1239 		return off, nil
   1240 	}
   1241 	if off == len(msg) {
   1242 		return off, nil
   1243 	}
   1244 	rr.GatewayAddr, rr.GatewayHost, off, err = unpackIPSECGateway(msg, off, rr.GatewayType)
   1245 	if err != nil {
   1246 		return off, err
   1247 	}
   1248 	return off, nil
   1249 }
   1250 
   1251 func (rr *ANY) unpack(msg []byte, off int) (off1 int, err error) {
   1252 	rdStart := off
   1253 	_ = rdStart
   1254 
   1255 	return off, nil
   1256 }
   1257 
   1258 func (rr *APL) unpack(msg []byte, off int) (off1 int, err error) {
   1259 	rdStart := off
   1260 	_ = rdStart
   1261 
   1262 	rr.Prefixes, off, err = unpackDataApl(msg, off)
   1263 	if err != nil {
   1264 		return off, err
   1265 	}
   1266 	return off, nil
   1267 }
   1268 
   1269 func (rr *AVC) unpack(msg []byte, off int) (off1 int, err error) {
   1270 	rdStart := off
   1271 	_ = rdStart
   1272 
   1273 	rr.Txt, off, err = unpackStringTxt(msg, off)
   1274 	if err != nil {
   1275 		return off, err
   1276 	}
   1277 	return off, nil
   1278 }
   1279 
   1280 func (rr *CAA) unpack(msg []byte, off int) (off1 int, err error) {
   1281 	rdStart := off
   1282 	_ = rdStart
   1283 
   1284 	rr.Flag, off, err = unpackUint8(msg, off)
   1285 	if err != nil {
   1286 		return off, err
   1287 	}
   1288 	if off == len(msg) {
   1289 		return off, nil
   1290 	}
   1291 	rr.Tag, off, err = unpackString(msg, off)
   1292 	if err != nil {
   1293 		return off, err
   1294 	}
   1295 	if off == len(msg) {
   1296 		return off, nil
   1297 	}
   1298 	rr.Value, off, err = unpackStringOctet(msg, off)
   1299 	if err != nil {
   1300 		return off, err
   1301 	}
   1302 	return off, nil
   1303 }
   1304 
   1305 func (rr *CDNSKEY) unpack(msg []byte, off int) (off1 int, err error) {
   1306 	rdStart := off
   1307 	_ = rdStart
   1308 
   1309 	rr.Flags, off, err = unpackUint16(msg, off)
   1310 	if err != nil {
   1311 		return off, err
   1312 	}
   1313 	if off == len(msg) {
   1314 		return off, nil
   1315 	}
   1316 	rr.Protocol, off, err = unpackUint8(msg, off)
   1317 	if err != nil {
   1318 		return off, err
   1319 	}
   1320 	if off == len(msg) {
   1321 		return off, nil
   1322 	}
   1323 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1324 	if err != nil {
   1325 		return off, err
   1326 	}
   1327 	if off == len(msg) {
   1328 		return off, nil
   1329 	}
   1330 	rr.PublicKey, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1331 	if err != nil {
   1332 		return off, err
   1333 	}
   1334 	return off, nil
   1335 }
   1336 
   1337 func (rr *CDS) unpack(msg []byte, off int) (off1 int, err error) {
   1338 	rdStart := off
   1339 	_ = rdStart
   1340 
   1341 	rr.KeyTag, off, err = unpackUint16(msg, off)
   1342 	if err != nil {
   1343 		return off, err
   1344 	}
   1345 	if off == len(msg) {
   1346 		return off, nil
   1347 	}
   1348 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1349 	if err != nil {
   1350 		return off, err
   1351 	}
   1352 	if off == len(msg) {
   1353 		return off, nil
   1354 	}
   1355 	rr.DigestType, off, err = unpackUint8(msg, off)
   1356 	if err != nil {
   1357 		return off, err
   1358 	}
   1359 	if off == len(msg) {
   1360 		return off, nil
   1361 	}
   1362 	rr.Digest, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1363 	if err != nil {
   1364 		return off, err
   1365 	}
   1366 	return off, nil
   1367 }
   1368 
   1369 func (rr *CERT) unpack(msg []byte, off int) (off1 int, err error) {
   1370 	rdStart := off
   1371 	_ = rdStart
   1372 
   1373 	rr.Type, off, err = unpackUint16(msg, off)
   1374 	if err != nil {
   1375 		return off, err
   1376 	}
   1377 	if off == len(msg) {
   1378 		return off, nil
   1379 	}
   1380 	rr.KeyTag, off, err = unpackUint16(msg, off)
   1381 	if err != nil {
   1382 		return off, err
   1383 	}
   1384 	if off == len(msg) {
   1385 		return off, nil
   1386 	}
   1387 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1388 	if err != nil {
   1389 		return off, err
   1390 	}
   1391 	if off == len(msg) {
   1392 		return off, nil
   1393 	}
   1394 	rr.Certificate, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1395 	if err != nil {
   1396 		return off, err
   1397 	}
   1398 	return off, nil
   1399 }
   1400 
   1401 func (rr *CNAME) unpack(msg []byte, off int) (off1 int, err error) {
   1402 	rdStart := off
   1403 	_ = rdStart
   1404 
   1405 	rr.Target, off, err = UnpackDomainName(msg, off)
   1406 	if err != nil {
   1407 		return off, err
   1408 	}
   1409 	return off, nil
   1410 }
   1411 
   1412 func (rr *CSYNC) unpack(msg []byte, off int) (off1 int, err error) {
   1413 	rdStart := off
   1414 	_ = rdStart
   1415 
   1416 	rr.Serial, off, err = unpackUint32(msg, off)
   1417 	if err != nil {
   1418 		return off, err
   1419 	}
   1420 	if off == len(msg) {
   1421 		return off, nil
   1422 	}
   1423 	rr.Flags, off, err = unpackUint16(msg, off)
   1424 	if err != nil {
   1425 		return off, err
   1426 	}
   1427 	if off == len(msg) {
   1428 		return off, nil
   1429 	}
   1430 	rr.TypeBitMap, off, err = unpackDataNsec(msg, off)
   1431 	if err != nil {
   1432 		return off, err
   1433 	}
   1434 	return off, nil
   1435 }
   1436 
   1437 func (rr *DHCID) unpack(msg []byte, off int) (off1 int, err error) {
   1438 	rdStart := off
   1439 	_ = rdStart
   1440 
   1441 	rr.Digest, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1442 	if err != nil {
   1443 		return off, err
   1444 	}
   1445 	return off, nil
   1446 }
   1447 
   1448 func (rr *DLV) unpack(msg []byte, off int) (off1 int, err error) {
   1449 	rdStart := off
   1450 	_ = rdStart
   1451 
   1452 	rr.KeyTag, off, err = unpackUint16(msg, off)
   1453 	if err != nil {
   1454 		return off, err
   1455 	}
   1456 	if off == len(msg) {
   1457 		return off, nil
   1458 	}
   1459 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1460 	if err != nil {
   1461 		return off, err
   1462 	}
   1463 	if off == len(msg) {
   1464 		return off, nil
   1465 	}
   1466 	rr.DigestType, off, err = unpackUint8(msg, off)
   1467 	if err != nil {
   1468 		return off, err
   1469 	}
   1470 	if off == len(msg) {
   1471 		return off, nil
   1472 	}
   1473 	rr.Digest, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1474 	if err != nil {
   1475 		return off, err
   1476 	}
   1477 	return off, nil
   1478 }
   1479 
   1480 func (rr *DNAME) unpack(msg []byte, off int) (off1 int, err error) {
   1481 	rdStart := off
   1482 	_ = rdStart
   1483 
   1484 	rr.Target, off, err = UnpackDomainName(msg, off)
   1485 	if err != nil {
   1486 		return off, err
   1487 	}
   1488 	return off, nil
   1489 }
   1490 
   1491 func (rr *DNSKEY) unpack(msg []byte, off int) (off1 int, err error) {
   1492 	rdStart := off
   1493 	_ = rdStart
   1494 
   1495 	rr.Flags, off, err = unpackUint16(msg, off)
   1496 	if err != nil {
   1497 		return off, err
   1498 	}
   1499 	if off == len(msg) {
   1500 		return off, nil
   1501 	}
   1502 	rr.Protocol, off, err = unpackUint8(msg, off)
   1503 	if err != nil {
   1504 		return off, err
   1505 	}
   1506 	if off == len(msg) {
   1507 		return off, nil
   1508 	}
   1509 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1510 	if err != nil {
   1511 		return off, err
   1512 	}
   1513 	if off == len(msg) {
   1514 		return off, nil
   1515 	}
   1516 	rr.PublicKey, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1517 	if err != nil {
   1518 		return off, err
   1519 	}
   1520 	return off, nil
   1521 }
   1522 
   1523 func (rr *DS) unpack(msg []byte, off int) (off1 int, err error) {
   1524 	rdStart := off
   1525 	_ = rdStart
   1526 
   1527 	rr.KeyTag, off, err = unpackUint16(msg, off)
   1528 	if err != nil {
   1529 		return off, err
   1530 	}
   1531 	if off == len(msg) {
   1532 		return off, nil
   1533 	}
   1534 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1535 	if err != nil {
   1536 		return off, err
   1537 	}
   1538 	if off == len(msg) {
   1539 		return off, nil
   1540 	}
   1541 	rr.DigestType, off, err = unpackUint8(msg, off)
   1542 	if err != nil {
   1543 		return off, err
   1544 	}
   1545 	if off == len(msg) {
   1546 		return off, nil
   1547 	}
   1548 	rr.Digest, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1549 	if err != nil {
   1550 		return off, err
   1551 	}
   1552 	return off, nil
   1553 }
   1554 
   1555 func (rr *EID) unpack(msg []byte, off int) (off1 int, err error) {
   1556 	rdStart := off
   1557 	_ = rdStart
   1558 
   1559 	rr.Endpoint, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1560 	if err != nil {
   1561 		return off, err
   1562 	}
   1563 	return off, nil
   1564 }
   1565 
   1566 func (rr *EUI48) unpack(msg []byte, off int) (off1 int, err error) {
   1567 	rdStart := off
   1568 	_ = rdStart
   1569 
   1570 	rr.Address, off, err = unpackUint48(msg, off)
   1571 	if err != nil {
   1572 		return off, err
   1573 	}
   1574 	return off, nil
   1575 }
   1576 
   1577 func (rr *EUI64) unpack(msg []byte, off int) (off1 int, err error) {
   1578 	rdStart := off
   1579 	_ = rdStart
   1580 
   1581 	rr.Address, off, err = unpackUint64(msg, off)
   1582 	if err != nil {
   1583 		return off, err
   1584 	}
   1585 	return off, nil
   1586 }
   1587 
   1588 func (rr *GID) unpack(msg []byte, off int) (off1 int, err error) {
   1589 	rdStart := off
   1590 	_ = rdStart
   1591 
   1592 	rr.Gid, off, err = unpackUint32(msg, off)
   1593 	if err != nil {
   1594 		return off, err
   1595 	}
   1596 	return off, nil
   1597 }
   1598 
   1599 func (rr *GPOS) unpack(msg []byte, off int) (off1 int, err error) {
   1600 	rdStart := off
   1601 	_ = rdStart
   1602 
   1603 	rr.Longitude, off, err = unpackString(msg, off)
   1604 	if err != nil {
   1605 		return off, err
   1606 	}
   1607 	if off == len(msg) {
   1608 		return off, nil
   1609 	}
   1610 	rr.Latitude, off, err = unpackString(msg, off)
   1611 	if err != nil {
   1612 		return off, err
   1613 	}
   1614 	if off == len(msg) {
   1615 		return off, nil
   1616 	}
   1617 	rr.Altitude, off, err = unpackString(msg, off)
   1618 	if err != nil {
   1619 		return off, err
   1620 	}
   1621 	return off, nil
   1622 }
   1623 
   1624 func (rr *HINFO) unpack(msg []byte, off int) (off1 int, err error) {
   1625 	rdStart := off
   1626 	_ = rdStart
   1627 
   1628 	rr.Cpu, off, err = unpackString(msg, off)
   1629 	if err != nil {
   1630 		return off, err
   1631 	}
   1632 	if off == len(msg) {
   1633 		return off, nil
   1634 	}
   1635 	rr.Os, off, err = unpackString(msg, off)
   1636 	if err != nil {
   1637 		return off, err
   1638 	}
   1639 	return off, nil
   1640 }
   1641 
   1642 func (rr *HIP) unpack(msg []byte, off int) (off1 int, err error) {
   1643 	rdStart := off
   1644 	_ = rdStart
   1645 
   1646 	rr.HitLength, off, err = unpackUint8(msg, off)
   1647 	if err != nil {
   1648 		return off, err
   1649 	}
   1650 	if off == len(msg) {
   1651 		return off, nil
   1652 	}
   1653 	rr.PublicKeyAlgorithm, off, err = unpackUint8(msg, off)
   1654 	if err != nil {
   1655 		return off, err
   1656 	}
   1657 	if off == len(msg) {
   1658 		return off, nil
   1659 	}
   1660 	rr.PublicKeyLength, off, err = unpackUint16(msg, off)
   1661 	if err != nil {
   1662 		return off, err
   1663 	}
   1664 	if off == len(msg) {
   1665 		return off, nil
   1666 	}
   1667 	rr.Hit, off, err = unpackStringHex(msg, off, off+int(rr.HitLength))
   1668 	if err != nil {
   1669 		return off, err
   1670 	}
   1671 	rr.PublicKey, off, err = unpackStringBase64(msg, off, off+int(rr.PublicKeyLength))
   1672 	if err != nil {
   1673 		return off, err
   1674 	}
   1675 	rr.RendezvousServers, off, err = unpackDataDomainNames(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1676 	if err != nil {
   1677 		return off, err
   1678 	}
   1679 	return off, nil
   1680 }
   1681 
   1682 func (rr *HTTPS) unpack(msg []byte, off int) (off1 int, err error) {
   1683 	rdStart := off
   1684 	_ = rdStart
   1685 
   1686 	rr.Priority, off, err = unpackUint16(msg, off)
   1687 	if err != nil {
   1688 		return off, err
   1689 	}
   1690 	if off == len(msg) {
   1691 		return off, nil
   1692 	}
   1693 	rr.Target, off, err = UnpackDomainName(msg, off)
   1694 	if err != nil {
   1695 		return off, err
   1696 	}
   1697 	if off == len(msg) {
   1698 		return off, nil
   1699 	}
   1700 	rr.Value, off, err = unpackDataSVCB(msg, off)
   1701 	if err != nil {
   1702 		return off, err
   1703 	}
   1704 	return off, nil
   1705 }
   1706 
   1707 func (rr *IPSECKEY) unpack(msg []byte, off int) (off1 int, err error) {
   1708 	rdStart := off
   1709 	_ = rdStart
   1710 
   1711 	rr.Precedence, off, err = unpackUint8(msg, off)
   1712 	if err != nil {
   1713 		return off, err
   1714 	}
   1715 	if off == len(msg) {
   1716 		return off, nil
   1717 	}
   1718 	rr.GatewayType, off, err = unpackUint8(msg, off)
   1719 	if err != nil {
   1720 		return off, err
   1721 	}
   1722 	if off == len(msg) {
   1723 		return off, nil
   1724 	}
   1725 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1726 	if err != nil {
   1727 		return off, err
   1728 	}
   1729 	if off == len(msg) {
   1730 		return off, nil
   1731 	}
   1732 	if off == len(msg) {
   1733 		return off, nil
   1734 	}
   1735 	rr.GatewayAddr, rr.GatewayHost, off, err = unpackIPSECGateway(msg, off, rr.GatewayType)
   1736 	if err != nil {
   1737 		return off, err
   1738 	}
   1739 	if off == len(msg) {
   1740 		return off, nil
   1741 	}
   1742 	rr.PublicKey, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1743 	if err != nil {
   1744 		return off, err
   1745 	}
   1746 	return off, nil
   1747 }
   1748 
   1749 func (rr *KEY) unpack(msg []byte, off int) (off1 int, err error) {
   1750 	rdStart := off
   1751 	_ = rdStart
   1752 
   1753 	rr.Flags, off, err = unpackUint16(msg, off)
   1754 	if err != nil {
   1755 		return off, err
   1756 	}
   1757 	if off == len(msg) {
   1758 		return off, nil
   1759 	}
   1760 	rr.Protocol, off, err = unpackUint8(msg, off)
   1761 	if err != nil {
   1762 		return off, err
   1763 	}
   1764 	if off == len(msg) {
   1765 		return off, nil
   1766 	}
   1767 	rr.Algorithm, off, err = unpackUint8(msg, off)
   1768 	if err != nil {
   1769 		return off, err
   1770 	}
   1771 	if off == len(msg) {
   1772 		return off, nil
   1773 	}
   1774 	rr.PublicKey, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   1775 	if err != nil {
   1776 		return off, err
   1777 	}
   1778 	return off, nil
   1779 }
   1780 
   1781 func (rr *KX) unpack(msg []byte, off int) (off1 int, err error) {
   1782 	rdStart := off
   1783 	_ = rdStart
   1784 
   1785 	rr.Preference, off, err = unpackUint16(msg, off)
   1786 	if err != nil {
   1787 		return off, err
   1788 	}
   1789 	if off == len(msg) {
   1790 		return off, nil
   1791 	}
   1792 	rr.Exchanger, off, err = UnpackDomainName(msg, off)
   1793 	if err != nil {
   1794 		return off, err
   1795 	}
   1796 	return off, nil
   1797 }
   1798 
   1799 func (rr *L32) unpack(msg []byte, off int) (off1 int, err error) {
   1800 	rdStart := off
   1801 	_ = rdStart
   1802 
   1803 	rr.Preference, off, err = unpackUint16(msg, off)
   1804 	if err != nil {
   1805 		return off, err
   1806 	}
   1807 	if off == len(msg) {
   1808 		return off, nil
   1809 	}
   1810 	rr.Locator32, off, err = unpackDataA(msg, off)
   1811 	if err != nil {
   1812 		return off, err
   1813 	}
   1814 	return off, nil
   1815 }
   1816 
   1817 func (rr *L64) unpack(msg []byte, off int) (off1 int, err error) {
   1818 	rdStart := off
   1819 	_ = rdStart
   1820 
   1821 	rr.Preference, off, err = unpackUint16(msg, off)
   1822 	if err != nil {
   1823 		return off, err
   1824 	}
   1825 	if off == len(msg) {
   1826 		return off, nil
   1827 	}
   1828 	rr.Locator64, off, err = unpackUint64(msg, off)
   1829 	if err != nil {
   1830 		return off, err
   1831 	}
   1832 	return off, nil
   1833 }
   1834 
   1835 func (rr *LOC) unpack(msg []byte, off int) (off1 int, err error) {
   1836 	rdStart := off
   1837 	_ = rdStart
   1838 
   1839 	rr.Version, off, err = unpackUint8(msg, off)
   1840 	if err != nil {
   1841 		return off, err
   1842 	}
   1843 	if off == len(msg) {
   1844 		return off, nil
   1845 	}
   1846 	rr.Size, off, err = unpackUint8(msg, off)
   1847 	if err != nil {
   1848 		return off, err
   1849 	}
   1850 	if off == len(msg) {
   1851 		return off, nil
   1852 	}
   1853 	rr.HorizPre, off, err = unpackUint8(msg, off)
   1854 	if err != nil {
   1855 		return off, err
   1856 	}
   1857 	if off == len(msg) {
   1858 		return off, nil
   1859 	}
   1860 	rr.VertPre, off, err = unpackUint8(msg, off)
   1861 	if err != nil {
   1862 		return off, err
   1863 	}
   1864 	if off == len(msg) {
   1865 		return off, nil
   1866 	}
   1867 	rr.Latitude, off, err = unpackUint32(msg, off)
   1868 	if err != nil {
   1869 		return off, err
   1870 	}
   1871 	if off == len(msg) {
   1872 		return off, nil
   1873 	}
   1874 	rr.Longitude, off, err = unpackUint32(msg, off)
   1875 	if err != nil {
   1876 		return off, err
   1877 	}
   1878 	if off == len(msg) {
   1879 		return off, nil
   1880 	}
   1881 	rr.Altitude, off, err = unpackUint32(msg, off)
   1882 	if err != nil {
   1883 		return off, err
   1884 	}
   1885 	return off, nil
   1886 }
   1887 
   1888 func (rr *LP) unpack(msg []byte, off int) (off1 int, err error) {
   1889 	rdStart := off
   1890 	_ = rdStart
   1891 
   1892 	rr.Preference, off, err = unpackUint16(msg, off)
   1893 	if err != nil {
   1894 		return off, err
   1895 	}
   1896 	if off == len(msg) {
   1897 		return off, nil
   1898 	}
   1899 	rr.Fqdn, off, err = UnpackDomainName(msg, off)
   1900 	if err != nil {
   1901 		return off, err
   1902 	}
   1903 	return off, nil
   1904 }
   1905 
   1906 func (rr *MB) unpack(msg []byte, off int) (off1 int, err error) {
   1907 	rdStart := off
   1908 	_ = rdStart
   1909 
   1910 	rr.Mb, off, err = UnpackDomainName(msg, off)
   1911 	if err != nil {
   1912 		return off, err
   1913 	}
   1914 	return off, nil
   1915 }
   1916 
   1917 func (rr *MD) unpack(msg []byte, off int) (off1 int, err error) {
   1918 	rdStart := off
   1919 	_ = rdStart
   1920 
   1921 	rr.Md, off, err = UnpackDomainName(msg, off)
   1922 	if err != nil {
   1923 		return off, err
   1924 	}
   1925 	return off, nil
   1926 }
   1927 
   1928 func (rr *MF) unpack(msg []byte, off int) (off1 int, err error) {
   1929 	rdStart := off
   1930 	_ = rdStart
   1931 
   1932 	rr.Mf, off, err = UnpackDomainName(msg, off)
   1933 	if err != nil {
   1934 		return off, err
   1935 	}
   1936 	return off, nil
   1937 }
   1938 
   1939 func (rr *MG) unpack(msg []byte, off int) (off1 int, err error) {
   1940 	rdStart := off
   1941 	_ = rdStart
   1942 
   1943 	rr.Mg, off, err = UnpackDomainName(msg, off)
   1944 	if err != nil {
   1945 		return off, err
   1946 	}
   1947 	return off, nil
   1948 }
   1949 
   1950 func (rr *MINFO) unpack(msg []byte, off int) (off1 int, err error) {
   1951 	rdStart := off
   1952 	_ = rdStart
   1953 
   1954 	rr.Rmail, off, err = UnpackDomainName(msg, off)
   1955 	if err != nil {
   1956 		return off, err
   1957 	}
   1958 	if off == len(msg) {
   1959 		return off, nil
   1960 	}
   1961 	rr.Email, off, err = UnpackDomainName(msg, off)
   1962 	if err != nil {
   1963 		return off, err
   1964 	}
   1965 	return off, nil
   1966 }
   1967 
   1968 func (rr *MR) unpack(msg []byte, off int) (off1 int, err error) {
   1969 	rdStart := off
   1970 	_ = rdStart
   1971 
   1972 	rr.Mr, off, err = UnpackDomainName(msg, off)
   1973 	if err != nil {
   1974 		return off, err
   1975 	}
   1976 	return off, nil
   1977 }
   1978 
   1979 func (rr *MX) unpack(msg []byte, off int) (off1 int, err error) {
   1980 	rdStart := off
   1981 	_ = rdStart
   1982 
   1983 	rr.Preference, off, err = unpackUint16(msg, off)
   1984 	if err != nil {
   1985 		return off, err
   1986 	}
   1987 	if off == len(msg) {
   1988 		return off, nil
   1989 	}
   1990 	rr.Mx, off, err = UnpackDomainName(msg, off)
   1991 	if err != nil {
   1992 		return off, err
   1993 	}
   1994 	return off, nil
   1995 }
   1996 
   1997 func (rr *NAPTR) unpack(msg []byte, off int) (off1 int, err error) {
   1998 	rdStart := off
   1999 	_ = rdStart
   2000 
   2001 	rr.Order, off, err = unpackUint16(msg, off)
   2002 	if err != nil {
   2003 		return off, err
   2004 	}
   2005 	if off == len(msg) {
   2006 		return off, nil
   2007 	}
   2008 	rr.Preference, off, err = unpackUint16(msg, off)
   2009 	if err != nil {
   2010 		return off, err
   2011 	}
   2012 	if off == len(msg) {
   2013 		return off, nil
   2014 	}
   2015 	rr.Flags, off, err = unpackString(msg, off)
   2016 	if err != nil {
   2017 		return off, err
   2018 	}
   2019 	if off == len(msg) {
   2020 		return off, nil
   2021 	}
   2022 	rr.Service, off, err = unpackString(msg, off)
   2023 	if err != nil {
   2024 		return off, err
   2025 	}
   2026 	if off == len(msg) {
   2027 		return off, nil
   2028 	}
   2029 	rr.Regexp, off, err = unpackString(msg, off)
   2030 	if err != nil {
   2031 		return off, err
   2032 	}
   2033 	if off == len(msg) {
   2034 		return off, nil
   2035 	}
   2036 	rr.Replacement, off, err = UnpackDomainName(msg, off)
   2037 	if err != nil {
   2038 		return off, err
   2039 	}
   2040 	return off, nil
   2041 }
   2042 
   2043 func (rr *NID) unpack(msg []byte, off int) (off1 int, err error) {
   2044 	rdStart := off
   2045 	_ = rdStart
   2046 
   2047 	rr.Preference, off, err = unpackUint16(msg, off)
   2048 	if err != nil {
   2049 		return off, err
   2050 	}
   2051 	if off == len(msg) {
   2052 		return off, nil
   2053 	}
   2054 	rr.NodeID, off, err = unpackUint64(msg, off)
   2055 	if err != nil {
   2056 		return off, err
   2057 	}
   2058 	return off, nil
   2059 }
   2060 
   2061 func (rr *NIMLOC) unpack(msg []byte, off int) (off1 int, err error) {
   2062 	rdStart := off
   2063 	_ = rdStart
   2064 
   2065 	rr.Locator, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2066 	if err != nil {
   2067 		return off, err
   2068 	}
   2069 	return off, nil
   2070 }
   2071 
   2072 func (rr *NINFO) unpack(msg []byte, off int) (off1 int, err error) {
   2073 	rdStart := off
   2074 	_ = rdStart
   2075 
   2076 	rr.ZSData, off, err = unpackStringTxt(msg, off)
   2077 	if err != nil {
   2078 		return off, err
   2079 	}
   2080 	return off, nil
   2081 }
   2082 
   2083 func (rr *NS) unpack(msg []byte, off int) (off1 int, err error) {
   2084 	rdStart := off
   2085 	_ = rdStart
   2086 
   2087 	rr.Ns, off, err = UnpackDomainName(msg, off)
   2088 	if err != nil {
   2089 		return off, err
   2090 	}
   2091 	return off, nil
   2092 }
   2093 
   2094 func (rr *NSAPPTR) unpack(msg []byte, off int) (off1 int, err error) {
   2095 	rdStart := off
   2096 	_ = rdStart
   2097 
   2098 	rr.Ptr, off, err = UnpackDomainName(msg, off)
   2099 	if err != nil {
   2100 		return off, err
   2101 	}
   2102 	return off, nil
   2103 }
   2104 
   2105 func (rr *NSEC) unpack(msg []byte, off int) (off1 int, err error) {
   2106 	rdStart := off
   2107 	_ = rdStart
   2108 
   2109 	rr.NextDomain, off, err = UnpackDomainName(msg, off)
   2110 	if err != nil {
   2111 		return off, err
   2112 	}
   2113 	if off == len(msg) {
   2114 		return off, nil
   2115 	}
   2116 	rr.TypeBitMap, off, err = unpackDataNsec(msg, off)
   2117 	if err != nil {
   2118 		return off, err
   2119 	}
   2120 	return off, nil
   2121 }
   2122 
   2123 func (rr *NSEC3) unpack(msg []byte, off int) (off1 int, err error) {
   2124 	rdStart := off
   2125 	_ = rdStart
   2126 
   2127 	rr.Hash, off, err = unpackUint8(msg, off)
   2128 	if err != nil {
   2129 		return off, err
   2130 	}
   2131 	if off == len(msg) {
   2132 		return off, nil
   2133 	}
   2134 	rr.Flags, off, err = unpackUint8(msg, off)
   2135 	if err != nil {
   2136 		return off, err
   2137 	}
   2138 	if off == len(msg) {
   2139 		return off, nil
   2140 	}
   2141 	rr.Iterations, off, err = unpackUint16(msg, off)
   2142 	if err != nil {
   2143 		return off, err
   2144 	}
   2145 	if off == len(msg) {
   2146 		return off, nil
   2147 	}
   2148 	rr.SaltLength, off, err = unpackUint8(msg, off)
   2149 	if err != nil {
   2150 		return off, err
   2151 	}
   2152 	if off == len(msg) {
   2153 		return off, nil
   2154 	}
   2155 	rr.Salt, off, err = unpackStringHex(msg, off, off+int(rr.SaltLength))
   2156 	if err != nil {
   2157 		return off, err
   2158 	}
   2159 	rr.HashLength, off, err = unpackUint8(msg, off)
   2160 	if err != nil {
   2161 		return off, err
   2162 	}
   2163 	if off == len(msg) {
   2164 		return off, nil
   2165 	}
   2166 	rr.NextDomain, off, err = unpackStringBase32(msg, off, off+int(rr.HashLength))
   2167 	if err != nil {
   2168 		return off, err
   2169 	}
   2170 	rr.TypeBitMap, off, err = unpackDataNsec(msg, off)
   2171 	if err != nil {
   2172 		return off, err
   2173 	}
   2174 	return off, nil
   2175 }
   2176 
   2177 func (rr *NSEC3PARAM) unpack(msg []byte, off int) (off1 int, err error) {
   2178 	rdStart := off
   2179 	_ = rdStart
   2180 
   2181 	rr.Hash, off, err = unpackUint8(msg, off)
   2182 	if err != nil {
   2183 		return off, err
   2184 	}
   2185 	if off == len(msg) {
   2186 		return off, nil
   2187 	}
   2188 	rr.Flags, off, err = unpackUint8(msg, off)
   2189 	if err != nil {
   2190 		return off, err
   2191 	}
   2192 	if off == len(msg) {
   2193 		return off, nil
   2194 	}
   2195 	rr.Iterations, off, err = unpackUint16(msg, off)
   2196 	if err != nil {
   2197 		return off, err
   2198 	}
   2199 	if off == len(msg) {
   2200 		return off, nil
   2201 	}
   2202 	rr.SaltLength, off, err = unpackUint8(msg, off)
   2203 	if err != nil {
   2204 		return off, err
   2205 	}
   2206 	if off == len(msg) {
   2207 		return off, nil
   2208 	}
   2209 	rr.Salt, off, err = unpackStringHex(msg, off, off+int(rr.SaltLength))
   2210 	if err != nil {
   2211 		return off, err
   2212 	}
   2213 	return off, nil
   2214 }
   2215 
   2216 func (rr *NULL) unpack(msg []byte, off int) (off1 int, err error) {
   2217 	rdStart := off
   2218 	_ = rdStart
   2219 
   2220 	rr.Data, off, err = unpackStringAny(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2221 	if err != nil {
   2222 		return off, err
   2223 	}
   2224 	return off, nil
   2225 }
   2226 
   2227 func (rr *OPENPGPKEY) unpack(msg []byte, off int) (off1 int, err error) {
   2228 	rdStart := off
   2229 	_ = rdStart
   2230 
   2231 	rr.PublicKey, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2232 	if err != nil {
   2233 		return off, err
   2234 	}
   2235 	return off, nil
   2236 }
   2237 
   2238 func (rr *OPT) unpack(msg []byte, off int) (off1 int, err error) {
   2239 	rdStart := off
   2240 	_ = rdStart
   2241 
   2242 	rr.Option, off, err = unpackDataOpt(msg, off)
   2243 	if err != nil {
   2244 		return off, err
   2245 	}
   2246 	return off, nil
   2247 }
   2248 
   2249 func (rr *PTR) unpack(msg []byte, off int) (off1 int, err error) {
   2250 	rdStart := off
   2251 	_ = rdStart
   2252 
   2253 	rr.Ptr, off, err = UnpackDomainName(msg, off)
   2254 	if err != nil {
   2255 		return off, err
   2256 	}
   2257 	return off, nil
   2258 }
   2259 
   2260 func (rr *PX) unpack(msg []byte, off int) (off1 int, err error) {
   2261 	rdStart := off
   2262 	_ = rdStart
   2263 
   2264 	rr.Preference, off, err = unpackUint16(msg, off)
   2265 	if err != nil {
   2266 		return off, err
   2267 	}
   2268 	if off == len(msg) {
   2269 		return off, nil
   2270 	}
   2271 	rr.Map822, off, err = UnpackDomainName(msg, off)
   2272 	if err != nil {
   2273 		return off, err
   2274 	}
   2275 	if off == len(msg) {
   2276 		return off, nil
   2277 	}
   2278 	rr.Mapx400, off, err = UnpackDomainName(msg, off)
   2279 	if err != nil {
   2280 		return off, err
   2281 	}
   2282 	return off, nil
   2283 }
   2284 
   2285 func (rr *RFC3597) unpack(msg []byte, off int) (off1 int, err error) {
   2286 	rdStart := off
   2287 	_ = rdStart
   2288 
   2289 	rr.Rdata, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2290 	if err != nil {
   2291 		return off, err
   2292 	}
   2293 	return off, nil
   2294 }
   2295 
   2296 func (rr *RKEY) unpack(msg []byte, off int) (off1 int, err error) {
   2297 	rdStart := off
   2298 	_ = rdStart
   2299 
   2300 	rr.Flags, off, err = unpackUint16(msg, off)
   2301 	if err != nil {
   2302 		return off, err
   2303 	}
   2304 	if off == len(msg) {
   2305 		return off, nil
   2306 	}
   2307 	rr.Protocol, off, err = unpackUint8(msg, off)
   2308 	if err != nil {
   2309 		return off, err
   2310 	}
   2311 	if off == len(msg) {
   2312 		return off, nil
   2313 	}
   2314 	rr.Algorithm, off, err = unpackUint8(msg, off)
   2315 	if err != nil {
   2316 		return off, err
   2317 	}
   2318 	if off == len(msg) {
   2319 		return off, nil
   2320 	}
   2321 	rr.PublicKey, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2322 	if err != nil {
   2323 		return off, err
   2324 	}
   2325 	return off, nil
   2326 }
   2327 
   2328 func (rr *RP) unpack(msg []byte, off int) (off1 int, err error) {
   2329 	rdStart := off
   2330 	_ = rdStart
   2331 
   2332 	rr.Mbox, off, err = UnpackDomainName(msg, off)
   2333 	if err != nil {
   2334 		return off, err
   2335 	}
   2336 	if off == len(msg) {
   2337 		return off, nil
   2338 	}
   2339 	rr.Txt, off, err = UnpackDomainName(msg, off)
   2340 	if err != nil {
   2341 		return off, err
   2342 	}
   2343 	return off, nil
   2344 }
   2345 
   2346 func (rr *RRSIG) unpack(msg []byte, off int) (off1 int, err error) {
   2347 	rdStart := off
   2348 	_ = rdStart
   2349 
   2350 	rr.TypeCovered, off, err = unpackUint16(msg, off)
   2351 	if err != nil {
   2352 		return off, err
   2353 	}
   2354 	if off == len(msg) {
   2355 		return off, nil
   2356 	}
   2357 	rr.Algorithm, off, err = unpackUint8(msg, off)
   2358 	if err != nil {
   2359 		return off, err
   2360 	}
   2361 	if off == len(msg) {
   2362 		return off, nil
   2363 	}
   2364 	rr.Labels, off, err = unpackUint8(msg, off)
   2365 	if err != nil {
   2366 		return off, err
   2367 	}
   2368 	if off == len(msg) {
   2369 		return off, nil
   2370 	}
   2371 	rr.OrigTtl, off, err = unpackUint32(msg, off)
   2372 	if err != nil {
   2373 		return off, err
   2374 	}
   2375 	if off == len(msg) {
   2376 		return off, nil
   2377 	}
   2378 	rr.Expiration, off, err = unpackUint32(msg, off)
   2379 	if err != nil {
   2380 		return off, err
   2381 	}
   2382 	if off == len(msg) {
   2383 		return off, nil
   2384 	}
   2385 	rr.Inception, off, err = unpackUint32(msg, off)
   2386 	if err != nil {
   2387 		return off, err
   2388 	}
   2389 	if off == len(msg) {
   2390 		return off, nil
   2391 	}
   2392 	rr.KeyTag, off, err = unpackUint16(msg, off)
   2393 	if err != nil {
   2394 		return off, err
   2395 	}
   2396 	if off == len(msg) {
   2397 		return off, nil
   2398 	}
   2399 	rr.SignerName, off, err = UnpackDomainName(msg, off)
   2400 	if err != nil {
   2401 		return off, err
   2402 	}
   2403 	if off == len(msg) {
   2404 		return off, nil
   2405 	}
   2406 	rr.Signature, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2407 	if err != nil {
   2408 		return off, err
   2409 	}
   2410 	return off, nil
   2411 }
   2412 
   2413 func (rr *RT) unpack(msg []byte, off int) (off1 int, err error) {
   2414 	rdStart := off
   2415 	_ = rdStart
   2416 
   2417 	rr.Preference, off, err = unpackUint16(msg, off)
   2418 	if err != nil {
   2419 		return off, err
   2420 	}
   2421 	if off == len(msg) {
   2422 		return off, nil
   2423 	}
   2424 	rr.Host, off, err = UnpackDomainName(msg, off)
   2425 	if err != nil {
   2426 		return off, err
   2427 	}
   2428 	return off, nil
   2429 }
   2430 
   2431 func (rr *SIG) unpack(msg []byte, off int) (off1 int, err error) {
   2432 	rdStart := off
   2433 	_ = rdStart
   2434 
   2435 	rr.TypeCovered, off, err = unpackUint16(msg, off)
   2436 	if err != nil {
   2437 		return off, err
   2438 	}
   2439 	if off == len(msg) {
   2440 		return off, nil
   2441 	}
   2442 	rr.Algorithm, off, err = unpackUint8(msg, off)
   2443 	if err != nil {
   2444 		return off, err
   2445 	}
   2446 	if off == len(msg) {
   2447 		return off, nil
   2448 	}
   2449 	rr.Labels, off, err = unpackUint8(msg, off)
   2450 	if err != nil {
   2451 		return off, err
   2452 	}
   2453 	if off == len(msg) {
   2454 		return off, nil
   2455 	}
   2456 	rr.OrigTtl, off, err = unpackUint32(msg, off)
   2457 	if err != nil {
   2458 		return off, err
   2459 	}
   2460 	if off == len(msg) {
   2461 		return off, nil
   2462 	}
   2463 	rr.Expiration, off, err = unpackUint32(msg, off)
   2464 	if err != nil {
   2465 		return off, err
   2466 	}
   2467 	if off == len(msg) {
   2468 		return off, nil
   2469 	}
   2470 	rr.Inception, off, err = unpackUint32(msg, off)
   2471 	if err != nil {
   2472 		return off, err
   2473 	}
   2474 	if off == len(msg) {
   2475 		return off, nil
   2476 	}
   2477 	rr.KeyTag, off, err = unpackUint16(msg, off)
   2478 	if err != nil {
   2479 		return off, err
   2480 	}
   2481 	if off == len(msg) {
   2482 		return off, nil
   2483 	}
   2484 	rr.SignerName, off, err = UnpackDomainName(msg, off)
   2485 	if err != nil {
   2486 		return off, err
   2487 	}
   2488 	if off == len(msg) {
   2489 		return off, nil
   2490 	}
   2491 	rr.Signature, off, err = unpackStringBase64(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2492 	if err != nil {
   2493 		return off, err
   2494 	}
   2495 	return off, nil
   2496 }
   2497 
   2498 func (rr *SMIMEA) unpack(msg []byte, off int) (off1 int, err error) {
   2499 	rdStart := off
   2500 	_ = rdStart
   2501 
   2502 	rr.Usage, off, err = unpackUint8(msg, off)
   2503 	if err != nil {
   2504 		return off, err
   2505 	}
   2506 	if off == len(msg) {
   2507 		return off, nil
   2508 	}
   2509 	rr.Selector, off, err = unpackUint8(msg, off)
   2510 	if err != nil {
   2511 		return off, err
   2512 	}
   2513 	if off == len(msg) {
   2514 		return off, nil
   2515 	}
   2516 	rr.MatchingType, off, err = unpackUint8(msg, off)
   2517 	if err != nil {
   2518 		return off, err
   2519 	}
   2520 	if off == len(msg) {
   2521 		return off, nil
   2522 	}
   2523 	rr.Certificate, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2524 	if err != nil {
   2525 		return off, err
   2526 	}
   2527 	return off, nil
   2528 }
   2529 
   2530 func (rr *SOA) unpack(msg []byte, off int) (off1 int, err error) {
   2531 	rdStart := off
   2532 	_ = rdStart
   2533 
   2534 	rr.Ns, off, err = UnpackDomainName(msg, off)
   2535 	if err != nil {
   2536 		return off, err
   2537 	}
   2538 	if off == len(msg) {
   2539 		return off, nil
   2540 	}
   2541 	rr.Mbox, off, err = UnpackDomainName(msg, off)
   2542 	if err != nil {
   2543 		return off, err
   2544 	}
   2545 	if off == len(msg) {
   2546 		return off, nil
   2547 	}
   2548 	rr.Serial, off, err = unpackUint32(msg, off)
   2549 	if err != nil {
   2550 		return off, err
   2551 	}
   2552 	if off == len(msg) {
   2553 		return off, nil
   2554 	}
   2555 	rr.Refresh, off, err = unpackUint32(msg, off)
   2556 	if err != nil {
   2557 		return off, err
   2558 	}
   2559 	if off == len(msg) {
   2560 		return off, nil
   2561 	}
   2562 	rr.Retry, off, err = unpackUint32(msg, off)
   2563 	if err != nil {
   2564 		return off, err
   2565 	}
   2566 	if off == len(msg) {
   2567 		return off, nil
   2568 	}
   2569 	rr.Expire, off, err = unpackUint32(msg, off)
   2570 	if err != nil {
   2571 		return off, err
   2572 	}
   2573 	if off == len(msg) {
   2574 		return off, nil
   2575 	}
   2576 	rr.Minttl, off, err = unpackUint32(msg, off)
   2577 	if err != nil {
   2578 		return off, err
   2579 	}
   2580 	return off, nil
   2581 }
   2582 
   2583 func (rr *SPF) unpack(msg []byte, off int) (off1 int, err error) {
   2584 	rdStart := off
   2585 	_ = rdStart
   2586 
   2587 	rr.Txt, off, err = unpackStringTxt(msg, off)
   2588 	if err != nil {
   2589 		return off, err
   2590 	}
   2591 	return off, nil
   2592 }
   2593 
   2594 func (rr *SRV) unpack(msg []byte, off int) (off1 int, err error) {
   2595 	rdStart := off
   2596 	_ = rdStart
   2597 
   2598 	rr.Priority, off, err = unpackUint16(msg, off)
   2599 	if err != nil {
   2600 		return off, err
   2601 	}
   2602 	if off == len(msg) {
   2603 		return off, nil
   2604 	}
   2605 	rr.Weight, off, err = unpackUint16(msg, off)
   2606 	if err != nil {
   2607 		return off, err
   2608 	}
   2609 	if off == len(msg) {
   2610 		return off, nil
   2611 	}
   2612 	rr.Port, off, err = unpackUint16(msg, off)
   2613 	if err != nil {
   2614 		return off, err
   2615 	}
   2616 	if off == len(msg) {
   2617 		return off, nil
   2618 	}
   2619 	rr.Target, off, err = UnpackDomainName(msg, off)
   2620 	if err != nil {
   2621 		return off, err
   2622 	}
   2623 	return off, nil
   2624 }
   2625 
   2626 func (rr *SSHFP) unpack(msg []byte, off int) (off1 int, err error) {
   2627 	rdStart := off
   2628 	_ = rdStart
   2629 
   2630 	rr.Algorithm, off, err = unpackUint8(msg, off)
   2631 	if err != nil {
   2632 		return off, err
   2633 	}
   2634 	if off == len(msg) {
   2635 		return off, nil
   2636 	}
   2637 	rr.Type, off, err = unpackUint8(msg, off)
   2638 	if err != nil {
   2639 		return off, err
   2640 	}
   2641 	if off == len(msg) {
   2642 		return off, nil
   2643 	}
   2644 	rr.FingerPrint, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2645 	if err != nil {
   2646 		return off, err
   2647 	}
   2648 	return off, nil
   2649 }
   2650 
   2651 func (rr *SVCB) unpack(msg []byte, off int) (off1 int, err error) {
   2652 	rdStart := off
   2653 	_ = rdStart
   2654 
   2655 	rr.Priority, off, err = unpackUint16(msg, off)
   2656 	if err != nil {
   2657 		return off, err
   2658 	}
   2659 	if off == len(msg) {
   2660 		return off, nil
   2661 	}
   2662 	rr.Target, off, err = UnpackDomainName(msg, off)
   2663 	if err != nil {
   2664 		return off, err
   2665 	}
   2666 	if off == len(msg) {
   2667 		return off, nil
   2668 	}
   2669 	rr.Value, off, err = unpackDataSVCB(msg, off)
   2670 	if err != nil {
   2671 		return off, err
   2672 	}
   2673 	return off, nil
   2674 }
   2675 
   2676 func (rr *TA) unpack(msg []byte, off int) (off1 int, err error) {
   2677 	rdStart := off
   2678 	_ = rdStart
   2679 
   2680 	rr.KeyTag, off, err = unpackUint16(msg, off)
   2681 	if err != nil {
   2682 		return off, err
   2683 	}
   2684 	if off == len(msg) {
   2685 		return off, nil
   2686 	}
   2687 	rr.Algorithm, off, err = unpackUint8(msg, off)
   2688 	if err != nil {
   2689 		return off, err
   2690 	}
   2691 	if off == len(msg) {
   2692 		return off, nil
   2693 	}
   2694 	rr.DigestType, off, err = unpackUint8(msg, off)
   2695 	if err != nil {
   2696 		return off, err
   2697 	}
   2698 	if off == len(msg) {
   2699 		return off, nil
   2700 	}
   2701 	rr.Digest, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2702 	if err != nil {
   2703 		return off, err
   2704 	}
   2705 	return off, nil
   2706 }
   2707 
   2708 func (rr *TALINK) unpack(msg []byte, off int) (off1 int, err error) {
   2709 	rdStart := off
   2710 	_ = rdStart
   2711 
   2712 	rr.PreviousName, off, err = UnpackDomainName(msg, off)
   2713 	if err != nil {
   2714 		return off, err
   2715 	}
   2716 	if off == len(msg) {
   2717 		return off, nil
   2718 	}
   2719 	rr.NextName, off, err = UnpackDomainName(msg, off)
   2720 	if err != nil {
   2721 		return off, err
   2722 	}
   2723 	return off, nil
   2724 }
   2725 
   2726 func (rr *TKEY) unpack(msg []byte, off int) (off1 int, err error) {
   2727 	rdStart := off
   2728 	_ = rdStart
   2729 
   2730 	rr.Algorithm, off, err = UnpackDomainName(msg, off)
   2731 	if err != nil {
   2732 		return off, err
   2733 	}
   2734 	if off == len(msg) {
   2735 		return off, nil
   2736 	}
   2737 	rr.Inception, off, err = unpackUint32(msg, off)
   2738 	if err != nil {
   2739 		return off, err
   2740 	}
   2741 	if off == len(msg) {
   2742 		return off, nil
   2743 	}
   2744 	rr.Expiration, off, err = unpackUint32(msg, off)
   2745 	if err != nil {
   2746 		return off, err
   2747 	}
   2748 	if off == len(msg) {
   2749 		return off, nil
   2750 	}
   2751 	rr.Mode, off, err = unpackUint16(msg, off)
   2752 	if err != nil {
   2753 		return off, err
   2754 	}
   2755 	if off == len(msg) {
   2756 		return off, nil
   2757 	}
   2758 	rr.Error, off, err = unpackUint16(msg, off)
   2759 	if err != nil {
   2760 		return off, err
   2761 	}
   2762 	if off == len(msg) {
   2763 		return off, nil
   2764 	}
   2765 	rr.KeySize, off, err = unpackUint16(msg, off)
   2766 	if err != nil {
   2767 		return off, err
   2768 	}
   2769 	if off == len(msg) {
   2770 		return off, nil
   2771 	}
   2772 	rr.Key, off, err = unpackStringHex(msg, off, off+int(rr.KeySize))
   2773 	if err != nil {
   2774 		return off, err
   2775 	}
   2776 	rr.OtherLen, off, err = unpackUint16(msg, off)
   2777 	if err != nil {
   2778 		return off, err
   2779 	}
   2780 	if off == len(msg) {
   2781 		return off, nil
   2782 	}
   2783 	rr.OtherData, off, err = unpackStringHex(msg, off, off+int(rr.OtherLen))
   2784 	if err != nil {
   2785 		return off, err
   2786 	}
   2787 	return off, nil
   2788 }
   2789 
   2790 func (rr *TLSA) unpack(msg []byte, off int) (off1 int, err error) {
   2791 	rdStart := off
   2792 	_ = rdStart
   2793 
   2794 	rr.Usage, off, err = unpackUint8(msg, off)
   2795 	if err != nil {
   2796 		return off, err
   2797 	}
   2798 	if off == len(msg) {
   2799 		return off, nil
   2800 	}
   2801 	rr.Selector, off, err = unpackUint8(msg, off)
   2802 	if err != nil {
   2803 		return off, err
   2804 	}
   2805 	if off == len(msg) {
   2806 		return off, nil
   2807 	}
   2808 	rr.MatchingType, off, err = unpackUint8(msg, off)
   2809 	if err != nil {
   2810 		return off, err
   2811 	}
   2812 	if off == len(msg) {
   2813 		return off, nil
   2814 	}
   2815 	rr.Certificate, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2816 	if err != nil {
   2817 		return off, err
   2818 	}
   2819 	return off, nil
   2820 }
   2821 
   2822 func (rr *TSIG) unpack(msg []byte, off int) (off1 int, err error) {
   2823 	rdStart := off
   2824 	_ = rdStart
   2825 
   2826 	rr.Algorithm, off, err = UnpackDomainName(msg, off)
   2827 	if err != nil {
   2828 		return off, err
   2829 	}
   2830 	if off == len(msg) {
   2831 		return off, nil
   2832 	}
   2833 	rr.TimeSigned, off, err = unpackUint48(msg, off)
   2834 	if err != nil {
   2835 		return off, err
   2836 	}
   2837 	if off == len(msg) {
   2838 		return off, nil
   2839 	}
   2840 	rr.Fudge, off, err = unpackUint16(msg, off)
   2841 	if err != nil {
   2842 		return off, err
   2843 	}
   2844 	if off == len(msg) {
   2845 		return off, nil
   2846 	}
   2847 	rr.MACSize, off, err = unpackUint16(msg, off)
   2848 	if err != nil {
   2849 		return off, err
   2850 	}
   2851 	if off == len(msg) {
   2852 		return off, nil
   2853 	}
   2854 	rr.MAC, off, err = unpackStringHex(msg, off, off+int(rr.MACSize))
   2855 	if err != nil {
   2856 		return off, err
   2857 	}
   2858 	rr.OrigId, off, err = unpackUint16(msg, off)
   2859 	if err != nil {
   2860 		return off, err
   2861 	}
   2862 	if off == len(msg) {
   2863 		return off, nil
   2864 	}
   2865 	rr.Error, off, err = unpackUint16(msg, off)
   2866 	if err != nil {
   2867 		return off, err
   2868 	}
   2869 	if off == len(msg) {
   2870 		return off, nil
   2871 	}
   2872 	rr.OtherLen, off, err = unpackUint16(msg, off)
   2873 	if err != nil {
   2874 		return off, err
   2875 	}
   2876 	if off == len(msg) {
   2877 		return off, nil
   2878 	}
   2879 	rr.OtherData, off, err = unpackStringHex(msg, off, off+int(rr.OtherLen))
   2880 	if err != nil {
   2881 		return off, err
   2882 	}
   2883 	return off, nil
   2884 }
   2885 
   2886 func (rr *TXT) unpack(msg []byte, off int) (off1 int, err error) {
   2887 	rdStart := off
   2888 	_ = rdStart
   2889 
   2890 	rr.Txt, off, err = unpackStringTxt(msg, off)
   2891 	if err != nil {
   2892 		return off, err
   2893 	}
   2894 	return off, nil
   2895 }
   2896 
   2897 func (rr *UID) unpack(msg []byte, off int) (off1 int, err error) {
   2898 	rdStart := off
   2899 	_ = rdStart
   2900 
   2901 	rr.Uid, off, err = unpackUint32(msg, off)
   2902 	if err != nil {
   2903 		return off, err
   2904 	}
   2905 	return off, nil
   2906 }
   2907 
   2908 func (rr *UINFO) unpack(msg []byte, off int) (off1 int, err error) {
   2909 	rdStart := off
   2910 	_ = rdStart
   2911 
   2912 	rr.Uinfo, off, err = unpackString(msg, off)
   2913 	if err != nil {
   2914 		return off, err
   2915 	}
   2916 	return off, nil
   2917 }
   2918 
   2919 func (rr *URI) unpack(msg []byte, off int) (off1 int, err error) {
   2920 	rdStart := off
   2921 	_ = rdStart
   2922 
   2923 	rr.Priority, off, err = unpackUint16(msg, off)
   2924 	if err != nil {
   2925 		return off, err
   2926 	}
   2927 	if off == len(msg) {
   2928 		return off, nil
   2929 	}
   2930 	rr.Weight, off, err = unpackUint16(msg, off)
   2931 	if err != nil {
   2932 		return off, err
   2933 	}
   2934 	if off == len(msg) {
   2935 		return off, nil
   2936 	}
   2937 	rr.Target, off, err = unpackStringOctet(msg, off)
   2938 	if err != nil {
   2939 		return off, err
   2940 	}
   2941 	return off, nil
   2942 }
   2943 
   2944 func (rr *X25) unpack(msg []byte, off int) (off1 int, err error) {
   2945 	rdStart := off
   2946 	_ = rdStart
   2947 
   2948 	rr.PSDNAddress, off, err = unpackString(msg, off)
   2949 	if err != nil {
   2950 		return off, err
   2951 	}
   2952 	return off, nil
   2953 }
   2954 
   2955 func (rr *ZONEMD) unpack(msg []byte, off int) (off1 int, err error) {
   2956 	rdStart := off
   2957 	_ = rdStart
   2958 
   2959 	rr.Serial, off, err = unpackUint32(msg, off)
   2960 	if err != nil {
   2961 		return off, err
   2962 	}
   2963 	if off == len(msg) {
   2964 		return off, nil
   2965 	}
   2966 	rr.Scheme, off, err = unpackUint8(msg, off)
   2967 	if err != nil {
   2968 		return off, err
   2969 	}
   2970 	if off == len(msg) {
   2971 		return off, nil
   2972 	}
   2973 	rr.Hash, off, err = unpackUint8(msg, off)
   2974 	if err != nil {
   2975 		return off, err
   2976 	}
   2977 	if off == len(msg) {
   2978 		return off, nil
   2979 	}
   2980 	rr.Digest, off, err = unpackStringHex(msg, off, rdStart+int(rr.Hdr.Rdlength))
   2981 	if err != nil {
   2982 		return off, err
   2983 	}
   2984 	return off, nil
   2985 }