]> git.ipfire.org Git - thirdparty/dhcp.git/blob - omapip/toisc.c
[#189] ISC address updated
[thirdparty/dhcp.git] / omapip / toisc.c
1 /* toisc.c
2
3 Convert non-ISC result codes to ISC result codes. */
4
5 /*
6 * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
7 * Copyright (c) 2001-2003 by Internet Software Consortium
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
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 * PO Box 360
23 * Newmarket, NH 03857 USA
24 * <info@isc.org>
25 * https://www.isc.org/
26 *
27 */
28
29 #include "dhcpd.h"
30
31 #include <omapip/omapip_p.h>
32 #include "arpa/nameser.h"
33 #include "ns_name.h"
34
35 #include <errno.h>
36
37 isc_result_t uerr2isc (int err)
38 {
39 switch (err) {
40 case EPERM:
41 return ISC_R_NOPERM;
42
43 case ENOENT:
44 return ISC_R_NOTFOUND;
45
46 case ESRCH:
47 return ISC_R_NOTFOUND;
48
49 case EIO:
50 return ISC_R_IOERROR;
51
52 case ENXIO:
53 return ISC_R_NOTFOUND;
54
55 case E2BIG:
56 return ISC_R_NOSPACE;
57
58 case ENOEXEC:
59 return DHCP_R_FORMERR;
60
61 case ECHILD:
62 return ISC_R_NOTFOUND;
63
64 case ENOMEM:
65 return ISC_R_NOMEMORY;
66
67 case EACCES:
68 return ISC_R_NOPERM;
69
70 case EFAULT:
71 return DHCP_R_INVALIDARG;
72
73 case EEXIST:
74 return ISC_R_EXISTS;
75
76 case EINVAL:
77 return DHCP_R_INVALIDARG;
78
79 case ENOTTY:
80 return DHCP_R_INVALIDARG;
81
82 case EFBIG:
83 return ISC_R_NOSPACE;
84
85 case ENOSPC:
86 return ISC_R_NOSPACE;
87
88 case EROFS:
89 return ISC_R_NOPERM;
90
91 case EMLINK:
92 return ISC_R_NOSPACE;
93
94 case EPIPE:
95 return ISC_R_NOTCONNECTED;
96
97 case EINPROGRESS:
98 return ISC_R_ALREADYRUNNING;
99
100 case EALREADY:
101 return ISC_R_ALREADYRUNNING;
102
103 case ENOTSOCK:
104 return ISC_R_INVALIDFILE;
105
106 case EDESTADDRREQ:
107 return DHCP_R_DESTADDRREQ;
108
109 case EMSGSIZE:
110 return ISC_R_NOSPACE;
111
112 case EPROTOTYPE:
113 return DHCP_R_INVALIDARG;
114
115 case ENOPROTOOPT:
116 return ISC_R_NOTIMPLEMENTED;
117
118 case EPROTONOSUPPORT:
119 return ISC_R_NOTIMPLEMENTED;
120
121 case ESOCKTNOSUPPORT:
122 return ISC_R_NOTIMPLEMENTED;
123
124 case EOPNOTSUPP:
125 return ISC_R_NOTIMPLEMENTED;
126
127 case EPFNOSUPPORT:
128 return ISC_R_NOTIMPLEMENTED;
129
130 case EAFNOSUPPORT:
131 return ISC_R_NOTIMPLEMENTED;
132
133 case EADDRINUSE:
134 return ISC_R_ADDRINUSE;
135
136 case EADDRNOTAVAIL:
137 return ISC_R_ADDRNOTAVAIL;
138
139 case ENETDOWN:
140 return ISC_R_NETDOWN;
141
142 case ENETUNREACH:
143 return ISC_R_NETUNREACH;
144
145 case ECONNABORTED:
146 return ISC_R_TIMEDOUT;
147
148 case ECONNRESET:
149 return DHCP_R_CONNRESET;
150
151 case ENOBUFS:
152 return ISC_R_NOSPACE;
153
154 case EISCONN:
155 return ISC_R_ALREADYRUNNING;
156
157 case ENOTCONN:
158 return ISC_R_NOTCONNECTED;
159
160 case ESHUTDOWN:
161 return ISC_R_SHUTTINGDOWN;
162
163 case ETIMEDOUT:
164 return ISC_R_TIMEDOUT;
165
166 case ECONNREFUSED:
167 return ISC_R_CONNREFUSED;
168
169 case EHOSTDOWN:
170 return ISC_R_HOSTDOWN;
171
172 case EHOSTUNREACH:
173 return ISC_R_HOSTUNREACH;
174
175 #ifdef EDQUOT
176 case EDQUOT:
177 return ISC_R_QUOTA;
178 #endif
179
180 #ifdef EBADRPC
181 case EBADRPC:
182 return ISC_R_NOTIMPLEMENTED;
183 #endif
184
185 #ifdef ERPCMISMATCH
186 case ERPCMISMATCH:
187 return DHCP_R_VERSIONMISMATCH;
188 #endif
189
190 #ifdef EPROGMISMATCH
191 case EPROGMISMATCH:
192 return DHCP_R_VERSIONMISMATCH;
193 #endif
194
195 #ifdef EAUTH
196 case EAUTH:
197 return DHCP_R_NOTAUTH;
198 #endif
199
200 #ifdef ENEEDAUTH
201 case ENEEDAUTH:
202 return DHCP_R_NOTAUTH;
203 #endif
204
205 #ifdef EOVERFLOW
206 case EOVERFLOW:
207 return ISC_R_NOSPACE;
208 #endif
209 }
210 return ISC_R_UNEXPECTED;
211 }