{{DNS configuration for BIND}} extern type dnsRecord; extern type srv_domain; {{Like domain, but may contain underscores}} extern type bind_pattern; {{Ways of describing in which cases a DNS mapping applies}} extern val literal : host -> bind_pattern; {{A rule applies only to this particular host.}} extern val default : bind_pattern; {{A rule applies directly to the domain for the current vhost block.}} extern val wildcard : bind_pattern; {{A rule applies to every host within the current domain.}} extern val dnsA : bind_pattern -> ip -> dnsRecord; extern val dnsAAAA : bind_pattern -> ipv6 -> dnsRecord; extern val dnsAFSDB : domain -> dnsRecord; extern val dnsCNAME : bind_pattern -> domain -> dnsRecord; extern val dnsMX : int -> domain -> dnsRecord; extern val dnsNS : domain -> dnsRecord; extern val dnsSRV : srv_domain -> int -> int -> int -> domain -> dnsRecord; extern val dnsTXT : bind_pattern -> no_newlines -> dnsRecord; extern val dns : dnsRecord -> [Domain] {TTL : int};