mirror of
https://review.haiku-os.org/haiku
synced 2025-01-19 13:01:29 +01:00
f16873a60e
- remove private/kernel/Errors.h as this was just plain wrong to have it there and confused issues somewhat. - add the kerrors.h file that has kernel only error codes, namely the ERR_ codes from newos. - add comments for the other header files to tell people where to find error code definitions in an attempt to stop people getting lost! git-svn-id: file:///srv/svn/repos/haiku/trunk/current@101 a95241bf-73f2-0310-859d-f6bbb57e9c96
149 lines
2.4 KiB
C
149 lines
2.4 KiB
C
/*
|
|
* errno.h
|
|
*
|
|
* POSIX style error codes.
|
|
* Be values used where required to keep compatibility.
|
|
*
|
|
* Errors beginning with B_ can be found in os/support/Errors.h
|
|
* those starting with ERR_ are kernel only and are found in
|
|
* private/kernel/kerrors.h
|
|
*/
|
|
|
|
#ifndef _POSIX_ERRNO_H
|
|
#define _POSIX_ERRNO_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#include <limits.h>
|
|
|
|
/* XXX - Fix this once TLS works */
|
|
extern int errno;
|
|
|
|
/* We're defining values based on the values that Be used, hence
|
|
* the starting point at + 0x7000
|
|
*/
|
|
#define POSIX_ERROR_START LONG_MIN + 0x7000
|
|
|
|
/* The basic error codes that don't have a B_ equivalent
|
|
*
|
|
* NB when adding codes make sure that support/Errors.h didn't
|
|
* define a value or it needs to go in the bottom section and
|
|
* have an identical value assigned.
|
|
* NB new values just go on the bottom.
|
|
*/
|
|
enum {
|
|
E2BIG = POSIX_ERROR_START + 1,
|
|
ECHILD,
|
|
EDEADLK,
|
|
EFBIG,
|
|
EMLINK,
|
|
ENFILE,
|
|
ENODEV,
|
|
ENOLCK,
|
|
ENOSYS,
|
|
ENOTTY, /* +10 */
|
|
ENXIO,
|
|
ESPIPE,
|
|
ESRCH,
|
|
EFPOS,
|
|
ESIGPARM,
|
|
EDOM,
|
|
ERANGE,
|
|
EPROTOTYPE,
|
|
EPROTONOSUPPORT,
|
|
EPFNOSUPPORT, /* +20 */
|
|
EAFNOSUPPORT,
|
|
EADDRINUSE,
|
|
EADDRNOTAVAIL,
|
|
ENETDOWN,
|
|
ENETUNREACH,
|
|
ENETRESET,
|
|
ECONNABORTED,
|
|
ECONNRESET,
|
|
EISCONN,
|
|
ENOTCONN, /* +30 */
|
|
ESHUTDOWN,
|
|
ECONNREFUSED,
|
|
EHOSTUNREACH,
|
|
ENOPROTOOPT,
|
|
ENOBUFS,
|
|
EINPROGRESS,
|
|
EALREADY,
|
|
EILSEQ,
|
|
ENOMSG,
|
|
ESTALE, /* +40 */
|
|
EOVERFLOW,
|
|
EMSGSIZE,
|
|
EOPNOTSUPP,
|
|
ENOTSOCK,
|
|
|
|
/* These are additional to the Be ones */
|
|
EBADMSG,
|
|
ECANCELLED,
|
|
EDESTADDRREQ,
|
|
EDQUOT,
|
|
EHOSTDOWN,
|
|
EIDRM, /* +50 */
|
|
EISDIR,
|
|
EMULTIHOP,
|
|
ENODATA,
|
|
ENOLINK,
|
|
ENOSR,
|
|
ENOSTR,
|
|
EPROTO,
|
|
EPROTOOPT,
|
|
ETIME,
|
|
EFTYPE, /* +60 */
|
|
ETOOMANYREFS
|
|
};
|
|
|
|
/*
|
|
* Errors with Be equivalents
|
|
*/
|
|
|
|
/* TODO: add comments showing what the equivalent Be errors are... */
|
|
|
|
/* NB - These have strange values to be the same as the Be values... */
|
|
|
|
/* General errors */
|
|
enum {
|
|
ENOMEM = LONG_MIN,
|
|
EIO,
|
|
EACCES,
|
|
EINVAL = LONG_MIN + 5,
|
|
ETIMEDOUT = LONG_MIN + 9,
|
|
EINTR,
|
|
EWOULDBLOCK,
|
|
EAGAIN = EWOULDBLOCK,
|
|
EBUSY = LONG_MIN + 14,
|
|
EPERM
|
|
};
|
|
|
|
/* Storage kit/File system errors */
|
|
enum {
|
|
EBADF = LONG_MIN + 0x6000,
|
|
EEXIST = EBADF + 2,
|
|
ENOENT,
|
|
ENAMETOOLONG,
|
|
ENOTDIR,
|
|
ENOTEMPTY,
|
|
ENOSPC,
|
|
EROFS,
|
|
EMFILE = EBADF + 10,
|
|
EXDEV,
|
|
ELOOP,
|
|
EPIPE
|
|
};
|
|
|
|
/* An odd ball! */
|
|
#define ENOEXEC LONG_MIN + 0x1302
|
|
|
|
#ifdef __cplusplus
|
|
} /* "C" */
|
|
#endif
|
|
|
|
#endif /* _POSIX_ERRNO_H */
|