/* This file generated by errnos.awk from
     errno.texi
     mach/message.h
     mach/kern_return.h
     mach/mig_errors.h
     device/device_types.h
   Do not edit this file; edit errnos.awk and regenerate it.  */

#ifndef _BITS_ERRNO_H
#define _BITS_ERRNO_H 1

#if !defined _ERRNO_H
# error "Never include <bits/errno.h> directly; use <errno.h> instead."
#endif

#ifndef __ASSEMBLER__

enum __error_t_codes
{
  /* The value zero always means success and it is perfectly fine
     for code to use 0 explicitly (or implicitly, e.g. via Boolean
     coercion.)  Having an enum entry for zero both makes the
     debugger print the name for error_t-typed zero values, and
     prevents the compiler from issuing warnings about 'case 0:'
     in a switch on an error_t-typed value.  */
  ESUCCESS                       = 0,

  /* The Hurd uses Mach error system 0x10, subsystem 0. */
  EPERM                          = 0x40000001,	/* Operation not permitted */
  ENOENT                         = 0x40000002,	/* No such file or directory */
  ESRCH                          = 0x40000003,	/* No such process */
  EINTR                          = 0x40000004,	/* Interrupted system call */
  EIO                            = 0x40000005,	/* Input/output error */
  ENXIO                          = 0x40000006,	/* No such device or address */
  E2BIG                          = 0x40000007,	/* Argument list too long */
  ENOEXEC                        = 0x40000008,	/* Exec format error */
  EBADF                          = 0x40000009,	/* Bad file descriptor */
  ECHILD                         = 0x4000000a,	/* No child processes */
  EDEADLK                        = 0x4000000b,	/* Resource deadlock avoided */
  ENOMEM                         = 0x4000000c,	/* Cannot allocate memory */
  EACCES                         = 0x4000000d,	/* Permission denied */
  EFAULT                         = 0x4000000e,	/* Bad address */
  ENOTBLK                        = 0x4000000f,	/* Block device required */
  EBUSY                          = 0x40000010,	/* Device or resource busy */
  EEXIST                         = 0x40000011,	/* File exists */
  EXDEV                          = 0x40000012,	/* Invalid cross-device link */
  ENODEV                         = 0x40000013,	/* No such device */
  ENOTDIR                        = 0x40000014,	/* Not a directory */
  EISDIR                         = 0x40000015,	/* Is a directory */
  EINVAL                         = 0x40000016,	/* Invalid argument */
  EMFILE                         = 0x40000018,	/* Too many open files */
  ENFILE                         = 0x40000017,	/* Too many open files in system */
  ENOTTY                         = 0x40000019,	/* Inappropriate ioctl for device */
  ETXTBSY                        = 0x4000001a,	/* Text file busy */
  EFBIG                          = 0x4000001b,	/* File too large */
  ENOSPC                         = 0x4000001c,	/* No space left on device */
  ESPIPE                         = 0x4000001d,	/* Illegal seek */
  EROFS                          = 0x4000001e,	/* Read-only file system */
  EMLINK                         = 0x4000001f,	/* Too many links */
  EPIPE                          = 0x40000020,	/* Broken pipe */
  EDOM                           = 0x40000021,	/* Numerical argument out of domain */
  ERANGE                         = 0x40000022,	/* Numerical result out of range */
  EAGAIN                         = 0x40000023,	/* Resource temporarily unavailable */
  EINPROGRESS                    = 0x40000024,	/* Operation now in progress */
  EALREADY                       = 0x40000025,	/* Operation already in progress */
  ENOTSOCK                       = 0x40000026,	/* Socket operation on non-socket */
  EMSGSIZE                       = 0x40000028,	/* Message too long */
  EPROTOTYPE                     = 0x40000029,	/* Protocol wrong type for socket */
  ENOPROTOOPT                    = 0x4000002a,	/* Protocol not available */
  EPROTONOSUPPORT                = 0x4000002b,	/* Protocol not supported */
  ESOCKTNOSUPPORT                = 0x4000002c,	/* Socket type not supported */
  EOPNOTSUPP                     = 0x4000002d,	/* Operation not supported */
  EPFNOSUPPORT                   = 0x4000002e,	/* Protocol family not supported */
  EAFNOSUPPORT                   = 0x4000002f,	/* Address family not supported by protocol */
  EADDRINUSE                     = 0x40000030,	/* Address already in use */
  EADDRNOTAVAIL                  = 0x40000031,	/* Cannot assign requested address */
  ENETDOWN                       = 0x40000032,	/* Network is down */
  ENETUNREACH                    = 0x40000033,	/* Network is unreachable */
  ENETRESET                      = 0x40000034,	/* Network dropped connection on reset */
  ECONNABORTED                   = 0x40000035,	/* Software caused connection abort */
  ECONNRESET                     = 0x40000036,	/* Connection reset by peer */
  ENOBUFS                        = 0x40000037,	/* No buffer space available */
  EISCONN                        = 0x40000038,	/* Transport endpoint is already connected */
  ENOTCONN                       = 0x40000039,	/* Transport endpoint is not connected */
  EDESTADDRREQ                   = 0x40000027,	/* Destination address required */
  ESHUTDOWN                      = 0x4000003a,	/* Cannot send after transport endpoint shutdown */
  ETOOMANYREFS                   = 0x4000003b,	/* Too many references: cannot splice */
  ETIMEDOUT                      = 0x4000003c,	/* Connection timed out */
  ECONNREFUSED                   = 0x4000003d,	/* Connection refused */
  ELOOP                          = 0x4000003e,	/* Too many levels of symbolic links */
  ENAMETOOLONG                   = 0x4000003f,	/* File name too long */
  EHOSTDOWN                      = 0x40000040,	/* Host is down */
  EHOSTUNREACH                   = 0x40000041,	/* No route to host */
  ENOTEMPTY                      = 0x40000042,	/* Directory not empty */
  EPROCLIM                       = 0x40000043,	/* Too many processes */
  EUSERS                         = 0x40000044,	/* Too many users */
  EDQUOT                         = 0x40000045,	/* Disk quota exceeded */
  ESTALE                         = 0x40000046,	/* Stale file handle */
  EREMOTE                        = 0x40000047,	/* Object is remote */
  EBADRPC                        = 0x40000048,	/* RPC struct is bad */
  ERPCMISMATCH                   = 0x40000049,	/* RPC version wrong */
  EPROGUNAVAIL                   = 0x4000004a,	/* RPC program not available */
  EPROGMISMATCH                  = 0x4000004b,	/* RPC program version wrong */
  EPROCUNAVAIL                   = 0x4000004c,	/* RPC bad procedure for program */
  ENOLCK                         = 0x4000004d,	/* No locks available */
  EFTYPE                         = 0x4000004f,	/* Inappropriate file type or format */
  EAUTH                          = 0x40000050,	/* Authentication error */
  ENEEDAUTH                      = 0x40000051,	/* Need authenticator */
  ENOSYS                         = 0x4000004e,	/* Function not implemented */
  ENOTSUP                        = 0x40000076,	/* Not supported */
  EILSEQ                         = 0x4000006a,	/* Invalid or incomplete multibyte or wide character */
  EBACKGROUND                    = 0x40000064,	/* Inappropriate operation for background process */
  EDIED                          = 0x40000065,	/* Translator died */
  ED                             = 0x40000066,	/* ? */
  EGREGIOUS                      = 0x40000067,	/* You really blew it this time */
  EIEIO                          = 0x40000068,	/* Computer bought the farm */
  EGRATUITOUS                    = 0x40000069,	/* Gratuitous error */
  EBADMSG                        = 0x4000006b,	/* Bad message */
  EIDRM                          = 0x4000006c,	/* Identifier removed */
  EMULTIHOP                      = 0x4000006d,	/* Multihop attempted */
  ENODATA                        = 0x4000006e,	/* No data available */
  ENOLINK                        = 0x4000006f,	/* Link has been severed */
  ENOMSG                         = 0x40000070,	/* No message of desired type */
  ENOSR                          = 0x40000071,	/* Out of streams resources */
  ENOSTR                         = 0x40000072,	/* Device not a stream */
  EOVERFLOW                      = 0x40000073,	/* Value too large for defined data type */
  EPROTO                         = 0x40000074,	/* Protocol error */
  ETIME                          = 0x40000075,	/* Timer expired */
  ECANCELED                      = 0x40000077,	/* Operation canceled */

/* Errors from <mach/message.h>.  */
  EMACH_SEND_IN_PROGRESS         = 0x10000001,
  EMACH_SEND_INVALID_DATA        = 0x10000002,
  EMACH_SEND_INVALID_DEST        = 0x10000003,
  EMACH_SEND_TIMED_OUT           = 0x10000004,
  EMACH_SEND_WILL_NOTIFY         = 0x10000005,
  EMACH_SEND_NOTIFY_IN_PROGRESS  = 0x10000006,
  EMACH_SEND_INTERRUPTED         = 0x10000007,
  EMACH_SEND_MSG_TOO_SMALL       = 0x10000008,
  EMACH_SEND_INVALID_REPLY       = 0x10000009,
  EMACH_SEND_INVALID_RIGHT       = 0x1000000a,
  EMACH_SEND_INVALID_NOTIFY      = 0x1000000b,
  EMACH_SEND_INVALID_MEMORY      = 0x1000000c,
  EMACH_SEND_NO_BUFFER           = 0x1000000d,
  EMACH_SEND_NO_NOTIFY           = 0x1000000e,
  EMACH_SEND_INVALID_TYPE        = 0x1000000f,
  EMACH_SEND_INVALID_HEADER      = 0x10000010,
  EMACH_RCV_IN_PROGRESS          = 0x10004001,
  EMACH_RCV_INVALID_NAME         = 0x10004002,
  EMACH_RCV_TIMED_OUT            = 0x10004003,
  EMACH_RCV_TOO_LARGE            = 0x10004004,
  EMACH_RCV_INTERRUPTED          = 0x10004005,
  EMACH_RCV_PORT_CHANGED         = 0x10004006,
  EMACH_RCV_INVALID_NOTIFY       = 0x10004007,
  EMACH_RCV_INVALID_DATA         = 0x10004008,
  EMACH_RCV_PORT_DIED            = 0x10004009,
  EMACH_RCV_IN_SET               = 0x1000400a,
  EMACH_RCV_HEADER_ERROR         = 0x1000400b,
  EMACH_RCV_BODY_ERROR           = 0x1000400c,

/* Errors from <mach/kern_return.h>.  */
  EKERN_INVALID_ADDRESS          = 1,
  EKERN_PROTECTION_FAILURE       = 2,
  EKERN_NO_SPACE                 = 3,
  EKERN_INVALID_ARGUMENT         = 4,
  EKERN_FAILURE                  = 5,
  EKERN_RESOURCE_SHORTAGE        = 6,
  EKERN_NOT_RECEIVER             = 7,
  EKERN_NO_ACCESS                = 8,
  EKERN_MEMORY_FAILURE           = 9,
  EKERN_MEMORY_ERROR             = 10,
  EKERN_NOT_IN_SET               = 12,
  EKERN_NAME_EXISTS              = 13,
  EKERN_ABORTED                  = 14,
  EKERN_INVALID_NAME             = 15,
  EKERN_INVALID_TASK             = 16,
  EKERN_INVALID_RIGHT            = 17,
  EKERN_INVALID_VALUE            = 18,
  EKERN_UREFS_OVERFLOW           = 19,
  EKERN_INVALID_CAPABILITY       = 20,
  EKERN_RIGHT_EXISTS             = 21,
  EKERN_INVALID_HOST             = 22,
  EKERN_MEMORY_PRESENT           = 23,
  EKERN_WRITE_PROTECTION_FAILURE = 24,
  EKERN_TERMINATED               = 26,
  EKERN_TIMEDOUT                 = 27,
  EKERN_INTERRUPTED              = 28,

/* Errors from <mach/mig_errors.h>.  */
  EMIG_TYPE_ERROR                = -300,	/* client type check failure */
  EMIG_REPLY_MISMATCH            = -301,	/* wrong reply message ID */
  EMIG_REMOTE_ERROR              = -302,	/* server detected error */
  EMIG_BAD_ID                    = -303,	/* bad request message ID */
  EMIG_BAD_ARGUMENTS             = -304,	/* server type check failure */
  EMIG_NO_REPLY                  = -305,	/* no reply should be sent */
  EMIG_EXCEPTION                 = -306,	/* server raised exception */
  EMIG_ARRAY_TOO_LARGE           = -307,	/* array not large enough */
  EMIG_SERVER_DIED               = -308,	/* server died */
  EMIG_DESTROY_REQUEST           = -309,	/* destroy request with no reply */

/* Errors from <device/device_types.h>.  */
  ED_IO_ERROR                    = 2500,	/* hardware IO error */
  ED_WOULD_BLOCK                 = 2501,	/* would block, but D_NOWAIT set */
  ED_NO_SUCH_DEVICE              = 2502,	/* no such device */
  ED_ALREADY_OPEN                = 2503,	/* exclusive-use device already open */
  ED_DEVICE_DOWN                 = 2504,	/* device has been shut down */
  ED_INVALID_OPERATION           = 2505,	/* bad operation for device */
  ED_INVALID_RECNUM              = 2506,	/* invalid record (block) number */
  ED_INVALID_SIZE                = 2507,	/* invalid IO size */
  ED_NO_MEMORY                   = 2508,	/* memory allocation failure */
  ED_READ_ONLY                   = 2509,	/* device cannot be written to */

  /* Because the C standard requires that errno have type 'int',
     this enumeration must be a signed type.  */
  __FORCE_ERROR_T_CODES_SIGNED = -1
};

/* User-visible type of error codes.  It is ok to use 'int' or
   'kern_return_t' for these, but with 'error_t' the debugger prints
   symbolic values.  */
# if !defined __error_t_defined && defined __USE_GNU
#  define __error_t_defined 1
typedef enum __error_t_codes error_t;
# endif

#endif /* not __ASSEMBLER__ */

/* The C standard requires that all of the E-constants be
   defined as macros.  */

#define EPERM                          0x40000001
#define ENOENT                         0x40000002
#define ESRCH                          0x40000003
#define EINTR                          0x40000004
#define EIO                            0x40000005
#define ENXIO                          0x40000006
#define E2BIG                          0x40000007
#define ENOEXEC                        0x40000008
#define EBADF                          0x40000009
#define ECHILD                         0x4000000a
#define EDEADLK                        0x4000000b
#define ENOMEM                         0x4000000c
#define EACCES                         0x4000000d
#define EFAULT                         0x4000000e
#define ENOTBLK                        0x4000000f
#define EBUSY                          0x40000010
#define EEXIST                         0x40000011
#define EXDEV                          0x40000012
#define ENODEV                         0x40000013
#define ENOTDIR                        0x40000014
#define EISDIR                         0x40000015
#define EINVAL                         0x40000016
#define EMFILE                         0x40000018
#define ENFILE                         0x40000017
#define ENOTTY                         0x40000019
#define ETXTBSY                        0x4000001a
#define EFBIG                          0x4000001b
#define ENOSPC                         0x4000001c
#define ESPIPE                         0x4000001d
#define EROFS                          0x4000001e
#define EMLINK                         0x4000001f
#define EPIPE                          0x40000020
#define EDOM                           0x40000021
#define ERANGE                         0x40000022
#define EAGAIN                         0x40000023
#define EWOULDBLOCK                    EAGAIN
#define EINPROGRESS                    0x40000024
#define EALREADY                       0x40000025
#define ENOTSOCK                       0x40000026
#define EMSGSIZE                       0x40000028
#define EPROTOTYPE                     0x40000029
#define ENOPROTOOPT                    0x4000002a
#define EPROTONOSUPPORT                0x4000002b
#define ESOCKTNOSUPPORT                0x4000002c
#define EOPNOTSUPP                     0x4000002d
#define EPFNOSUPPORT                   0x4000002e
#define EAFNOSUPPORT                   0x4000002f
#define EADDRINUSE                     0x40000030
#define EADDRNOTAVAIL                  0x40000031
#define ENETDOWN                       0x40000032
#define ENETUNREACH                    0x40000033
#define ENETRESET                      0x40000034
#define ECONNABORTED                   0x40000035
#define ECONNRESET                     0x40000036
#define ENOBUFS                        0x40000037
#define EISCONN                        0x40000038
#define ENOTCONN                       0x40000039
#define EDESTADDRREQ                   0x40000027
#define ESHUTDOWN                      0x4000003a
#define ETOOMANYREFS                   0x4000003b
#define ETIMEDOUT                      0x4000003c
#define ECONNREFUSED                   0x4000003d
#define ELOOP                          0x4000003e
#define ENAMETOOLONG                   0x4000003f
#define EHOSTDOWN                      0x40000040
#define EHOSTUNREACH                   0x40000041
#define ENOTEMPTY                      0x40000042
#define EPROCLIM                       0x40000043
#define EUSERS                         0x40000044
#define EDQUOT                         0x40000045
#define ESTALE                         0x40000046
#define EREMOTE                        0x40000047
#define EBADRPC                        0x40000048
#define ERPCMISMATCH                   0x40000049
#define EPROGUNAVAIL                   0x4000004a
#define EPROGMISMATCH                  0x4000004b
#define EPROCUNAVAIL                   0x4000004c
#define ENOLCK                         0x4000004d
#define EFTYPE                         0x4000004f
#define EAUTH                          0x40000050
#define ENEEDAUTH                      0x40000051
#define ENOSYS                         0x4000004e
#define ENOTSUP                        0x40000076
#define EILSEQ                         0x4000006a
#define EBACKGROUND                    0x40000064
#define EDIED                          0x40000065
#define ED                             0x40000066
#define EGREGIOUS                      0x40000067
#define EIEIO                          0x40000068
#define EGRATUITOUS                    0x40000069
#define EBADMSG                        0x4000006b
#define EIDRM                          0x4000006c
#define EMULTIHOP                      0x4000006d
#define ENODATA                        0x4000006e
#define ENOLINK                        0x4000006f
#define ENOMSG                         0x40000070
#define ENOSR                          0x40000071
#define ENOSTR                         0x40000072
#define EOVERFLOW                      0x40000073
#define EPROTO                         0x40000074
#define ETIME                          0x40000075
#define ECANCELED                      0x40000077

/* Errors from <mach/message.h>.  */
#define EMACH_SEND_IN_PROGRESS         0x10000001
#define EMACH_SEND_INVALID_DATA        0x10000002
#define EMACH_SEND_INVALID_DEST        0x10000003
#define EMACH_SEND_TIMED_OUT           0x10000004
#define EMACH_SEND_WILL_NOTIFY         0x10000005
#define EMACH_SEND_NOTIFY_IN_PROGRESS  0x10000006
#define EMACH_SEND_INTERRUPTED         0x10000007
#define EMACH_SEND_MSG_TOO_SMALL       0x10000008
#define EMACH_SEND_INVALID_REPLY       0x10000009
#define EMACH_SEND_INVALID_RIGHT       0x1000000a
#define EMACH_SEND_INVALID_NOTIFY      0x1000000b
#define EMACH_SEND_INVALID_MEMORY      0x1000000c
#define EMACH_SEND_NO_BUFFER           0x1000000d
#define EMACH_SEND_NO_NOTIFY           0x1000000e
#define EMACH_SEND_INVALID_TYPE        0x1000000f
#define EMACH_SEND_INVALID_HEADER      0x10000010
#define EMACH_RCV_IN_PROGRESS          0x10004001
#define EMACH_RCV_INVALID_NAME         0x10004002
#define EMACH_RCV_TIMED_OUT            0x10004003
#define EMACH_RCV_TOO_LARGE            0x10004004
#define EMACH_RCV_INTERRUPTED          0x10004005
#define EMACH_RCV_PORT_CHANGED         0x10004006
#define EMACH_RCV_INVALID_NOTIFY       0x10004007
#define EMACH_RCV_INVALID_DATA         0x10004008
#define EMACH_RCV_PORT_DIED            0x10004009
#define EMACH_RCV_IN_SET               0x1000400a
#define EMACH_RCV_HEADER_ERROR         0x1000400b
#define EMACH_RCV_BODY_ERROR           0x1000400c

/* Errors from <mach/kern_return.h>.  */
#define EKERN_INVALID_ADDRESS          1
#define EKERN_PROTECTION_FAILURE       2
#define EKERN_NO_SPACE                 3
#define EKERN_INVALID_ARGUMENT         4
#define EKERN_FAILURE                  5
#define EKERN_RESOURCE_SHORTAGE        6
#define EKERN_NOT_RECEIVER             7
#define EKERN_NO_ACCESS                8
#define EKERN_MEMORY_FAILURE           9
#define EKERN_MEMORY_ERROR             10
#define EKERN_NOT_IN_SET               12
#define EKERN_NAME_EXISTS              13
#define EKERN_ABORTED                  14
#define EKERN_INVALID_NAME             15
#define EKERN_INVALID_TASK             16
#define EKERN_INVALID_RIGHT            17
#define EKERN_INVALID_VALUE            18
#define EKERN_UREFS_OVERFLOW           19
#define EKERN_INVALID_CAPABILITY       20
#define EKERN_RIGHT_EXISTS             21
#define EKERN_INVALID_HOST             22
#define EKERN_MEMORY_PRESENT           23
#define EKERN_WRITE_PROTECTION_FAILURE 24
#define EKERN_TERMINATED               26
#define EKERN_TIMEDOUT                 27
#define EKERN_INTERRUPTED              28

/* Errors from <mach/mig_errors.h>.  */
#define EMIG_TYPE_ERROR                -300
#define EMIG_REPLY_MISMATCH            -301
#define EMIG_REMOTE_ERROR              -302
#define EMIG_BAD_ID                    -303
#define EMIG_BAD_ARGUMENTS             -304
#define EMIG_NO_REPLY                  -305
#define EMIG_EXCEPTION                 -306
#define EMIG_ARRAY_TOO_LARGE           -307
#define EMIG_SERVER_DIED               -308
#define EMIG_DESTROY_REQUEST           -309

/* Errors from <device/device_types.h>.  */
#define ED_IO_ERROR                    2500
#define ED_WOULD_BLOCK                 2501
#define ED_NO_SUCH_DEVICE              2502
#define ED_ALREADY_OPEN                2503
#define ED_DEVICE_DOWN                 2504
#define ED_INVALID_OPERATION           2505
#define ED_INVALID_RECNUM              2506
#define ED_INVALID_SIZE                2507
#define ED_NO_MEMORY                   2508
#define ED_READ_ONLY                   2509

#define _HURD_ERRNOS 120

#endif /* bits/errno.h.  */
