1 | /*␊ |
2 | * Copyright (c) 2000-2012 Apple, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. The rights granted to you under the License␊ |
10 | * may not be used to create, or enable the creation or redistribution of,␊ |
11 | * unlawful or unlicensed copies of an Apple operating system, or to␊ |
12 | * circumvent, violate, or enable the circumvention or violation of, any␊ |
13 | * terms of an Apple operating system software license agreement.␊ |
14 | * ␊ |
15 | * Please obtain a copy of the License at␊ |
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.␊ |
17 | * ␊ |
18 | * The Original Code and all software distributed under the License are␊ |
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
23 | * Please see the License for the specific language governing rights and␊ |
24 | * limitations under the License.␊ |
25 | * ␊ |
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@␊ |
27 | */␊ |
28 | /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */␊ |
29 | /*␊ |
30 | * Copyright (c) 1982, 1986, 1989, 1993␊ |
31 | *␉The Regents of the University of California. All rights reserved.␊ |
32 | * (c) UNIX System Laboratories, Inc.␊ |
33 | * All or some portions of this file are derived from material licensed␊ |
34 | * to the University of California by American Telephone and Telegraph␊ |
35 | * Co. or Unix System Laboratories, Inc. and are reproduced herein with␊ |
36 | * the permission of UNIX System Laboratories, Inc.␊ |
37 | *␊ |
38 | * Redistribution and use in source and binary forms, with or without␊ |
39 | * modification, are permitted provided that the following conditions␊ |
40 | * are met:␊ |
41 | * 1. Redistributions of source code must retain the above copyright␊ |
42 | * notice, this list of conditions and the following disclaimer.␊ |
43 | * 2. Redistributions in binary form must reproduce the above copyright␊ |
44 | * notice, this list of conditions and the following disclaimer in the␊ |
45 | * documentation and/or other materials provided with the distribution.␊ |
46 | * 3. All advertising materials mentioning features or use of this software␊ |
47 | * must display the following acknowledgement:␊ |
48 | *␉This product includes software developed by the University of␊ |
49 | *␉California, Berkeley and its contributors.␊ |
50 | * 4. Neither the name of the University nor the names of its contributors␊ |
51 | * may be used to endorse or promote products derived from this software␊ |
52 | * without specific prior written permission.␊ |
53 | *␊ |
54 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND␊ |
55 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE␊ |
56 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE␊ |
57 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE␊ |
58 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL␊ |
59 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS␊ |
60 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)␊ |
61 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT␊ |
62 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY␊ |
63 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF␊ |
64 | * SUCH DAMAGE.␊ |
65 | *␊ |
66 | *␉@(#)errno.h␉8.5 (Berkeley) 1/21/94␊ |
67 | */␊ |
68 | ␊ |
69 | #ifndef␉_SYS_ERRNO_H_␊ |
70 | #define␉_SYS_ERRNO_H_␊ |
71 | ␊ |
72 | #include <sys/cdefs.h>␊ |
73 | ␊ |
74 | __BEGIN_DECLS␊ |
75 | extern int * __error(void);␊ |
76 | #define errno (*__error())␊ |
77 | __END_DECLS␊ |
78 | ␊ |
79 | /*␊ |
80 | * Error codes␊ |
81 | */␊ |
82 | ␊ |
83 | #define␉EPERM␉␉1␉␉/* Operation not permitted */␊ |
84 | #define␉ENOENT␉␉2␉␉/* No such file or directory */␊ |
85 | #define␉ESRCH␉␉3␉␉/* No such process */␊ |
86 | #define␉EINTR␉␉4␉␉/* Interrupted system call */␊ |
87 | #define␉EIO␉␉5␉␉/* Input/output error */␊ |
88 | #define␉ENXIO␉␉6␉␉/* Device not configured */␊ |
89 | #define␉E2BIG␉␉7␉␉/* Argument list too long */␊ |
90 | #define␉ENOEXEC␉␉8␉␉/* Exec format error */␊ |
91 | #define␉EBADF␉␉9␉␉/* Bad file descriptor */␊ |
92 | #define␉ECHILD␉␉10␉␉/* No child processes */␊ |
93 | #define␉EDEADLK␉␉11␉␉/* Resource deadlock avoided */␊ |
94 | ␉␉␉␉␉/* 11 was EAGAIN */␊ |
95 | #define␉ENOMEM␉␉12␉␉/* Cannot allocate memory */␊ |
96 | #define␉EACCES␉␉13␉␉/* Permission denied */␊ |
97 | #define␉EFAULT␉␉14␉␉/* Bad address */␊ |
98 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
99 | #define␉ENOTBLK␉␉15␉␉/* Block device required */␊ |
100 | #endif␊ |
101 | #define␉EBUSY␉␉16␉␉/* Device / Resource busy */␊ |
102 | #define␉EEXIST␉␉17␉␉/* File exists */␊ |
103 | #define␉EXDEV␉␉18␉␉/* Cross-device link */␊ |
104 | #define␉ENODEV␉␉19␉␉/* Operation not supported by device */␊ |
105 | #define␉ENOTDIR␉␉20␉␉/* Not a directory */␊ |
106 | #define␉EISDIR␉␉21␉␉/* Is a directory */␊ |
107 | #define␉EINVAL␉␉22␉␉/* Invalid argument */␊ |
108 | #define␉ENFILE␉␉23␉␉/* Too many open files in system */␊ |
109 | #define␉EMFILE␉␉24␉␉/* Too many open files */␊ |
110 | #define␉ENOTTY␉␉25␉␉/* Inappropriate ioctl for device */␊ |
111 | #define␉ETXTBSY␉␉26␉␉/* Text file busy */␊ |
112 | #define␉EFBIG␉␉27␉␉/* File too large */␊ |
113 | #define␉ENOSPC␉␉28␉␉/* No space left on device */␊ |
114 | #define␉ESPIPE␉␉29␉␉/* Illegal seek */␊ |
115 | #define␉EROFS␉␉30␉␉/* Read-only file system */␊ |
116 | #define␉EMLINK␉␉31␉␉/* Too many links */␊ |
117 | #define␉EPIPE␉␉32␉␉/* Broken pipe */␊ |
118 | ␊ |
119 | /* math software */␊ |
120 | #define␉EDOM␉␉33␉␉/* Numerical argument out of domain */␊ |
121 | #define␉ERANGE␉␉34␉␉/* Result too large */␊ |
122 | ␊ |
123 | /* non-blocking and interrupt i/o */␊ |
124 | #define␉EAGAIN␉␉35␉␉/* Resource temporarily unavailable */␊ |
125 | #define␉EWOULDBLOCK␉EAGAIN␉␉/* Operation would block */␊ |
126 | #define␉EINPROGRESS␉36␉␉/* Operation now in progress */␊ |
127 | #define␉EALREADY␉37␉␉/* Operation already in progress */␊ |
128 | ␊ |
129 | /* ipc/network software -- argument errors */␊ |
130 | #define␉ENOTSOCK␉38␉␉/* Socket operation on non-socket */␊ |
131 | #define␉EDESTADDRREQ␉39␉␉/* Destination address required */␊ |
132 | #define␉EMSGSIZE␉40␉␉/* Message too long */␊ |
133 | #define␉EPROTOTYPE␉41␉␉/* Protocol wrong type for socket */␊ |
134 | #define␉ENOPROTOOPT␉42␉␉/* Protocol not available */␊ |
135 | #define␉EPROTONOSUPPORT␉43␉␉/* Protocol not supported */␊ |
136 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
137 | #define␉ESOCKTNOSUPPORT␉44␉␉/* Socket type not supported */␊ |
138 | #endif␊ |
139 | #define ENOTSUP␉␉45␉␉/* Operation not supported */␊ |
140 | #if !__DARWIN_UNIX03 && !defined(KERNEL)␊ |
141 | /*␊ |
142 | * This is the same for binary and source copmpatability, unless compiling␊ |
143 | * the kernel itself, or compiling __DARWIN_UNIX03; if compiling for the␊ |
144 | * kernel, the correct value will be returned. If compiling non-POSIX␊ |
145 | * source, the kernel return value will be converted by a stub in libc, and␊ |
146 | * if compiling source with __DARWIN_UNIX03, the conversion in libc is not␊ |
147 | * done, and the caller gets the expected (discrete) value.␊ |
148 | */␊ |
149 | #define␉EOPNOTSUPP␉ ENOTSUP␉/* Operation not supported on socket */␊ |
150 | #endif /* !__DARWIN_UNIX03 && !KERNEL */␊ |
151 | ␊ |
152 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
153 | #define␉EPFNOSUPPORT␉46␉␉/* Protocol family not supported */␊ |
154 | #endif␊ |
155 | #define␉EAFNOSUPPORT␉47␉␉/* Address family not supported by protocol family */␊ |
156 | #define␉EADDRINUSE␉48␉␉/* Address already in use */␊ |
157 | #define␉EADDRNOTAVAIL␉49␉␉/* Can't assign requested address */␊ |
158 | ␊ |
159 | /* ipc/network software -- operational errors */␊ |
160 | #define␉ENETDOWN␉50␉␉/* Network is down */␊ |
161 | #define␉ENETUNREACH␉51␉␉/* Network is unreachable */␊ |
162 | #define␉ENETRESET␉52␉␉/* Network dropped connection on reset */␊ |
163 | #define␉ECONNABORTED␉53␉␉/* Software caused connection abort */␊ |
164 | #define␉ECONNRESET␉54␉␉/* Connection reset by peer */␊ |
165 | #define␉ENOBUFS␉␉55␉␉/* No buffer space available */␊ |
166 | #define␉EISCONN␉␉56␉␉/* Socket is already connected */␊ |
167 | #define␉ENOTCONN␉57␉␉/* Socket is not connected */␊ |
168 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
169 | #define␉ESHUTDOWN␉58␉␉/* Can't send after socket shutdown */␊ |
170 | #define␉ETOOMANYREFS␉59␉␉/* Too many references: can't splice */␊ |
171 | #endif␊ |
172 | #define␉ETIMEDOUT␉60␉␉/* Operation timed out */␊ |
173 | #define␉ECONNREFUSED␉61␉␉/* Connection refused */␊ |
174 | ␊ |
175 | #define␉ELOOP␉␉62␉␉/* Too many levels of symbolic links */␊ |
176 | #define␉ENAMETOOLONG␉63␉␉/* File name too long */␊ |
177 | ␊ |
178 | /* should be rearranged */␊ |
179 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
180 | #define␉EHOSTDOWN␉64␉␉/* Host is down */␊ |
181 | #endif␊ |
182 | #define␉EHOSTUNREACH␉65␉␉/* No route to host */␊ |
183 | #define␉ENOTEMPTY␉66␉␉/* Directory not empty */␊ |
184 | ␊ |
185 | /* quotas & mush */␊ |
186 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
187 | #define␉EPROCLIM␉67␉␉/* Too many processes */␊ |
188 | #define␉EUSERS␉␉68␉␉/* Too many users */␊ |
189 | #endif␊ |
190 | #define␉EDQUOT␉␉69␉␉/* Disc quota exceeded */␊ |
191 | ␊ |
192 | /* Network File System */␊ |
193 | #define␉ESTALE␉␉70␉␉/* Stale NFS file handle */␊ |
194 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
195 | #define␉EREMOTE␉␉71␉␉/* Too many levels of remote in path */␊ |
196 | #define␉EBADRPC␉␉72␉␉/* RPC struct is bad */␊ |
197 | #define␉ERPCMISMATCH␉73␉␉/* RPC version wrong */␊ |
198 | #define␉EPROGUNAVAIL␉74␉␉/* RPC prog. not avail */␊ |
199 | #define␉EPROGMISMATCH␉75␉␉/* Program version wrong */␊ |
200 | #define␉EPROCUNAVAIL␉76␉␉/* Bad procedure for program */␊ |
201 | #endif␊ |
202 | ␊ |
203 | #define␉ENOLCK␉␉77␉␉/* No locks available */␊ |
204 | #define␉ENOSYS␉␉78␉␉/* Function not implemented */␊ |
205 | ␊ |
206 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
207 | #define␉EFTYPE␉␉79␉␉/* Inappropriate file type or format */␊ |
208 | #define␉EAUTH␉␉80␉␉/* Authentication error */␊ |
209 | #define␉ENEEDAUTH␉81␉␉/* Need authenticator */␊ |
210 | ␊ |
211 | /* Intelligent device errors */␊ |
212 | #define␉EPWROFF␉␉82␉/* Device power is off */␊ |
213 | #define␉EDEVERR␉␉83␉/* Device error, e.g. paper out */␊ |
214 | #endif␊ |
215 | ␊ |
216 | #define␉EOVERFLOW␉84␉␉/* Value too large to be stored in data type */␊ |
217 | ␊ |
218 | /* Program loading errors */␊ |
219 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
220 | #define EBADEXEC␉85␉/* Bad executable */␊ |
221 | #define EBADARCH␉86␉/* Bad CPU type in executable */␊ |
222 | #define ESHLIBVERS␉87␉/* Shared library version mismatch */␊ |
223 | #define EBADMACHO␉88␉/* Malformed Macho file */␊ |
224 | #endif␊ |
225 | ␊ |
226 | #define␉ECANCELED␉89␉␉/* Operation canceled */␊ |
227 | ␊ |
228 | #define EIDRM␉␉90␉␉/* Identifier removed */␊ |
229 | #define ENOMSG␉␉91␉␉/* No message of desired type */ ␊ |
230 | #define EILSEQ␉␉92␉␉/* Illegal byte sequence */␊ |
231 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
232 | #define ENOATTR␉␉93␉␉/* Attribute not found */␊ |
233 | #endif␊ |
234 | ␊ |
235 | #define EBADMSG␉␉94␉␉/* Bad message */␊ |
236 | #define EMULTIHOP␉95␉␉/* Reserved */␊ |
237 | #define␉ENODATA␉␉96␉␉/* No message available on STREAM */␊ |
238 | #define ENOLINK␉␉97␉␉/* Reserved */␊ |
239 | #define ENOSR␉␉98␉␉/* No STREAM resources */␊ |
240 | #define ENOSTR␉␉99␉␉/* Not a STREAM */␊ |
241 | #define␉EPROTO␉␉100␉␉/* Protocol error */␊ |
242 | #define ETIME␉␉101␉␉/* STREAM ioctl timeout */␊ |
243 | ␊ |
244 | #if __DARWIN_UNIX03 || defined(KERNEL)␊ |
245 | /* This value is only discrete when compiling __DARWIN_UNIX03, or KERNEL */␊ |
246 | #define␉EOPNOTSUPP␉102␉␉/* Operation not supported on socket */␊ |
247 | #endif /* __DARWIN_UNIX03 || KERNEL */␊ |
248 | ␊ |
249 | #define ENOPOLICY␉103␉␉/* No such policy registered */␊ |
250 | ␊ |
251 | #if __DARWIN_C_LEVEL >= 200809L␊ |
252 | #define ENOTRECOVERABLE 104␉␉/* State not recoverable */␊ |
253 | #define EOWNERDEAD 105␉␉/* Previous owner died */␊ |
254 | #endif␊ |
255 | ␊ |
256 | #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL␊ |
257 | #define␉EQFULL␉␉106␉␉/* Interface output queue is full */␊ |
258 | #define␉ELAST␉␉106␉␉/* Must be equal largest errno */␊ |
259 | #endif␊ |
260 | ␊ |
261 | #endif /* _SYS_ERRNO_H_ */␊ |
262 | |