]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/errno.h
xnu-6153.41.3.tar.gz
[apple/xnu.git] / bsd / sys / errno.h
index 8105a42b3624bf08f82218edd0b0e81031ef0680..502fabcd0cbb57ce09ee4aa501b92c96929bb70e 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 2000-2012 Apple, Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * Copyright (c) 2000-2012 Apple, Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
- * 
+ *
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
  * unlawful or unlicensed copies of an Apple operating system, or to
  * circumvent, violate, or enable the circumvention or violation of, any
  * terms of an Apple operating system software license agreement.
  * unlawful or unlicensed copies of an Apple operating system, or to
  * circumvent, violate, or enable the circumvention or violation of, any
  * terms of an Apple operating system software license agreement.
- * 
+ *
  * Please obtain a copy of the License at
  * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * Please obtain a copy of the License at
  * http://www.opensource.apple.com/apsl/ and read it before using this file.
- * 
+ *
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
@@ -22,7 +22,7 @@
  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  * Please see the License for the specific language governing rights and
  * limitations under the License.
- * 
+ *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  *     @(#)errno.h     8.5 (Berkeley) 1/21/94
  */
 
  *     @(#)errno.h     8.5 (Berkeley) 1/21/94
  */
 
-#ifndef        _SYS_ERRNO_H_
-#define        _SYS_ERRNO_H_
+#ifndef _SYS_ERRNO_H_
+#define _SYS_ERRNO_H_
 
 #include <sys/cdefs.h>
 
 #if !defined(KERNEL) && !defined(KERNEL_PRIVATE)
 
 #include <sys/cdefs.h>
 
 #if !defined(KERNEL) && !defined(KERNEL_PRIVATE)
+
+#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
+#include <sys/_types/_errno_t.h>
+#endif
+
 __BEGIN_DECLS
 extern int * __error(void);
 #define errno (*__error())
 __BEGIN_DECLS
 extern int * __error(void);
 #define errno (*__error())
@@ -82,63 +87,63 @@ __END_DECLS
  * Error codes
  */
 
  * Error codes
  */
 
-#define        EPERM           1               /* Operation not permitted */
-#define        ENOENT          2               /* No such file or directory */
-#define        ESRCH           3               /* No such process */
-#define        EINTR           4               /* Interrupted system call */
-#define        EIO             5               /* Input/output error */
-#define        ENXIO           6               /* Device not configured */
-#define        E2BIG           7               /* Argument list too long */
-#define        ENOEXEC         8               /* Exec format error */
-#define        EBADF           9               /* Bad file descriptor */
-#define        ECHILD          10              /* No child processes */
-#define        EDEADLK         11              /* Resource deadlock avoided */
-                                       /* 11 was EAGAIN */
-#define        ENOMEM          12              /* Cannot allocate memory */
-#define        EACCES          13              /* Permission denied */
-#define        EFAULT          14              /* Bad address */
+#define EPERM           1               /* Operation not permitted */
+#define ENOENT          2               /* No such file or directory */
+#define ESRCH           3               /* No such process */
+#define EINTR           4               /* Interrupted system call */
+#define EIO             5               /* Input/output error */
+#define ENXIO           6               /* Device not configured */
+#define E2BIG           7               /* Argument list too long */
+#define ENOEXEC         8               /* Exec format error */
+#define EBADF           9               /* Bad file descriptor */
+#define ECHILD          10              /* No child processes */
+#define EDEADLK         11              /* Resource deadlock avoided */
+                                        /* 11 was EAGAIN */
+#define ENOMEM          12              /* Cannot allocate memory */
+#define EACCES          13              /* Permission denied */
+#define EFAULT          14              /* Bad address */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        ENOTBLK         15              /* Block device required */
+#define ENOTBLK         15              /* Block device required */
 #endif
 #endif
-#define        EBUSY           16              /* Device / Resource busy */
-#define        EEXIST          17              /* File exists */
-#define        EXDEV           18              /* Cross-device link */
-#define        ENODEV          19              /* Operation not supported by device */
-#define        ENOTDIR         20              /* Not a directory */
-#define        EISDIR          21              /* Is a directory */
-#define        EINVAL          22              /* Invalid argument */
-#define        ENFILE          23              /* Too many open files in system */
-#define        EMFILE          24              /* Too many open files */
-#define        ENOTTY          25              /* Inappropriate ioctl for device */
-#define        ETXTBSY         26              /* Text file busy */
-#define        EFBIG           27              /* File too large */
-#define        ENOSPC          28              /* No space left on device */
-#define        ESPIPE          29              /* Illegal seek */
-#define        EROFS           30              /* Read-only file system */
-#define        EMLINK          31              /* Too many links */
-#define        EPIPE           32              /* Broken pipe */
+#define EBUSY           16              /* Device / Resource busy */
+#define EEXIST          17              /* File exists */
+#define EXDEV           18              /* Cross-device link */
+#define ENODEV          19              /* Operation not supported by device */
+#define ENOTDIR         20              /* Not a directory */
+#define EISDIR          21              /* Is a directory */
+#define EINVAL          22              /* Invalid argument */
+#define ENFILE          23              /* Too many open files in system */
+#define EMFILE          24              /* Too many open files */
+#define ENOTTY          25              /* Inappropriate ioctl for device */
+#define ETXTBSY         26              /* Text file busy */
+#define EFBIG           27              /* File too large */
+#define ENOSPC          28              /* No space left on device */
+#define ESPIPE          29              /* Illegal seek */
+#define EROFS           30              /* Read-only file system */
+#define EMLINK          31              /* Too many links */
+#define EPIPE           32              /* Broken pipe */
 
 /* math software */
 
 /* math software */
-#define        EDOM            33              /* Numerical argument out of domain */
-#define        ERANGE          34              /* Result too large */
+#define EDOM            33              /* Numerical argument out of domain */
+#define ERANGE          34              /* Result too large */
 
 /* non-blocking and interrupt i/o */
 
 /* non-blocking and interrupt i/o */
-#define        EAGAIN          35              /* Resource temporarily unavailable */
-#define        EWOULDBLOCK     EAGAIN          /* Operation would block */
-#define        EINPROGRESS     36              /* Operation now in progress */
-#define        EALREADY        37              /* Operation already in progress */
+#define EAGAIN          35              /* Resource temporarily unavailable */
+#define EWOULDBLOCK     EAGAIN          /* Operation would block */
+#define EINPROGRESS     36              /* Operation now in progress */
+#define EALREADY        37              /* Operation already in progress */
 
 /* ipc/network software -- argument errors */
 
 /* ipc/network software -- argument errors */
-#define        ENOTSOCK        38              /* Socket operation on non-socket */
-#define        EDESTADDRREQ    39              /* Destination address required */
-#define        EMSGSIZE        40              /* Message too long */
-#define        EPROTOTYPE      41              /* Protocol wrong type for socket */
-#define        ENOPROTOOPT     42              /* Protocol not available */
-#define        EPROTONOSUPPORT 43              /* Protocol not supported */
+#define ENOTSOCK        38              /* Socket operation on non-socket */
+#define EDESTADDRREQ    39              /* Destination address required */
+#define EMSGSIZE        40              /* Message too long */
+#define EPROTOTYPE      41              /* Protocol wrong type for socket */
+#define ENOPROTOOPT     42              /* Protocol not available */
+#define EPROTONOSUPPORT 43              /* Protocol not supported */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        ESOCKTNOSUPPORT 44              /* Socket type not supported */
+#define ESOCKTNOSUPPORT 44              /* Socket type not supported */
 #endif
 #endif
-#define ENOTSUP                45              /* Operation not supported */
+#define ENOTSUP         45              /* Operation not supported */
 #if !__DARWIN_UNIX03 && !defined(KERNEL)
 /*
  * This is the same for binary and source copmpatability, unless compiling
 #if !__DARWIN_UNIX03 && !defined(KERNEL)
 /*
  * This is the same for binary and source copmpatability, unless compiling
@@ -148,135 +153,138 @@ __END_DECLS
  * if compiling source with __DARWIN_UNIX03, the conversion in libc is not
  * done, and the caller gets the expected (discrete) value.
  */
  * if compiling source with __DARWIN_UNIX03, the conversion in libc is not
  * done, and the caller gets the expected (discrete) value.
  */
-#define        EOPNOTSUPP       ENOTSUP        /* Operation not supported on socket */
+#define EOPNOTSUPP       ENOTSUP        /* Operation not supported on socket */
 #endif /* !__DARWIN_UNIX03 && !KERNEL */
 
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 #endif /* !__DARWIN_UNIX03 && !KERNEL */
 
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        EPFNOSUPPORT    46              /* Protocol family not supported */
+#define EPFNOSUPPORT    46              /* Protocol family not supported */
 #endif
 #endif
-#define        EAFNOSUPPORT    47              /* Address family not supported by protocol family */
-#define        EADDRINUSE      48              /* Address already in use */
-#define        EADDRNOTAVAIL   49              /* Can't assign requested address */
+#define EAFNOSUPPORT    47              /* Address family not supported by protocol family */
+#define EADDRINUSE      48              /* Address already in use */
+#define EADDRNOTAVAIL   49              /* Can't assign requested address */
 
 /* ipc/network software -- operational errors */
 
 /* ipc/network software -- operational errors */
-#define        ENETDOWN        50              /* Network is down */
-#define        ENETUNREACH     51              /* Network is unreachable */
-#define        ENETRESET       52              /* Network dropped connection on reset */
-#define        ECONNABORTED    53              /* Software caused connection abort */
-#define        ECONNRESET      54              /* Connection reset by peer */
-#define        ENOBUFS         55              /* No buffer space available */
-#define        EISCONN         56              /* Socket is already connected */
-#define        ENOTCONN        57              /* Socket is not connected */
+#define ENETDOWN        50              /* Network is down */
+#define ENETUNREACH     51              /* Network is unreachable */
+#define ENETRESET       52              /* Network dropped connection on reset */
+#define ECONNABORTED    53              /* Software caused connection abort */
+#define ECONNRESET      54              /* Connection reset by peer */
+#define ENOBUFS         55              /* No buffer space available */
+#define EISCONN         56              /* Socket is already connected */
+#define ENOTCONN        57              /* Socket is not connected */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        ESHUTDOWN       58              /* Can't send after socket shutdown */
-#define        ETOOMANYREFS    59              /* Too many references: can't splice */
+#define ESHUTDOWN       58              /* Can't send after socket shutdown */
+#define ETOOMANYREFS    59              /* Too many references: can't splice */
 #endif
 #endif
-#define        ETIMEDOUT       60              /* Operation timed out */
-#define        ECONNREFUSED    61              /* Connection refused */
+#define ETIMEDOUT       60              /* Operation timed out */
+#define ECONNREFUSED    61              /* Connection refused */
 
 
-#define        ELOOP           62              /* Too many levels of symbolic links */
-#define        ENAMETOOLONG    63              /* File name too long */
+#define ELOOP           62              /* Too many levels of symbolic links */
+#define ENAMETOOLONG    63              /* File name too long */
 
 /* should be rearranged */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 
 /* should be rearranged */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        EHOSTDOWN       64              /* Host is down */
+#define EHOSTDOWN       64              /* Host is down */
 #endif
 #endif
-#define        EHOSTUNREACH    65              /* No route to host */
-#define        ENOTEMPTY       66              /* Directory not empty */
+#define EHOSTUNREACH    65              /* No route to host */
+#define ENOTEMPTY       66              /* Directory not empty */
 
 /* quotas & mush */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 
 /* quotas & mush */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        EPROCLIM        67              /* Too many processes */
-#define        EUSERS          68              /* Too many users */
+#define EPROCLIM        67              /* Too many processes */
+#define EUSERS          68              /* Too many users */
 #endif
 #endif
-#define        EDQUOT          69              /* Disc quota exceeded */
+#define EDQUOT          69              /* Disc quota exceeded */
 
 /* Network File System */
 
 /* Network File System */
-#define        ESTALE          70              /* Stale NFS file handle */
+#define ESTALE          70              /* Stale NFS file handle */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        EREMOTE         71              /* Too many levels of remote in path */
-#define        EBADRPC         72              /* RPC struct is bad */
-#define        ERPCMISMATCH    73              /* RPC version wrong */
-#define        EPROGUNAVAIL    74              /* RPC prog. not avail */
-#define        EPROGMISMATCH   75              /* Program version wrong */
-#define        EPROCUNAVAIL    76              /* Bad procedure for program */
+#define EREMOTE         71              /* Too many levels of remote in path */
+#define EBADRPC         72              /* RPC struct is bad */
+#define ERPCMISMATCH    73              /* RPC version wrong */
+#define EPROGUNAVAIL    74              /* RPC prog. not avail */
+#define EPROGMISMATCH   75              /* Program version wrong */
+#define EPROCUNAVAIL    76              /* Bad procedure for program */
 #endif
 
 #endif
 
-#define        ENOLCK          77              /* No locks available */
-#define        ENOSYS          78              /* Function not implemented */
+#define ENOLCK          77              /* No locks available */
+#define ENOSYS          78              /* Function not implemented */
 
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        EFTYPE          79              /* Inappropriate file type or format */
-#define        EAUTH           80              /* Authentication error */
-#define        ENEEDAUTH       81              /* Need authenticator */
+#define EFTYPE          79              /* Inappropriate file type or format */
+#define EAUTH           80              /* Authentication error */
+#define ENEEDAUTH       81              /* Need authenticator */
 
 /* Intelligent device errors */
 
 /* Intelligent device errors */
-#define        EPWROFF         82      /* Device power is off */
-#define        EDEVERR         83      /* Device error, e.g. paper out */
+#define EPWROFF         82      /* Device power is off */
+#define EDEVERR         83      /* Device error, e.g. paper out */
 #endif
 
 #endif
 
-#define        EOVERFLOW       84              /* Value too large to be stored in data type */
+#define EOVERFLOW       84              /* Value too large to be stored in data type */
 
 /* Program loading errors */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 
 /* Program loading errors */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define EBADEXEC       85      /* Bad executable */
-#define EBADARCH       86      /* Bad CPU type in executable */
-#define ESHLIBVERS     87      /* Shared library version mismatch */
-#define EBADMACHO      88      /* Malformed Macho file */
+#define EBADEXEC        85      /* Bad executable */
+#define EBADARCH        86      /* Bad CPU type in executable */
+#define ESHLIBVERS      87      /* Shared library version mismatch */
+#define EBADMACHO       88      /* Malformed Macho file */
 #endif
 
 #endif
 
-#define        ECANCELED       89              /* Operation canceled */
+#define ECANCELED       89              /* Operation canceled */
 
 
-#define EIDRM          90              /* Identifier removed */
-#define ENOMSG         91              /* No message of desired type */   
-#define EILSEQ         92              /* Illegal byte sequence */
+#define EIDRM           90              /* Identifier removed */
+#define ENOMSG          91              /* No message of desired type */
+#define EILSEQ          92              /* Illegal byte sequence */
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define ENOATTR                93              /* Attribute not found */
+#define ENOATTR         93              /* Attribute not found */
 #endif
 
 #endif
 
-#define EBADMSG                94              /* Bad message */
-#define EMULTIHOP      95              /* Reserved */
-#define        ENODATA         96              /* No message available on STREAM */
-#define ENOLINK                97              /* Reserved */
-#define ENOSR          98              /* No STREAM resources */
-#define ENOSTR         99              /* Not a STREAM */
-#define        EPROTO          100             /* Protocol error */
-#define ETIME          101             /* STREAM ioctl timeout */
+#define EBADMSG         94              /* Bad message */
+#define EMULTIHOP       95              /* Reserved */
+#define ENODATA         96              /* No message available on STREAM */
+#define ENOLINK         97              /* Reserved */
+#define ENOSR           98              /* No STREAM resources */
+#define ENOSTR          99              /* Not a STREAM */
+#define EPROTO          100             /* Protocol error */
+#define ETIME           101             /* STREAM ioctl timeout */
 
 #if __DARWIN_UNIX03 || defined(KERNEL)
 /* This value is only discrete when compiling __DARWIN_UNIX03, or KERNEL */
 
 #if __DARWIN_UNIX03 || defined(KERNEL)
 /* This value is only discrete when compiling __DARWIN_UNIX03, or KERNEL */
-#define        EOPNOTSUPP      102             /* Operation not supported on socket */
+#define EOPNOTSUPP      102             /* Operation not supported on socket */
 #endif /* __DARWIN_UNIX03 || KERNEL */
 
 #endif /* __DARWIN_UNIX03 || KERNEL */
 
-#define ENOPOLICY      103             /* No such policy registered */
+#define ENOPOLICY       103             /* No such policy registered */
 
 #if __DARWIN_C_LEVEL >= 200809L
 
 #if __DARWIN_C_LEVEL >= 200809L
-#define ENOTRECOVERABLE 104            /* State not recoverable */
-#define EOWNERDEAD      105            /* Previous owner died */
+#define ENOTRECOVERABLE 104             /* State not recoverable */
+#define EOWNERDEAD      105             /* Previous owner died */
 #endif
 
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
 #endif
 
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#define        EQFULL          106             /* Interface output queue is full */
-#define        ELAST           106             /* Must be equal largest errno */
+#define EQFULL          106             /* Interface output queue is full */
+#define ELAST           106             /* Must be equal largest errno */
 #endif
 
 #ifdef KERNEL
 /* pseudo-errors returned inside kernel to modify return to process */
 #endif
 
 #ifdef KERNEL
 /* pseudo-errors returned inside kernel to modify return to process */
-#define        ERESTART        (-1)            /* restart syscall */
-#define        EJUSTRETURN     (-2)            /* don't modify regs, just return */
+#define ERESTART        (-1)            /* restart syscall */
+#define EJUSTRETURN     (-2)            /* don't modify regs, just return */
 
 
+#ifdef KERNEL_PRIVATE
+#define ERECYCLE    (-5)                /* restart lookup under heavy vnode pressure/recycling */
+#endif
 #ifdef BSD_KERNEL_PRIVATE
 #ifdef BSD_KERNEL_PRIVATE
-#define ERECYCLE    (-5)               /* restart lookup under heavy vnode pressure/recycling */
-#define EREDRIVEOPEN   (-6)
-#define EKEEPLOOKING   (-7)
+#define EREDRIVEOPEN    (-6)
+#define EKEEPLOOKING    (-7)
+#define EDATALESS       (-8)
 /* used for cvwait error returns to Libc */
 /* used for cvwait error returns to Libc */
-#define ECVCERORR      256
-#define ECVPERORR      512
+#define ECVCERORR       256
+#define ECVPERORR       512
 #else /* BSD_KERNEL_PRIVATE */
 /* -5, -6 and -7 and -106 are reserved for kernel internal use */
 #endif /* BSD_KERNEL_PRIVATE */
 #ifdef PRIVATE
 #else /* BSD_KERNEL_PRIVATE */
 /* -5, -6 and -7 and -106 are reserved for kernel internal use */
 #endif /* BSD_KERNEL_PRIVATE */
 #ifdef PRIVATE
-#define        EQSUSPENDED     (-EQFULL)       /* Output queue is suspended */
+#define EQSUSPENDED     (-EQFULL)       /* Output queue is suspended */
 #endif /* PRIVATE */
 #endif /* KERNEL */
 #endif /* _SYS_ERRNO_H_ */
 #endif /* PRIVATE */
 #endif /* KERNEL */
 #endif /* _SYS_ERRNO_H_ */