/* $NetBSD: result.h,v 1.4 2022/04/03 01:10:59 christos Exp $ */
/* result.h
*/
/*
* Copyright (C) 2009-2022 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC 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.
*
* Internet Systems Consortium, Inc.
* PO Box 360
* Newmarket, NH 03857 USA
* <info@isc.org>
* https://www.isc.org/
*/
#ifndef DHCP_RESULT_H
#define DHCP_RESULT_H 1
#include <isc/lang.h>
#include <isc/resultclass.h>
#include <isc/types.h>
#include <isc/result.h>
/*
* DHCP result codes
*/
/*
* In the previous code the results started at 36
* rather than ISC_RESULTCLASS_DHCP + 0
* ISC_R_NOTCONNECTED was + 4 (40), it has been superseded by the isc version
*/
#define DHCP_R_HOSTUNKNOWN (ISC_RESULTCLASS_DHCP + 0)
#define DHCP_R_VERSIONMISMATCH (ISC_RESULTCLASS_DHCP + 1)
#define DHCP_R_PROTOCOLERROR (ISC_RESULTCLASS_DHCP + 2)
#define DHCP_R_INVALIDARG (ISC_RESULTCLASS_DHCP + 3)
#define DHCP_R_NOTYET (ISC_RESULTCLASS_DHCP + 4)
#define DHCP_R_UNCHANGED (ISC_RESULTCLASS_DHCP + 5)
#define DHCP_R_MULTIPLE (ISC_RESULTCLASS_DHCP + 6)
#define DHCP_R_KEYCONFLICT (ISC_RESULTCLASS_DHCP + 7)
#define DHCP_R_BADPARSE (ISC_RESULTCLASS_DHCP + 8)
#define DHCP_R_NOKEYS (ISC_RESULTCLASS_DHCP + 9)
#define DHCP_R_KEY_UNKNOWN (ISC_RESULTCLASS_DHCP + 10)
#define DHCP_R_INVALIDKEY (ISC_RESULTCLASS_DHCP + 11)
#define DHCP_R_INCOMPLETE (ISC_RESULTCLASS_DHCP + 12)
#define DHCP_R_FORMERR (ISC_RESULTCLASS_DHCP + 13)
#define DHCP_R_SERVFAIL (ISC_RESULTCLASS_DHCP + 14)
#define DHCP_R_NXDOMAIN (ISC_RESULTCLASS_DHCP + 15)
#define DHCP_R_NOTIMPL (ISC_RESULTCLASS_DHCP + 16)
#define DHCP_R_REFUSED (ISC_RESULTCLASS_DHCP + 17)
#define DHCP_R_YXDOMAIN (ISC_RESULTCLASS_DHCP + 18)
#define DHCP_R_YXRRSET (ISC_RESULTCLASS_DHCP + 19)
#define DHCP_R_NXRRSET (ISC_RESULTCLASS_DHCP + 20)
#define DHCP_R_NOTAUTH (ISC_RESULTCLASS_DHCP + 21)
#define DHCP_R_NOTZONE (ISC_RESULTCLASS_DHCP + 22)
#define DHCP_R_BADSIG (ISC_RESULTCLASS_DHCP + 23)
#define DHCP_R_BADKEY (ISC_RESULTCLASS_DHCP + 24)
#define DHCP_R_BADTIME (ISC_RESULTCLASS_DHCP + 25)
#define DHCP_R_NOROOTZONE (ISC_RESULTCLASS_DHCP + 26)
#define DHCP_R_DESTADDRREQ (ISC_RESULTCLASS_DHCP + 27)
#define DHCP_R_CROSSZONE (ISC_RESULTCLASS_DHCP + 28)
#define DHCP_R_NO_TSIG (ISC_RESULTCLASS_DHCP + 29)
#define DHCP_R_NOT_EQUAL (ISC_RESULTCLASS_DHCP + 30)
#define DHCP_R_CONNRESET (ISC_RESULTCLASS_DHCP + 31)
#define DHCP_R_UNKNOWNATTRIBUTE (ISC_RESULTCLASS_DHCP + 32)
#define DHCP_R_NRESULTS 33 /*%< Number of results */
// Included for historical reasons, these should be removed as
// soon as reasonable
#ifdef INCLUDE_OLD_DHCP_ISC_ERROR_CODES
#define ISC_R_HOSTUNKNOWN DHCP_R_HOSTUNKNOWN
#define ISC_R_VERSIONMISMATCH DHCP_R_VERSIONMISMATCH
#define ISC_R_PROTOCOLERROR DHCP_R_PROTOCOLERROR
#define ISC_R_INVALIDARG DHCP_R_INVALIDARG
#define ISC_R_NOTYET DHCP_R_NOTYET
#define ISC_R_UNCHANGED DHCP_R_UNCHANGED
#define ISC_R_KEYCONFLICT DHCP_R_KEYCONFLICT
#define ISC_R_BADPARSE DHCP_R_BADPARSE
#define ISC_R_NOKEYS DHCP_R_NOKEYS
#define ISC_R_KEY_UNKNOWN DHCP_R_KEY_UNKNOWN
#define ISC_R_INVALIDKEY DHCP_R_INVALIDKEY
#define ISC_R_INCOMPLETE DHCP_R_INCOMPLETE
#define ISC_R_FORMERR DHCP_R_FORMERR
#define ISC_R_SERVFAIL DHCP_R_SERVFAIL
#define ISC_R_NXDOMAIN DHCP_R_NXDOMAIN
#define ISC_R_NOTIMPL DHCP_R_NOTIMPL
#define ISC_R_REFUSED DHCP_R_REFUSED
#define ISC_R_YXDOMAIN DHCP_R_YXDOMAIN
#define ISC_R_YXRRSET DHCP_R_YXRRSET
#define ISC_R_NXRRSET DHCP_R_NXRRSET
#define ISC_R_NOTAUTH DHCP_R_NOTAUTH
#define ISC_R_NOTZONE DHCP_R_NOTZONE
#define ISC_R_BADSIG DHCP_R_BADSIG
#define ISC_R_BADKEY DHCP_R_BADKEY
#define ISC_R_BADTIME DHCP_R_BADTIME
#define ISC_R_NOROOTZONE DHCP_R_NOROOTZONE
#define ISC_R_DESTADDRREQ DHCP_R_DESTADDRREQ
#define ISC_R_CROSSZONE DHCP_R_CROSSZONE
#define ISC_R_NO_TSIG DHCP_R_NO_TSIG
#define ISC_R_NOT_EQUAL DHCP_R_NOT_EQUAL
#define ISC_R_CONNRESET DHCP_R_CONNRESET
#define ISC_R_UNKNOWNATTRIBUTE DHCP_R_UNKNOWNATTRIBUTE
#endif
isc_result_t
dhcp_result_register(void);
#endif /* DHCP_RESULT_H */