2 * Copyright 2007-2014, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
13 #define FSSH_B_GENERAL_ERROR_BASE INT_MIN
14 #define FSSH_B_OS_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x1000
15 #define FSSH_B_APP_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x2000
16 #define FSSH_B_INTERFACE_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x3000
17 #define FSSH_B_MEDIA_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x4000 /* - 0x41ff */
18 #define FSSH_B_TRANSLATION_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x4800 /* - 0x48ff */
19 #define FSSH_B_MIDI_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x5000
20 #define FSSH_B_STORAGE_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x6000
21 #define FSSH_B_POSIX_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x7000
22 #define FSSH_B_MAIL_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x8000
23 #define FSSH_B_PRINT_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0x9000
24 #define FSSH_B_DEVICE_ERROR_BASE FSSH_B_GENERAL_ERROR_BASE + 0xa000
26 /* Developer-defined errors start at (B_ERRORS_END+1) */
27 #define FSSH_B_ERRORS_END (FSSH_B_GENERAL_ERROR_BASE + 0xffff)
30 #define FSSH_B_NO_MEMORY (FSSH_B_GENERAL_ERROR_BASE + 0)
31 #define FSSH_B_IO_ERROR (FSSH_B_GENERAL_ERROR_BASE + 1)
32 #define FSSH_B_PERMISSION_DENIED (FSSH_B_GENERAL_ERROR_BASE + 2)
33 #define FSSH_B_BAD_INDEX (FSSH_B_GENERAL_ERROR_BASE + 3)
34 #define FSSH_B_BAD_TYPE (FSSH_B_GENERAL_ERROR_BASE + 4)
35 #define FSSH_B_BAD_VALUE (FSSH_B_GENERAL_ERROR_BASE + 5)
36 #define FSSH_B_MISMATCHED_VALUES (FSSH_B_GENERAL_ERROR_BASE + 6)
37 #define FSSH_B_NAME_NOT_FOUND (FSSH_B_GENERAL_ERROR_BASE + 7)
38 #define FSSH_B_NAME_IN_USE (FSSH_B_GENERAL_ERROR_BASE + 8)
39 #define FSSH_B_TIMED_OUT (FSSH_B_GENERAL_ERROR_BASE + 9)
40 #define FSSH_B_INTERRUPTED (FSSH_B_GENERAL_ERROR_BASE + 10)
41 #define FSSH_B_WOULD_BLOCK (FSSH_B_GENERAL_ERROR_BASE + 11)
42 #define FSSH_B_CANCELED (FSSH_B_GENERAL_ERROR_BASE + 12)
43 #define FSSH_B_NO_INIT (FSSH_B_GENERAL_ERROR_BASE + 13)
44 #define FSSH_B_BUSY (FSSH_B_GENERAL_ERROR_BASE + 14)
45 #define FSSH_B_NOT_ALLOWED (FSSH_B_GENERAL_ERROR_BASE + 15)
46 #define FSSH_B_BAD_DATA (FSSH_B_GENERAL_ERROR_BASE + 16)
47 #define FSSH_B_DONT_DO_THAT (FSSH_B_GENERAL_ERROR_BASE + 17)
49 #define FSSH_B_ERROR (-1)
50 #define FSSH_B_OK ((int)0)
51 #define FSSH_B_NO_ERROR ((int)0)
53 /* Kernel Kit Errors */
54 #define FSSH_B_BAD_SEM_ID (FSSH_B_OS_ERROR_BASE + 0)
55 #define FSSH_B_NO_MORE_SEMS (FSSH_B_OS_ERROR_BASE + 1)
57 #define FSSH_B_BAD_THREAD_ID (FSSH_B_OS_ERROR_BASE + 0x100)
58 #define FSSH_B_NO_MORE_THREADS (FSSH_B_OS_ERROR_BASE + 0x101)
59 #define FSSH_B_BAD_THREAD_STATE (FSSH_B_OS_ERROR_BASE + 0x102)
60 #define FSSH_B_BAD_TEAM_ID (FSSH_B_OS_ERROR_BASE + 0x103)
61 #define FSSH_B_NO_MORE_TEAMS (FSSH_B_OS_ERROR_BASE + 0x104)
63 #define FSSH_B_BAD_PORT_ID (FSSH_B_OS_ERROR_BASE + 0x200)
64 #define FSSH_B_NO_MORE_PORTS (FSSH_B_OS_ERROR_BASE + 0x201)
66 #define FSSH_B_BAD_IMAGE_ID (FSSH_B_OS_ERROR_BASE + 0x300)
67 #define FSSH_B_BAD_ADDRESS (FSSH_B_OS_ERROR_BASE + 0x301)
68 #define FSSH_B_NOT_AN_EXECUTABLE (FSSH_B_OS_ERROR_BASE + 0x302)
69 #define FSSH_B_MISSING_LIBRARY (FSSH_B_OS_ERROR_BASE + 0x303)
70 #define FSSH_B_MISSING_SYMBOL (FSSH_B_OS_ERROR_BASE + 0x304)
72 #define FSSH_B_DEBUGGER_ALREADY_INSTALLED (FSSH_B_OS_ERROR_BASE + 0x400)
74 /* Application Kit Errors */
76 FSSH_B_BAD_REPLY
= FSSH_B_APP_ERROR_BASE
,
77 FSSH_B_DUPLICATE_REPLY
,
78 FSSH_B_MESSAGE_TO_SELF
,
80 FSSH_B_ALREADY_RUNNING
,
82 FSSH_B_AMBIGUOUS_APP_LAUNCH
,
83 FSSH_B_UNKNOWN_MIME_TYPE
,
84 FSSH_B_BAD_SCRIPT_SYNTAX
,
85 FSSH_B_LAUNCH_FAILED_NO_RESOLVE_LINK
,
86 FSSH_B_LAUNCH_FAILED_EXECUTABLE
,
87 FSSH_B_LAUNCH_FAILED_APP_NOT_FOUND
,
88 FSSH_B_LAUNCH_FAILED_APP_IN_TRASH
,
89 FSSH_B_LAUNCH_FAILED_NO_PREFERRED_APP
,
90 FSSH_B_LAUNCH_FAILED_FILES_APP_NOT_FOUND
,
91 FSSH_B_BAD_MIME_SNIFFER_RULE
,
93 FSSH_B_SHUTDOWN_CANCELLED
,
97 /* Storage Kit/File System Errors */
98 #define FSSH_B_FILE_ERROR (FSSH_B_STORAGE_ERROR_BASE + 0)
99 #define FSSH_B_FILE_NOT_FOUND (FSSH_B_STORAGE_ERROR_BASE + 1)
100 #define FSSH_B_FILE_EXISTS (FSSH_B_STORAGE_ERROR_BASE + 2)
101 #define FSSH_B_ENTRY_NOT_FOUND (FSSH_B_STORAGE_ERROR_BASE + 3)
102 #define FSSH_B_NAME_TOO_LONG (FSSH_B_STORAGE_ERROR_BASE + 4)
103 #define FSSH_B_NOT_A_DIRECTORY (FSSH_B_STORAGE_ERROR_BASE + 5)
104 #define FSSH_B_DIRECTORY_NOT_EMPTY (FSSH_B_STORAGE_ERROR_BASE + 6)
105 #define FSSH_B_DEVICE_FULL (FSSH_B_STORAGE_ERROR_BASE + 7)
106 #define FSSH_B_READ_ONLY_DEVICE (FSSH_B_STORAGE_ERROR_BASE + 8)
107 #define FSSH_B_IS_A_DIRECTORY (FSSH_B_STORAGE_ERROR_BASE + 9)
108 #define FSSH_B_NO_MORE_FDS (FSSH_B_STORAGE_ERROR_BASE + 10)
109 #define FSSH_B_CROSS_DEVICE_LINK (FSSH_B_STORAGE_ERROR_BASE + 11)
110 #define FSSH_B_LINK_LIMIT (FSSH_B_STORAGE_ERROR_BASE + 12)
111 #define FSSH_B_BUSTED_PIPE (FSSH_B_STORAGE_ERROR_BASE + 13)
112 #define FSSH_B_UNSUPPORTED (FSSH_B_STORAGE_ERROR_BASE + 14)
113 #define FSSH_B_PARTITION_TOO_SMALL (FSSH_B_STORAGE_ERROR_BASE + 15)
114 #define FSSH_B_PARTIAL_READ (FSSH_B_STORAGE_ERROR_BASE + 16)
115 #define FSSH_B_PARTIAL_WRITE (FSSH_B_STORAGE_ERROR_BASE + 17)
118 #define FSSH_E2BIG (FSSH_B_POSIX_ERROR_BASE + 1)
119 #define FSSH_ECHILD (FSSH_B_POSIX_ERROR_BASE + 2)
120 #define FSSH_EDEADLK (FSSH_B_POSIX_ERROR_BASE + 3)
121 #define FSSH_EFBIG (FSSH_B_POSIX_ERROR_BASE + 4)
122 #define FSSH_EMLINK (FSSH_B_POSIX_ERROR_BASE + 5)
123 #define FSSH_ENFILE (FSSH_B_POSIX_ERROR_BASE + 6)
124 #define FSSH_ENODEV (FSSH_B_POSIX_ERROR_BASE + 7)
125 #define FSSH_ENOLCK (FSSH_B_POSIX_ERROR_BASE + 8)
126 #define FSSH_ENOSYS (FSSH_B_POSIX_ERROR_BASE + 9)
127 #define FSSH_ENOTTY (FSSH_B_POSIX_ERROR_BASE + 10)
128 #define FSSH_ENXIO (FSSH_B_POSIX_ERROR_BASE + 11)
129 #define FSSH_ESPIPE (FSSH_B_POSIX_ERROR_BASE + 12)
130 #define FSSH_ESRCH (FSSH_B_POSIX_ERROR_BASE + 13)
131 #define FSSH_EFPOS (FSSH_B_POSIX_ERROR_BASE + 14)
132 #define FSSH_ESIGPARM (FSSH_B_POSIX_ERROR_BASE + 15)
133 #define FSSH_EDOM (FSSH_B_POSIX_ERROR_BASE + 16)
134 #define FSSH_ERANGE (FSSH_B_POSIX_ERROR_BASE + 17)
135 #define FSSH_EPROTOTYPE (FSSH_B_POSIX_ERROR_BASE + 18)
136 #define FSSH_EPROTONOSUPPORT (FSSH_B_POSIX_ERROR_BASE + 19)
137 #define FSSH_EPFNOSUPPORT (FSSH_B_POSIX_ERROR_BASE + 20)
138 #define FSSH_EAFNOSUPPORT (FSSH_B_POSIX_ERROR_BASE + 21)
139 #define FSSH_EADDRINUSE (FSSH_B_POSIX_ERROR_BASE + 22)
140 #define FSSH_EADDRNOTAVAIL (FSSH_B_POSIX_ERROR_BASE + 23)
141 #define FSSH_ENETDOWN (FSSH_B_POSIX_ERROR_BASE + 24)
142 #define FSSH_ENETUNREACH (FSSH_B_POSIX_ERROR_BASE + 25)
143 #define FSSH_ENETRESET (FSSH_B_POSIX_ERROR_BASE + 26)
144 #define FSSH_ECONNABORTED (FSSH_B_POSIX_ERROR_BASE + 27)
145 #define FSSH_ECONNRESET (FSSH_B_POSIX_ERROR_BASE + 28)
146 #define FSSH_EISCONN (FSSH_B_POSIX_ERROR_BASE + 29)
147 #define FSSH_ENOTCONN (FSSH_B_POSIX_ERROR_BASE + 30)
148 #define FSSH_ESHUTDOWN (FSSH_B_POSIX_ERROR_BASE + 31)
149 #define FSSH_ECONNREFUSED (FSSH_B_POSIX_ERROR_BASE + 32)
150 #define FSSH_EHOSTUNREACH (FSSH_B_POSIX_ERROR_BASE + 33)
151 #define FSSH_ENOPROTOOPT (FSSH_B_POSIX_ERROR_BASE + 34)
152 #define FSSH_ENOBUFS (FSSH_B_POSIX_ERROR_BASE + 35)
153 #define FSSH_EINPROGRESS (FSSH_B_POSIX_ERROR_BASE + 36)
154 #define FSSH_EALREADY (FSSH_B_POSIX_ERROR_BASE + 37)
155 #define FSSH_EILSEQ (FSSH_B_POSIX_ERROR_BASE + 38)
156 #define FSSH_ENOMSG (FSSH_B_POSIX_ERROR_BASE + 39)
157 #define FSSH_ESTALE (FSSH_B_POSIX_ERROR_BASE + 40)
158 #define FSSH_EOVERFLOW (FSSH_B_POSIX_ERROR_BASE + 41)
159 #define FSSH_EMSGSIZE (FSSH_B_POSIX_ERROR_BASE + 42)
160 #define FSSH_EOPNOTSUPP (FSSH_B_POSIX_ERROR_BASE + 43)
161 #define FSSH_ENOTSOCK (FSSH_B_POSIX_ERROR_BASE + 44)
162 #define FSSH_EHOSTDOWN (FSSH_B_POSIX_ERROR_BASE + 45)
163 #define FSSH_EBADMSG (FSSH_B_POSIX_ERROR_BASE + 46)
164 #define FSSH_ECANCELED (FSSH_B_POSIX_ERROR_BASE + 47)
165 #define FSSH_EDESTADDRREQ (FSSH_B_POSIX_ERROR_BASE + 48)
166 #define FSSH_EDQUOT (FSSH_B_POSIX_ERROR_BASE + 49)
167 #define FSSH_EIDRM (FSSH_B_POSIX_ERROR_BASE + 50)
168 #define FSSH_EMULTIHOP (FSSH_B_POSIX_ERROR_BASE + 51)
169 #define FSSH_ENODATA (FSSH_B_POSIX_ERROR_BASE + 52)
170 #define FSSH_ENOLINK (FSSH_B_POSIX_ERROR_BASE + 53)
171 #define FSSH_ENOSR (FSSH_B_POSIX_ERROR_BASE + 54)
172 #define FSSH_ENOSTR (FSSH_B_POSIX_ERROR_BASE + 55)
173 #define FSSH_ENOTSUP (FSSH_B_POSIX_ERROR_BASE + 56)
174 #define FSSH_EPROTO (FSSH_B_POSIX_ERROR_BASE + 57)
175 #define FSSH_ETIME (FSSH_B_POSIX_ERROR_BASE + 58)
176 #define FSSH_ETXTBSY (FSSH_B_POSIX_ERROR_BASE + 59)
178 /* POSIX errors that can be mapped to BeOS error codes */
179 #define FSSH_ENOMEM FSSH_B_NO_MEMORY
180 #define FSSH_EACCES FSSH_B_PERMISSION_DENIED
181 #define FSSH_EINTR FSSH_B_INTERRUPTED
182 #define FSSH_EIO FSSH_B_IO_ERROR
183 #define FSSH_EBUSY FSSH_B_BUSY
184 #define FSSH_EFAULT FSSH_B_BAD_ADDRESS
185 #define FSSH_ETIMEDOUT FSSH_B_TIMED_OUT
186 #define FSSH_EAGAIN FSSH_B_WOULD_BLOCK /* SysV compatibility */
187 #define FSSH_EWOULDBLOCK FSSH_B_WOULD_BLOCK /* BSD compatibility */
188 #define FSSH_EBADF FSSH_B_FILE_ERROR
189 #define FSSH_EEXIST FSSH_B_FILE_EXISTS
190 #define FSSH_EINVAL FSSH_B_BAD_VALUE
191 #define FSSH_ENAMETOOLONG FSSH_B_NAME_TOO_LONG
192 #define FSSH_ENOENT FSSH_B_ENTRY_NOT_FOUND
193 #define FSSH_EPERM FSSH_B_NOT_ALLOWED
194 #define FSSH_ENOTDIR FSSH_B_NOT_A_DIRECTORY
195 #define FSSH_EISDIR FSSH_B_IS_A_DIRECTORY
196 #define FSSH_ENOTEMPTY FSSH_B_DIRECTORY_NOT_EMPTY
197 #define FSSH_ENOSPC FSSH_B_DEVICE_FULL
198 #define FSSH_EROFS FSSH_B_READ_ONLY_DEVICE
199 #define FSSH_EMFILE FSSH_B_NO_MORE_FDS
200 #define FSSH_EXDEV FSSH_B_CROSS_DEVICE_LINK
201 #define FSSH_ELOOP FSSH_B_LINK_LIMIT
202 #define FSSH_ENOEXEC FSSH_B_NOT_AN_EXECUTABLE
203 #define FSSH_EPIPE FSSH_B_BUSTED_PIPE
205 /* new error codes that can be mapped to POSIX errors */
206 #define FSSH_B_BUFFER_OVERFLOW FSSH_EOVERFLOW
207 #define FSSH_B_TOO_MANY_ARGS FSSH_E2BIG
208 #define FSSH_B_FILE_TOO_LARGE FSSH_EFBIG
209 #define FSSH_B_RESULT_NOT_REPRESENTABLE FSSH_ERANGE
210 #define FSSH_B_DEVICE_NOT_FOUND FSSH_ENODEV
211 #define FSSH_B_NOT_SUPPORTED FSSH_EOPNOTSUPP
213 /* Media Kit Errors */
215 FSSH_B_STREAM_NOT_FOUND
= FSSH_B_MEDIA_ERROR_BASE
,
216 FSSH_B_SERVER_NOT_FOUND
,
217 FSSH_B_RESOURCE_NOT_FOUND
,
218 FSSH_B_RESOURCE_UNAVAILABLE
,
219 FSSH_B_BAD_SUBSCRIBER
,
220 FSSH_B_SUBSCRIBER_NOT_ENTERED
,
221 FSSH_B_BUFFER_NOT_AVAILABLE
,
222 FSSH_B_LAST_BUFFER_ERROR
225 /* Mail Kit Errors */
227 FSSH_B_MAIL_NO_DAEMON
= FSSH_B_MAIL_ERROR_BASE
,
228 FSSH_B_MAIL_UNKNOWN_USER
,
229 FSSH_B_MAIL_WRONG_PASSWORD
,
230 FSSH_B_MAIL_UNKNOWN_HOST
,
231 FSSH_B_MAIL_ACCESS_ERROR
,
232 FSSH_B_MAIL_UNKNOWN_FIELD
,
233 FSSH_B_MAIL_NO_RECIPIENT
,
234 FSSH_B_MAIL_INVALID_MAIL
237 /* Printing Errors */
239 FSSH_B_NO_PRINT_SERVER
= FSSH_B_PRINT_ERROR_BASE
242 /* Device Kit Errors */
244 FSSH_B_DEV_INVALID_IOCTL
= FSSH_B_DEVICE_ERROR_BASE
,
245 FSSH_B_DEV_NO_MEMORY
,
246 FSSH_B_DEV_BAD_DRIVE_NUM
,
248 FSSH_B_DEV_UNREADABLE
,
249 FSSH_B_DEV_FORMAT_ERROR
,
251 FSSH_B_DEV_RECALIBRATE_ERROR
,
252 FSSH_B_DEV_SEEK_ERROR
,
254 FSSH_B_DEV_READ_ERROR
,
255 FSSH_B_DEV_WRITE_ERROR
,
256 FSSH_B_DEV_NOT_READY
,
257 FSSH_B_DEV_MEDIA_CHANGED
,
258 FSSH_B_DEV_MEDIA_CHANGE_REQUESTED
,
259 FSSH_B_DEV_RESOURCE_CONFLICT
,
260 FSSH_B_DEV_CONFIGURATION_ERROR
,
261 FSSH_B_DEV_DISABLED_BY_USER
,
262 FSSH_B_DEV_DOOR_OPEN
,
264 FSSH_B_DEV_INVALID_PIPE
,
265 FSSH_B_DEV_CRC_ERROR
,
268 FSSH_B_DEV_UNEXPECTED_PID
,
269 FSSH_B_DEV_DATA_OVERRUN
,
270 FSSH_B_DEV_DATA_UNDERRUN
,
271 FSSH_B_DEV_FIFO_OVERRUN
,
272 FSSH_B_DEV_FIFO_UNDERRUN
,
274 FSSH_B_DEV_MULTIPLE_ERRORS
,
279 #endif /* _FSSH_ERRORS_H */