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