1 |
/*- |
2 |
* Copyright (c) 1982, 1986, 1989, 1993 |
3 |
* The Regents of the University of California. All rights reserved. |
4 |
* (c) UNIX System Laboratories, Inc. |
5 |
* All or some portions of this file are derived from material licensed |
6 |
* to the University of California by American Telephone and Telegraph |
7 |
* Co. or Unix System Laboratories, Inc. and are reproduced herein with |
8 |
* the permission of UNIX System Laboratories, Inc. |
9 |
* |
10 |
* Redistribution and use in source and binary forms, with or without |
11 |
* modification, are permitted provided that the following conditions |
12 |
* are met: |
13 |
* 1. Redistributions of source code must retain the above copyright |
14 |
* notice, this list of conditions and the following disclaimer. |
15 |
* 2. Redistributions in binary form must reproduce the above copyright |
16 |
* notice, this list of conditions and the following disclaimer in the |
17 |
* documentation and/or other materials provided with the distribution. |
18 |
* 4. Neither the name of the University nor the names of its contributors |
19 |
* may be used to endorse or promote products derived from this software |
20 |
* without specific prior written permission. |
21 |
* |
22 |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
23 |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
24 |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
25 |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
26 |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
27 |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
28 |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
29 |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
30 |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
31 |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
32 |
* SUCH DAMAGE. |
33 |
* |
34 |
* @(#)errno.h 8.5 (Berkeley) 1/21/94 |
35 |
* $FreeBSD: src/sys/sys/errno.h,v 1.28 2005/04/02 12:33:28 das Exp $ |
36 |
*/ |
37 |
|
38 |
#ifndef _SYS_ERRNO_H_ |
39 |
#define _SYS_ERRNO_H_ |
40 |
|
41 |
#if 0 |
42 |
#ifndef _KERNEL |
43 |
#include <sys/cdefs.h> |
44 |
__BEGIN_DECLS |
45 |
int * __error(void); |
46 |
__END_DECLS |
47 |
#define errno (* __error()) |
48 |
#endif |
49 |
#endif |
50 |
|
51 |
#define FREEBSD_EPERM 1 /* Operation not permitted */ |
52 |
#define FREEBSD_ENOENT 2 /* No such file or directory */ |
53 |
#define FREEBSD_ESRCH 3 /* No such process */ |
54 |
#define FREEBSD_EINTR 4 /* Interrupted system call */ |
55 |
#define FREEBSD_EIO 5 /* Input/output error */ |
56 |
#define FREEBSD_ENXIO 6 /* Device not configured */ |
57 |
#define FREEBSD_E2BIG 7 /* Argument list too long */ |
58 |
#define FREEBSD_ENOEXEC 8 /* Exec format error */ |
59 |
#define FREEBSD_EBADF 9 /* Bad file descriptor */ |
60 |
#define FREEBSD_ECHILD 10 /* No child processes */ |
61 |
#define FREEBSD_EDEADLK 11 /* Resource deadlock avoided */ |
62 |
/* 11 was EAGAIN */ |
63 |
#define FREEBSD_ENOMEM 12 /* Cannot allocate memory */ |
64 |
#define FREEBSD_EACCES 13 /* Permission denied */ |
65 |
#define FREEBSD_EFAULT 14 /* Bad address */ |
66 |
#ifndef _POSIX_SOURCE |
67 |
#define FREEBSD_ENOTBLK 15 /* Block device required */ |
68 |
#endif |
69 |
#define FREEBSD_EBUSY 16 /* Device busy */ |
70 |
#define FREEBSD_EEXIST 17 /* File exists */ |
71 |
#define FREEBSD_EXDEV 18 /* Cross-device link */ |
72 |
#define FREEBSD_ENODEV 19 /* Operation not supported by device */ |
73 |
#define FREEBSD_ENOTDIR 20 /* Not a directory */ |
74 |
#define FREEBSD_EISDIR 21 /* Is a directory */ |
75 |
#define FREEBSD_EINVAL 22 /* Invalid argument */ |
76 |
#define FREEBSD_ENFILE 23 /* Too many open files in system */ |
77 |
#define FREEBSD_EMFILE 24 /* Too many open files */ |
78 |
#define FREEBSD_ENOTTY 25 /* Inappropriate ioctl for device */ |
79 |
#ifndef _POSIX_SOURCE |
80 |
#define FREEBSD_ETXTBSY 26 /* Text file busy */ |
81 |
#endif |
82 |
#define FREEBSD_EFBIG 27 /* File too large */ |
83 |
#define FREEBSD_ENOSPC 28 /* No space left on device */ |
84 |
#define FREEBSD_ESPIPE 29 /* Illegal seek */ |
85 |
#define FREEBSD_EROFS 30 /* Read-only filesystem */ |
86 |
#define FREEBSD_EMLINK 31 /* Too many links */ |
87 |
#define FREEBSD_EPIPE 32 /* Broken pipe */ |
88 |
|
89 |
/* math software */ |
90 |
#define FREEBSD_EDOM 33 /* Numerical argument out of domain */ |
91 |
#define FREEBSD_ERANGE 34 /* Result too large */ |
92 |
|
93 |
/* non-blocking and interrupt i/o */ |
94 |
#define FREEBSD_EAGAIN 35 /* Resource temporarily unavailable */ |
95 |
#ifndef _POSIX_SOURCE |
96 |
#define FREEBSD_EWOULDBLOCK EAGAIN /* Operation would block */ |
97 |
#define FREEBSD_EINPROGRESS 36 /* Operation now in progress */ |
98 |
#define FREEBSD_EALREADY 37 /* Operation already in progress */ |
99 |
|
100 |
/* ipc/network software -- argument errors */ |
101 |
#define FREEBSD_ENOTSOCK 38 /* Socket operation on non-socket */ |
102 |
#define FREEBSD_EDESTADDRREQ 39 /* Destination address required */ |
103 |
#define FREEBSD_EMSGSIZE 40 /* Message too long */ |
104 |
#define FREEBSD_EPROTOTYPE 41 /* Protocol wrong type for socket */ |
105 |
#define FREEBSD_ENOPROTOOPT 42 /* Protocol not available */ |
106 |
#define FREEBSD_EPROTONOSUPPORT 43 /* Protocol not supported */ |
107 |
#define FREEBSD_ESOCKTNOSUPPORT 44 /* Socket type not supported */ |
108 |
#define FREEBSD_EOPNOTSUPP 45 /* Operation not supported */ |
109 |
#define FREEBSD_ENOTSUP EOPNOTSUPP /* Operation not supported */ |
110 |
#define FREEBSD_EPFNOSUPPORT 46 /* Protocol family not supported */ |
111 |
#define FREEBSD_EAFNOSUPPORT 47 /* Address family not supported by protocol family */ |
112 |
#define FREEBSD_EADDRINUSE 48 /* Address already in use */ |
113 |
#define FREEBSD_EADDRNOTAVAIL 49 /* Can't assign requested address */ |
114 |
|
115 |
/* ipc/network software -- operational errors */ |
116 |
#define FREEBSD_ENETDOWN 50 /* Network is down */ |
117 |
#define FREEBSD_ENETUNREACH 51 /* Network is unreachable */ |
118 |
#define FREEBSD_ENETRESET 52 /* Network dropped connection on reset */ |
119 |
#define FREEBSD_ECONNABORTED 53 /* Software caused connection abort */ |
120 |
#define FREEBSD_ECONNRESET 54 /* Connection reset by peer */ |
121 |
#define FREEBSD_ENOBUFS 55 /* No buffer space available */ |
122 |
#define FREEBSD_EISCONN 56 /* Socket is already connected */ |
123 |
#define FREEBSD_ENOTCONN 57 /* Socket is not connected */ |
124 |
#define FREEBSD_ESHUTDOWN 58 /* Can't send after socket shutdown */ |
125 |
#define FREEBSD_ETOOMANYREFS 59 /* Too many references: can't splice */ |
126 |
#define FREEBSD_ETIMEDOUT 60 /* Operation timed out */ |
127 |
#define FREEBSD_ECONNREFUSED 61 /* Connection refused */ |
128 |
|
129 |
#define FREEBSD_ELOOP 62 /* Too many levels of symbolic links */ |
130 |
#endif /* _POSIX_SOURCE */ |
131 |
#define FREEBSD_ENAMETOOLONG 63 /* File name too long */ |
132 |
|
133 |
/* should be rearranged */ |
134 |
#ifndef _POSIX_SOURCE |
135 |
#define FREEBSD_EHOSTDOWN 64 /* Host is down */ |
136 |
#define FREEBSD_EHOSTUNREACH 65 /* No route to host */ |
137 |
#endif /* _POSIX_SOURCE */ |
138 |
#define FREEBSD_ENOTEMPTY 66 /* Directory not empty */ |
139 |
|
140 |
/* quotas & mush */ |
141 |
#ifndef _POSIX_SOURCE |
142 |
#define FREEBSD_EPROCLIM 67 /* Too many processes */ |
143 |
#define FREEBSD_EUSERS 68 /* Too many users */ |
144 |
#define FREEBSD_EDQUOT 69 /* Disc quota exceeded */ |
145 |
|
146 |
/* Network File System */ |
147 |
#define FREEBSD_ESTALE 70 /* Stale NFS file handle */ |
148 |
#define FREEBSD_EREMOTE 71 /* Too many levels of remote in path */ |
149 |
#define FREEBSD_EBADRPC 72 /* RPC struct is bad */ |
150 |
#define FREEBSD_ERPCMISMATCH 73 /* RPC version wrong */ |
151 |
#define FREEBSD_EPROGUNAVAIL 74 /* RPC prog. not avail */ |
152 |
#define FREEBSD_EPROGMISMATCH 75 /* Program version wrong */ |
153 |
#define FREEBSD_EPROCUNAVAIL 76 /* Bad procedure for program */ |
154 |
#endif /* _POSIX_SOURCE */ |
155 |
|
156 |
#define FREEBSD_ENOLCK 77 /* No locks available */ |
157 |
#define FREEBSD_ENOSYS 78 /* Function not implemented */ |
158 |
|
159 |
#ifndef _POSIX_SOURCE |
160 |
#define FREEBSD_EFTYPE 79 /* Inappropriate file type or format */ |
161 |
#define FREEBSD_EAUTH 80 /* Authentication error */ |
162 |
#define FREEBSD_ENEEDAUTH 81 /* Need authenticator */ |
163 |
#define FREEBSD_EIDRM 82 /* Identifier removed */ |
164 |
#define FREEBSD_ENOMSG 83 /* No message of desired type */ |
165 |
#define FREEBSD_EOVERFLOW 84 /* Value too large to be stored in data type */ |
166 |
#define FREEBSD_ECANCELED 85 /* Operation canceled */ |
167 |
#define FREEBSD_EILSEQ 86 /* Illegal byte sequence */ |
168 |
#define FREEBSD_ENOATTR 87 /* Attribute not found */ |
169 |
|
170 |
#define FREEBSD_EDOOFUS 88 /* Programming error */ |
171 |
#endif /* _POSIX_SOURCE */ |
172 |
|
173 |
#define FREEBSD_EBADMSG 89 /* Bad message */ |
174 |
#define FREEBSD_EMULTIHOP 90 /* Multihop attempted */ |
175 |
#define FREEBSD_ENOLINK 91 /* Link has been severed */ |
176 |
#define FREEBSD_EPROTO 92 /* Protocol error */ |
177 |
|
178 |
#ifndef _POSIX_SOURCE |
179 |
#define FREEBSD_ELAST 92 /* Must be equal largest errno */ |
180 |
#endif /* _POSIX_SOURCE */ |
181 |
|
182 |
#ifdef _KERNEL |
183 |
/* pseudo-errors returned inside kernel to modify return to process */ |
184 |
#define FREEBSD_ERESTART (-1) /* restart syscall */ |
185 |
#define FREEBSD_EJUSTRETURN (-2) /* don't modify regs, just return */ |
186 |
#define FREEBSD_ENOIOCTL (-3) /* ioctl not handled by this layer */ |
187 |
#define FREEBSD_EDIRIOCTL (-4) /* do direct ioctl in GEOM */ |
188 |
#endif |
189 |
|
190 |
#endif |