null_10.c 3.06 KB
Newer Older
1
/*
2
 * Copyright (C) 1998, 1999 Internet Software Consortium.
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
 * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
 * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 * SOFTWARE.
 */

18
 /* $Id: null_10.c,v 1.9 1999/05/07 03:24:10 marka Exp $ */
Mark Andrews's avatar
Mark Andrews committed
19

20
21
#ifndef RDATA_GENERIC_NULL_10_C
#define RDATA_GENERIC_NULL_10_C
Mark Andrews's avatar
Mark Andrews committed
22

23
24
25
static dns_result_t
fromtext_null(dns_rdataclass_t class, dns_rdatatype_t type,
	      isc_lex_t *lexer, dns_name_t *origin,
Mark Andrews's avatar
Mark Andrews committed
26
27
	      isc_boolean_t downcase, isc_buffer_t *target)
{
Mark Andrews's avatar
Mark Andrews committed
28

Mark Andrews's avatar
Mark Andrews committed
29
	REQUIRE(type == 10);
Mark Andrews's avatar
Mark Andrews committed
30

31
32
33
34
35
36
37
38
39
40
41
42
43
44
	class = class;		/*unused*/
	type = type;		/*unused*/
	lexer = lexer;		/*unused*/
	origin = origin;	/*unused*/
	downcase = downcase;	/*unused*/
	target = target;	/*unused*/

	return (DNS_R_SUCCESS);
}

static dns_result_t
totext_null(dns_rdata_t *rdata, dns_name_t *origin, isc_buffer_t *target) {
	

Mark Andrews's avatar
Mark Andrews committed
45
46
	REQUIRE(rdata->type == 10);
	REQUIRE(rdata->length == 0);
Mark Andrews's avatar
Mark Andrews committed
47

48
49
50
51
52
53
54
55
56
	origin = origin;	/*unused*/
	target = target;	/*unused*/

	return (DNS_R_SUCCESS);
}

static dns_result_t
fromwire_null(dns_rdataclass_t class, dns_rdatatype_t type,
	      isc_buffer_t *source, dns_decompress_t *dctx,
Mark Andrews's avatar
Mark Andrews committed
57
58
	      isc_boolean_t downcase, isc_buffer_t *target)
{
59

Mark Andrews's avatar
Mark Andrews committed
60
	REQUIRE(type == 10);
Mark Andrews's avatar
Mark Andrews committed
61

62
63
64
65
66
67
68
69
70
71
72
73
	class = class;		/*unused*/
	dctx = dctx;		/*unused*/
	downcase = downcase;	/*unused*/
	target = target;	/*unused*/
	source = source;	/*unused*/

	return (DNS_R_SUCCESS);
}

static dns_result_t
towire_null(dns_rdata_t *rdata, dns_compress_t *cctx, isc_buffer_t *target) {

Mark Andrews's avatar
Mark Andrews committed
74
	REQUIRE(rdata->type == 10);
Mark Andrews's avatar
Mark Andrews committed
75

76
77
78
79
80
81
82
83
84
	cctx = cctx;		/*unused*/
	target = target;	/*unused*/

	return (DNS_R_SUCCESS);
}

static int
compare_null(dns_rdata_t *rdata1, dns_rdata_t *rdata2) {

Mark Andrews's avatar
Mark Andrews committed
85
86
87
	REQUIRE(rdata1->type == rdata1->type);
	REQUIRE(rdata1->class == rdata2->class);
	REQUIRE(rdata1->type == 10);
88
89
90
91
92
93

	return (0);
}

static dns_result_t
fromstruct_null(dns_rdataclass_t class, dns_rdatatype_t type, void *source,
Mark Andrews's avatar
Mark Andrews committed
94
95
	        isc_buffer_t *target)
{
Mark Andrews's avatar
Mark Andrews committed
96

Mark Andrews's avatar
Mark Andrews committed
97
	REQUIRE(type == 10);
Mark Andrews's avatar
Mark Andrews committed
98
99
100

	class = class;	/*unused*/

101
102
103
104
105
106
107
	source = source;
	target = target;

	return (DNS_R_NOTIMPLEMENTED);
}

static dns_result_t
108
109
tostruct_null(dns_rdata_t *rdata, void *target, isc_mem_t *mctx) {
	dns_rdata_null_t *null = target;
Mark Andrews's avatar
Mark Andrews committed
110

Mark Andrews's avatar
Mark Andrews committed
111
	REQUIRE(rdata->type == 10);
112
	REQUIRE(target != NULL);
Mark Andrews's avatar
Mark Andrews committed
113

114
	mctx = mctx;
115

116
117
118
119
120
121
122
123
124
125
126
	null->common.rdtype = rdata->type;
	null->common.rdclass = rdata->class;
	ISC_LINK_INIT(&null->common, link);

	return (DNS_R_SUCCESS);
}

static void
freestruct_null(void *source) {
	REQUIRE(source != NULL);
	/* No action required. */
127
}
128
#endif	/* RDATA_GENERIC_NULL_10_C */