 TUPLE: mx preference exchange ;
 
 TUPLE: soa mname rname serial refresh retry expire minimum ;
+
+TUPLE: srv priority weight port target ;
 
 TUPLE: a name ;
 CONSTRUCTOR: <a> a ( name -- obj ) ;

M: NS parse-rdata 2drop parse-name <ns> ;
M: PTR parse-rdata 2drop parse-name <ptr> ;
M: SOA parse-rdata 2drop parse-soa ;

: parse-rr ( -- rr )
    rr new

: dns-MX-query ( name -- message ) MX IN dns-query ;
: dns-NS-query ( name -- message ) NS IN dns-query ;
: dns-TXT-query ( name -- message ) TXT IN dns-query ;
: dns-SRV-query ( name -- message ) SRV IN dns-query ;

: read-TXT-strings ( byte-array -- strings )
    [
