]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/resolve/dns-type.h
2 This file is part of systemd.
4 Copyright 2014 Zbigniew Jędrzejewski-Szmek
6 systemd is free software; you can redistribute it and/or modify it
7 under the terms of the GNU Lesser General Public License as published by
8 the Free Software Foundation; either version 2.1 of the License, or
9 (at your option) any later version.
11 systemd is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public License
17 along with systemd; If not, see <http://www.gnu.org/licenses/>.
24 /* DNS record types, taken from
25 * http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml.
69 DNS_TYPE_OPT
, /* EDNS0 option */
107 DNS_TYPE_TA
= 0x8000,
111 _DNS_TYPE_INVALID
= -1
114 assert_cc(DNS_TYPE_SSHFP
== 44);
115 assert_cc(DNS_TYPE_TLSA
== 52);
116 assert_cc(DNS_TYPE_ANY
== 255);
118 /* DNS record classes, see RFC 1035 */
121 DNS_CLASS_ANY
= 0xFF,
124 _DNS_CLASS_INVALID
= -1
127 bool dns_type_is_pseudo(uint16_t type
);
128 bool dns_type_is_valid_query(uint16_t type
);
129 bool dns_type_is_valid_rr(uint16_t type
);
130 bool dns_type_may_redirect(uint16_t type
);
131 bool dns_type_is_dnssec(uint16_t type
);
132 bool dns_type_is_obsolete(uint16_t type
);
133 bool dns_type_may_wildcard(uint16_t type
);
134 bool dns_type_apex_only(uint16_t type
);
135 int dns_type_to_af(uint16_t t
);
137 bool dns_class_is_pseudo(uint16_t class);
138 bool dns_class_is_valid_rr(uint16_t class);
140 /* TYPE?? follows http://tools.ietf.org/html/rfc3597#section-5 */
141 const char *dns_type_to_string(int type
);
142 int dns_type_from_string(const char *s
);
144 const char *dns_class_to_string(uint16_t type
);
145 int dns_class_from_string(const char *name
);
147 /* https://tools.ietf.org/html/draft-ietf-dane-protocol-23#section-7.2 */
148 const char *tlsa_cert_usage_to_string(uint8_t cert_usage
);
150 /* https://tools.ietf.org/html/draft-ietf-dane-protocol-23#section-7.3 */
151 const char *tlsa_selector_to_string(uint8_t selector
);
153 /* https://tools.ietf.org/html/draft-ietf-dane-protocol-23#section-7.4 */
154 const char *tlsa_matching_type_to_string(uint8_t selector
);