| 1 | {{DNS configuration for BIND}} |
| 2 | |
| 3 | extern type dnsRecord; |
| 4 | |
| 5 | extern type srv_domain; |
| 6 | {{Like <tt>domain</tt>, but may contain underscores}} |
| 7 | |
| 8 | extern type bind_pattern; |
| 9 | {{Ways of describing in which cases a DNS mapping applies}} |
| 10 | extern val literal : host -> bind_pattern; |
| 11 | {{A rule applies only to this particular host.}} |
| 12 | extern val default : bind_pattern; |
| 13 | {{A rule applies directly to the domain for the current <tt>vhost</tt> block.}} |
| 14 | extern val wildcard : bind_pattern; |
| 15 | {{A rule applies to every host within the current domain.}} |
| 16 | |
| 17 | extern type srv_pattern; |
| 18 | {{Like <tt>bind_pattern</tt>, but for SRV and TXT records, where underscores are allowed in hostnames}} |
| 19 | extern val srv_literal : srv_domain -> srv_pattern; |
| 20 | extern val srv_default : srv_pattern; |
| 21 | extern val srv_wildcard : srv_pattern; |
| 22 | |
| 23 | extern val dnsA : bind_pattern -> ip -> dnsRecord; |
| 24 | extern val dnsAAAA : bind_pattern -> ipv6 -> dnsRecord; |
| 25 | extern val dnsAFSDB : domain -> dnsRecord; |
| 26 | extern val dnsCNAME : bind_pattern -> domain -> dnsRecord; |
| 27 | extern val dnsMX : int -> domain -> dnsRecord; |
| 28 | extern val dnsNS : domain -> dnsRecord; |
| 29 | extern val dnsSRV : srv_pattern -> int -> int -> int -> domain -> dnsRecord; |
| 30 | extern val dnsTXT : srv_pattern -> no_newlines -> dnsRecord; |
| 31 | |
| 32 | extern val dns : dnsRecord -> [Domain] {TTL : int}; |