1/*	$NetBSD: result.h,v 1.4 2022/04/03 01:10:59 christos Exp $	*/
2
3/* result.h
4 */
5
6/*
7 * Copyright (C) 2009-2022 Internet Systems Consortium, Inc. ("ISC")
8 *
9 * This Source Code Form is subject to the terms of the Mozilla Public
10 * License, v. 2.0. If a copy of the MPL was not distributed with this
11 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 *
13 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
14 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15 * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
16 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
18 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 *
21 *   Internet Systems Consortium, Inc.
22 *   PO Box 360
23 *   Newmarket, NH 03857 USA
24 *   <info@isc.org>
25 *   https://www.isc.org/
26 */
27
28#ifndef DHCP_RESULT_H
29#define DHCP_RESULT_H 1
30
31#include <isc/lang.h>
32#include <isc/resultclass.h>
33#include <isc/types.h>
34
35#include <isc/result.h>
36
37/*
38 * DHCP result codes
39 */
40
41/*
42 * In the previous code the results started at 36
43 * rather than ISC_RESULTCLASS_DHCP + 0
44 * ISC_R_NOTCONNECTED was + 4 (40), it has been superseded by the isc version
45 */
46
47#define DHCP_R_HOSTUNKNOWN	(ISC_RESULTCLASS_DHCP + 0)
48#define DHCP_R_VERSIONMISMATCH	(ISC_RESULTCLASS_DHCP + 1)
49#define DHCP_R_PROTOCOLERROR	(ISC_RESULTCLASS_DHCP + 2)
50#define DHCP_R_INVALIDARG	(ISC_RESULTCLASS_DHCP + 3)
51#define DHCP_R_NOTYET		(ISC_RESULTCLASS_DHCP + 4)
52#define DHCP_R_UNCHANGED	(ISC_RESULTCLASS_DHCP + 5)
53#define DHCP_R_MULTIPLE		(ISC_RESULTCLASS_DHCP + 6)
54#define DHCP_R_KEYCONFLICT	(ISC_RESULTCLASS_DHCP + 7)
55#define DHCP_R_BADPARSE		(ISC_RESULTCLASS_DHCP + 8)
56#define DHCP_R_NOKEYS		(ISC_RESULTCLASS_DHCP + 9)
57#define DHCP_R_KEY_UNKNOWN	(ISC_RESULTCLASS_DHCP + 10)
58#define DHCP_R_INVALIDKEY	(ISC_RESULTCLASS_DHCP + 11)
59#define DHCP_R_INCOMPLETE	(ISC_RESULTCLASS_DHCP + 12)
60#define DHCP_R_FORMERR		(ISC_RESULTCLASS_DHCP + 13)
61#define DHCP_R_SERVFAIL		(ISC_RESULTCLASS_DHCP + 14)
62#define DHCP_R_NXDOMAIN		(ISC_RESULTCLASS_DHCP + 15)
63#define DHCP_R_NOTIMPL		(ISC_RESULTCLASS_DHCP + 16)
64#define DHCP_R_REFUSED		(ISC_RESULTCLASS_DHCP + 17)
65#define DHCP_R_YXDOMAIN		(ISC_RESULTCLASS_DHCP + 18)
66#define DHCP_R_YXRRSET		(ISC_RESULTCLASS_DHCP + 19)
67#define DHCP_R_NXRRSET		(ISC_RESULTCLASS_DHCP + 20)
68#define DHCP_R_NOTAUTH		(ISC_RESULTCLASS_DHCP + 21)
69#define DHCP_R_NOTZONE		(ISC_RESULTCLASS_DHCP + 22)
70#define DHCP_R_BADSIG		(ISC_RESULTCLASS_DHCP + 23)
71#define DHCP_R_BADKEY		(ISC_RESULTCLASS_DHCP + 24)
72#define DHCP_R_BADTIME		(ISC_RESULTCLASS_DHCP + 25)
73#define DHCP_R_NOROOTZONE	(ISC_RESULTCLASS_DHCP + 26)
74#define DHCP_R_DESTADDRREQ	(ISC_RESULTCLASS_DHCP + 27)
75#define DHCP_R_CROSSZONE	(ISC_RESULTCLASS_DHCP + 28)
76#define DHCP_R_NO_TSIG		(ISC_RESULTCLASS_DHCP + 29)
77#define DHCP_R_NOT_EQUAL	(ISC_RESULTCLASS_DHCP + 30)
78#define DHCP_R_CONNRESET	(ISC_RESULTCLASS_DHCP + 31)
79#define DHCP_R_UNKNOWNATTRIBUTE	(ISC_RESULTCLASS_DHCP + 32)
80
81#define DHCP_R_NRESULTS 	33	/*%< Number of results */
82
83// Included for historical reasons, these should be removed as
84// soon as reasonable
85#ifdef INCLUDE_OLD_DHCP_ISC_ERROR_CODES
86#define ISC_R_HOSTUNKNOWN	DHCP_R_HOSTUNKNOWN
87#define ISC_R_VERSIONMISMATCH	DHCP_R_VERSIONMISMATCH
88#define ISC_R_PROTOCOLERROR	DHCP_R_PROTOCOLERROR
89#define ISC_R_INVALIDARG	DHCP_R_INVALIDARG
90#define ISC_R_NOTYET		DHCP_R_NOTYET
91#define ISC_R_UNCHANGED		DHCP_R_UNCHANGED
92#define ISC_R_KEYCONFLICT	DHCP_R_KEYCONFLICT
93#define ISC_R_BADPARSE		DHCP_R_BADPARSE
94#define ISC_R_NOKEYS		DHCP_R_NOKEYS
95#define ISC_R_KEY_UNKNOWN	DHCP_R_KEY_UNKNOWN
96#define ISC_R_INVALIDKEY	DHCP_R_INVALIDKEY
97#define ISC_R_INCOMPLETE	DHCP_R_INCOMPLETE
98#define ISC_R_FORMERR		DHCP_R_FORMERR
99#define ISC_R_SERVFAIL		DHCP_R_SERVFAIL
100#define ISC_R_NXDOMAIN		DHCP_R_NXDOMAIN
101#define ISC_R_NOTIMPL		DHCP_R_NOTIMPL
102#define ISC_R_REFUSED		DHCP_R_REFUSED
103#define ISC_R_YXDOMAIN		DHCP_R_YXDOMAIN
104#define ISC_R_YXRRSET		DHCP_R_YXRRSET
105#define ISC_R_NXRRSET		DHCP_R_NXRRSET
106#define ISC_R_NOTAUTH		DHCP_R_NOTAUTH
107#define ISC_R_NOTZONE		DHCP_R_NOTZONE
108#define ISC_R_BADSIG		DHCP_R_BADSIG
109#define ISC_R_BADKEY		DHCP_R_BADKEY
110#define ISC_R_BADTIME		DHCP_R_BADTIME
111#define ISC_R_NOROOTZONE	DHCP_R_NOROOTZONE
112#define ISC_R_DESTADDRREQ	DHCP_R_DESTADDRREQ
113#define ISC_R_CROSSZONE		DHCP_R_CROSSZONE
114#define ISC_R_NO_TSIG		DHCP_R_NO_TSIG
115#define ISC_R_NOT_EQUAL		DHCP_R_NOT_EQUAL
116#define ISC_R_CONNRESET		DHCP_R_CONNRESET
117#define ISC_R_UNKNOWNATTRIBUTE	DHCP_R_UNKNOWNATTRIBUTE
118#endif
119
120isc_result_t
121dhcp_result_register(void);
122
123#endif /* DHCP_RESULT_H */
124