Annotation of embedaddon/dhcp/omapip/toisc.c, revision 1.1
1.1 ! misho 1: /* toisc.c
! 2:
! 3: Convert non-ISC result codes to ISC result codes. */
! 4:
! 5: /*
! 6: * Copyright (c) 2004,2007,2009 by Internet Systems Consortium, Inc. ("ISC")
! 7: * Copyright (c) 2001-2003 by Internet Software Consortium
! 8: *
! 9: * Permission to use, copy, modify, and distribute this software for any
! 10: * purpose with or without fee is hereby granted, provided that the above
! 11: * copyright notice and this permission notice appear in all copies.
! 12: *
! 13: * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
! 14: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 15: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
! 16: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 17: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 18: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
! 19: * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 20: *
! 21: * Internet Systems Consortium, Inc.
! 22: * 950 Charter Street
! 23: * Redwood City, CA 94063
! 24: * <info@isc.org>
! 25: * https://www.isc.org/
! 26: *
! 27: * This software has been written for Internet Systems Consortium
! 28: * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
! 29: * To learn more about Internet Systems Consortium, see
! 30: * ``https://www.isc.org/''. To learn more about Vixie Enterprises,
! 31: * see ``http://www.vix.com''. To learn more about Nominum, Inc., see
! 32: * ``http://www.nominum.com''.
! 33: */
! 34:
! 35: #include "dhcpd.h"
! 36:
! 37: #include <omapip/omapip_p.h>
! 38: #include "arpa/nameser.h"
! 39: #include "minires/minires.h"
! 40:
! 41: #include <errno.h>
! 42:
! 43: isc_result_t ns_rcode_to_isc (int nsr)
! 44: {
! 45: switch (nsr) {
! 46: case ns_r_noerror:
! 47: return ISC_R_SUCCESS;
! 48:
! 49: case ns_r_formerr:
! 50: return ISC_R_FORMERR;
! 51:
! 52: case ns_r_servfail:
! 53: return ISC_R_SERVFAIL;
! 54:
! 55: case ns_r_nxdomain:
! 56: return ISC_R_NXDOMAIN;
! 57:
! 58: case ns_r_notimpl:
! 59: return ISC_R_NOTIMPL;
! 60:
! 61: case ns_r_refused:
! 62: return ISC_R_REFUSED;
! 63:
! 64: case ns_r_yxdomain:
! 65: return ISC_R_YXDOMAIN;
! 66:
! 67: case ns_r_yxrrset:
! 68: return ISC_R_YXRRSET;
! 69:
! 70: case ns_r_nxrrset:
! 71: return ISC_R_NXRRSET;
! 72:
! 73: case ns_r_notauth:
! 74: return ISC_R_NOTAUTH;
! 75:
! 76: case ns_r_notzone:
! 77: return ISC_R_NOTZONE;
! 78:
! 79: case ns_r_badsig:
! 80: return ISC_R_BADSIG;
! 81:
! 82: case ns_r_badkey:
! 83: return ISC_R_BADKEY;
! 84:
! 85: case ns_r_badtime:
! 86: return ISC_R_BADTIME;
! 87:
! 88: default:
! 89: ;
! 90: }
! 91: return ISC_R_UNEXPECTED;
! 92: }
! 93:
! 94: isc_result_t uerr2isc (int err)
! 95: {
! 96: switch (err) {
! 97: case EPERM:
! 98: return ISC_R_NOPERM;
! 99:
! 100: case ENOENT:
! 101: return ISC_R_NOTFOUND;
! 102:
! 103: case ESRCH:
! 104: return ISC_R_NOTFOUND;
! 105:
! 106: case EIO:
! 107: return ISC_R_IOERROR;
! 108:
! 109: case ENXIO:
! 110: return ISC_R_NOTFOUND;
! 111:
! 112: case E2BIG:
! 113: return ISC_R_NOSPACE;
! 114:
! 115: case ENOEXEC:
! 116: return ISC_R_FORMERR;
! 117:
! 118: case ECHILD:
! 119: return ISC_R_NOTFOUND;
! 120:
! 121: case ENOMEM:
! 122: return ISC_R_NOMEMORY;
! 123:
! 124: case EACCES:
! 125: return ISC_R_NOPERM;
! 126:
! 127: case EFAULT:
! 128: return ISC_R_INVALIDARG;
! 129:
! 130: case EEXIST:
! 131: return ISC_R_EXISTS;
! 132:
! 133: case EINVAL:
! 134: return ISC_R_INVALIDARG;
! 135:
! 136: case ENOTTY:
! 137: return ISC_R_INVALIDARG;
! 138:
! 139: case EFBIG:
! 140: return ISC_R_NOSPACE;
! 141:
! 142: case ENOSPC:
! 143: return ISC_R_NOSPACE;
! 144:
! 145: case EROFS:
! 146: return ISC_R_NOPERM;
! 147:
! 148: case EMLINK:
! 149: return ISC_R_NOSPACE;
! 150:
! 151: case EPIPE:
! 152: return ISC_R_NOTCONNECTED;
! 153:
! 154: case EINPROGRESS:
! 155: return ISC_R_ALREADYRUNNING;
! 156:
! 157: case EALREADY:
! 158: return ISC_R_ALREADYRUNNING;
! 159:
! 160: case ENOTSOCK:
! 161: return ISC_R_INVALIDFILE;
! 162:
! 163: case EDESTADDRREQ:
! 164: return ISC_R_DESTADDRREQ;
! 165:
! 166: case EMSGSIZE:
! 167: return ISC_R_NOSPACE;
! 168:
! 169: case EPROTOTYPE:
! 170: return ISC_R_INVALIDARG;
! 171:
! 172: case ENOPROTOOPT:
! 173: return ISC_R_NOTIMPLEMENTED;
! 174:
! 175: case EPROTONOSUPPORT:
! 176: return ISC_R_NOTIMPLEMENTED;
! 177:
! 178: case ESOCKTNOSUPPORT:
! 179: return ISC_R_NOTIMPLEMENTED;
! 180:
! 181: case EOPNOTSUPP:
! 182: return ISC_R_NOTIMPLEMENTED;
! 183:
! 184: case EPFNOSUPPORT:
! 185: return ISC_R_NOTIMPLEMENTED;
! 186:
! 187: case EAFNOSUPPORT:
! 188: return ISC_R_NOTIMPLEMENTED;
! 189:
! 190: case EADDRINUSE:
! 191: return ISC_R_ADDRINUSE;
! 192:
! 193: case EADDRNOTAVAIL:
! 194: return ISC_R_ADDRNOTAVAIL;
! 195:
! 196: case ENETDOWN:
! 197: return ISC_R_NETDOWN;
! 198:
! 199: case ENETUNREACH:
! 200: return ISC_R_NETUNREACH;
! 201:
! 202: case ECONNABORTED:
! 203: return ISC_R_TIMEDOUT;
! 204:
! 205: case ECONNRESET:
! 206: return ISC_R_CONNRESET;
! 207:
! 208: case ENOBUFS:
! 209: return ISC_R_NOSPACE;
! 210:
! 211: case EISCONN:
! 212: return ISC_R_ALREADYRUNNING;
! 213:
! 214: case ENOTCONN:
! 215: return ISC_R_NOTCONNECTED;
! 216:
! 217: case ESHUTDOWN:
! 218: return ISC_R_SHUTTINGDOWN;
! 219:
! 220: case ETIMEDOUT:
! 221: return ISC_R_TIMEDOUT;
! 222:
! 223: case ECONNREFUSED:
! 224: return ISC_R_CONNREFUSED;
! 225:
! 226: case EHOSTDOWN:
! 227: return ISC_R_HOSTDOWN;
! 228:
! 229: case EHOSTUNREACH:
! 230: return ISC_R_HOSTUNREACH;
! 231:
! 232: #ifdef EDQUOT
! 233: case EDQUOT:
! 234: return ISC_R_QUOTA;
! 235: #endif
! 236:
! 237: #ifdef EBADRPC
! 238: case EBADRPC:
! 239: return ISC_R_NOTIMPLEMENTED;
! 240: #endif
! 241:
! 242: #ifdef ERPCMISMATCH
! 243: case ERPCMISMATCH:
! 244: return ISC_R_VERSIONMISMATCH;
! 245: #endif
! 246:
! 247: #ifdef EPROGMISMATCH
! 248: case EPROGMISMATCH:
! 249: return ISC_R_VERSIONMISMATCH;
! 250: #endif
! 251:
! 252: #ifdef EAUTH
! 253: case EAUTH:
! 254: return ISC_R_NOTAUTH;
! 255: #endif
! 256:
! 257: #ifdef ENEEDAUTH
! 258: case ENEEDAUTH:
! 259: return ISC_R_NOTAUTH;
! 260: #endif
! 261:
! 262: #ifdef EOVERFLOW
! 263: case EOVERFLOW:
! 264: return ISC_R_NOSPACE;
! 265: #endif
! 266: }
! 267: return ISC_R_UNEXPECTED;
! 268: }
! 269:
! 270: ns_rcode isc_rcode_to_ns (isc_result_t isc)
! 271: {
! 272: switch (isc) {
! 273: case ISC_R_SUCCESS:
! 274: return ns_r_noerror;
! 275:
! 276: case ISC_R_FORMERR:
! 277: return ns_r_formerr;
! 278:
! 279: case ISC_R_SERVFAIL:
! 280: return ns_r_servfail;
! 281:
! 282: case ISC_R_NXDOMAIN:
! 283: return ns_r_nxdomain;
! 284:
! 285: case ISC_R_NOTIMPL:
! 286: return ns_r_notimpl;
! 287:
! 288: case ISC_R_REFUSED:
! 289: return ns_r_refused;
! 290:
! 291: case ISC_R_YXDOMAIN:
! 292: return ns_r_yxdomain;
! 293:
! 294: case ISC_R_YXRRSET:
! 295: return ns_r_yxrrset;
! 296:
! 297: case ISC_R_NXRRSET:
! 298: return ns_r_nxrrset;
! 299:
! 300: case ISC_R_NOTAUTH:
! 301: return ns_r_notauth;
! 302:
! 303: case ISC_R_NOTZONE:
! 304: return ns_r_notzone;
! 305:
! 306: case ISC_R_BADSIG:
! 307: return ns_r_badsig;
! 308:
! 309: case ISC_R_BADKEY:
! 310: return ns_r_badkey;
! 311:
! 312: case ISC_R_BADTIME:
! 313: return ns_r_badtime;
! 314:
! 315: default:
! 316: ;
! 317: }
! 318: return ns_r_servfail;
! 319: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>