xref: /openbsd-src/usr.bin/dig/lib/dns/rdata/in_1/https_65.c (revision 38bad3e5b5d2d3914982f300641a375c9d1960da)
1*38bad3e5Sflorian /*
2*38bad3e5Sflorian  * Copyright (C) 2022 Florian Obser <florian@openbsd.org>
3*38bad3e5Sflorian  *
4*38bad3e5Sflorian  * Permission to use, copy, modify, and/or distribute this software for any
5*38bad3e5Sflorian  * purpose with or without fee is hereby granted, provided that the above
6*38bad3e5Sflorian  * copyright notice and this permission notice appear in all copies.
7*38bad3e5Sflorian  *
8*38bad3e5Sflorian  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9*38bad3e5Sflorian  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10*38bad3e5Sflorian  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
11*38bad3e5Sflorian  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12*38bad3e5Sflorian  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
13*38bad3e5Sflorian  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14*38bad3e5Sflorian  * PERFORMANCE OF THIS SOFTWARE.
15*38bad3e5Sflorian  */
16*38bad3e5Sflorian 
17*38bad3e5Sflorian /* $Id: https_65.c,v 1.1 2022/07/03 12:07:52 florian Exp $ */
18*38bad3e5Sflorian 
19*38bad3e5Sflorian /* draft-ietf-dnsop-svcb-https-10 */
20*38bad3e5Sflorian 
21*38bad3e5Sflorian #ifndef RDATA_IN_1_HTTPS_65_C
22*38bad3e5Sflorian #define RDATA_IN_1_HTTPS_65_C
23*38bad3e5Sflorian 
24*38bad3e5Sflorian static inline isc_result_t
totext_in_https(ARGS_TOTEXT)25*38bad3e5Sflorian totext_in_https(ARGS_TOTEXT) {
26*38bad3e5Sflorian 	REQUIRE(rdata->type == dns_rdatatype_https);
27*38bad3e5Sflorian 	REQUIRE(rdata->rdclass == dns_rdataclass_in);
28*38bad3e5Sflorian 	REQUIRE(rdata->length != 0);
29*38bad3e5Sflorian 
30*38bad3e5Sflorian 	return (totext_in_svcb_https(rdata, tctx, target));
31*38bad3e5Sflorian }
32*38bad3e5Sflorian 
33*38bad3e5Sflorian static inline isc_result_t
fromwire_in_https(ARGS_FROMWIRE)34*38bad3e5Sflorian fromwire_in_https(ARGS_FROMWIRE) {
35*38bad3e5Sflorian 	REQUIRE(type == dns_rdatatype_https);
36*38bad3e5Sflorian 	REQUIRE(rdclass == dns_rdataclass_in);
37*38bad3e5Sflorian 	return (fromwire_in_svcb_https(rdclass, type, source, dctx, options,
38*38bad3e5Sflorian 	    target));
39*38bad3e5Sflorian }
40*38bad3e5Sflorian 
41*38bad3e5Sflorian static inline isc_result_t
towire_in_https(ARGS_TOWIRE)42*38bad3e5Sflorian towire_in_https(ARGS_TOWIRE) {
43*38bad3e5Sflorian 	REQUIRE(rdata->type == dns_rdatatype_https);
44*38bad3e5Sflorian 	REQUIRE(rdata->length != 0);
45*38bad3e5Sflorian 
46*38bad3e5Sflorian 	return (towire_in_svcb_https(rdata, cctx, target));
47*38bad3e5Sflorian }
48*38bad3e5Sflorian 
49*38bad3e5Sflorian 
50*38bad3e5Sflorian #endif	/* RDATA_IN_1_HTTPS_65_C */
51