File: /usr/include/sys/errno.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: /*
       2:  * Copyright (c) 2000-2012 Apple, Inc. All rights reserved.
       3:  *
       4:  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
       5:  * 
       6:  * This file contains Original Code and/or Modifications of Original Code
       7:  * as defined in and that are subject to the Apple Public Source License
       8:  * Version 2.0 (the 'License'). You may not use this file except in
       9:  * compliance with the License. The rights granted to you under the License
      10:  * may not be used to create, or enable the creation or redistribution of,
      11:  * unlawful or unlicensed copies of an Apple operating system, or to
      12:  * circumvent, violate, or enable the circumvention or violation of, any
      13:  * terms of an Apple operating system software license agreement.
      14:  * 
      15:  * Please obtain a copy of the License at
      16:  * http://www.opensource.apple.com/apsl/ and read it before using this file.
      17:  * 
      18:  * The Original Code and all software distributed under the License are
      19:  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
      20:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
      21:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
      22:  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
      23:  * Please see the License for the specific language governing rights and
      24:  * limitations under the License.
      25:  * 
      26:  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
      27:  */
      28: /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
      29: /*
      30:  * Copyright (c) 1982, 1986, 1989, 1993
      31:  *    The Regents of the University of California.  All rights reserved.
      32:  * (c) UNIX System Laboratories, Inc.
      33:  * All or some portions of this file are derived from material licensed
      34:  * to the University of California by American Telephone and Telegraph
      35:  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
      36:  * the permission of UNIX System Laboratories, Inc.
      37:  *
      38:  * Redistribution and use in source and binary forms, with or without
      39:  * modification, are permitted provided that the following conditions
      40:  * are met:
      41:  * 1. Redistributions of source code must retain the above copyright
      42:  *    notice, this list of conditions and the following disclaimer.
      43:  * 2. Redistributions in binary form must reproduce the above copyright
      44:  *    notice, this list of conditions and the following disclaimer in the
      45:  *    documentation and/or other materials provided with the distribution.
      46:  * 3. All advertising materials mentioning features or use of this software
      47:  *    must display the following acknowledgement:
      48:  *    This product includes software developed by the University of
      49:  *    California, Berkeley and its contributors.
      50:  * 4. Neither the name of the University nor the names of its contributors
      51:  *    may be used to endorse or promote products derived from this software
      52:  *    without specific prior written permission.
      53:  *
      54:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
      55:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      56:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
      57:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
      58:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
      59:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
      60:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
      61:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
      62:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
      63:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
      64:  * SUCH DAMAGE.
      65:  *
      66:  *    @(#)errno.h    8.5 (Berkeley) 1/21/94
      67:  */
      68: 
      69: #ifndef    _SYS_ERRNO_H_
      70: #define    _SYS_ERRNO_H_
      71: 
      72: #include <sys/cdefs.h>
      73: 
      74: 
      75: #if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
      76: #include <sys/_types/_errno_t.h>
      77: #endif
      78: 
      79: __BEGIN_DECLS
      80: extern int * __error(void);
      81: #define errno (*__error())
      82: __END_DECLS
      83: 
      84: /*
      85:  * Error codes
      86:  */
      87: 
      88: #define    EPERM        1        /* Operation not permitted */
      89: #define    ENOENT        2        /* No such file or directory */
      90: #define    ESRCH        3        /* No such process */
      91: #define    EINTR        4        /* Interrupted system call */
      92: #define    EIO        5        /* Input/output error */
      93: #define    ENXIO        6        /* Device not configured */
      94: #define    E2BIG        7        /* Argument list too long */
      95: #define    ENOEXEC        8        /* Exec format error */
      96: #define    EBADF        9        /* Bad file descriptor */
      97: #define    ECHILD        10        /* No child processes */
      98: #define    EDEADLK        11        /* Resource deadlock avoided */
      99:                     /* 11 was EAGAIN */
     100: #define    ENOMEM        12        /* Cannot allocate memory */
     101: #define    EACCES        13        /* Permission denied */
     102: #define    EFAULT        14        /* Bad address */
     103: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     104: #define    ENOTBLK        15        /* Block device required */
     105: #endif
     106: #define    EBUSY        16        /* Device / Resource busy */
     107: #define    EEXIST        17        /* File exists */
     108: #define    EXDEV        18        /* Cross-device link */
     109: #define    ENODEV        19        /* Operation not supported by device */
     110: #define    ENOTDIR        20        /* Not a directory */
     111: #define    EISDIR        21        /* Is a directory */
     112: #define    EINVAL        22        /* Invalid argument */
     113: #define    ENFILE        23        /* Too many open files in system */
     114: #define    EMFILE        24        /* Too many open files */
     115: #define    ENOTTY        25        /* Inappropriate ioctl for device */
     116: #define    ETXTBSY        26        /* Text file busy */
     117: #define    EFBIG        27        /* File too large */
     118: #define    ENOSPC        28        /* No space left on device */
     119: #define    ESPIPE        29        /* Illegal seek */
     120: #define    EROFS        30        /* Read-only file system */
     121: #define    EMLINK        31        /* Too many links */
     122: #define    EPIPE        32        /* Broken pipe */
     123: 
     124: /* math software */
     125: #define    EDOM        33        /* Numerical argument out of domain */
     126: #define    ERANGE        34        /* Result too large */
     127: 
     128: /* non-blocking and interrupt i/o */
     129: #define    EAGAIN        35        /* Resource temporarily unavailable */
     130: #define    EWOULDBLOCK    EAGAIN        /* Operation would block */
     131: #define    EINPROGRESS    36        /* Operation now in progress */
     132: #define    EALREADY    37        /* Operation already in progress */
     133: 
     134: /* ipc/network software -- argument errors */
     135: #define    ENOTSOCK    38        /* Socket operation on non-socket */
     136: #define    EDESTADDRREQ    39        /* Destination address required */
     137: #define    EMSGSIZE    40        /* Message too long */
     138: #define    EPROTOTYPE    41        /* Protocol wrong type for socket */
     139: #define    ENOPROTOOPT    42        /* Protocol not available */
     140: #define    EPROTONOSUPPORT    43        /* Protocol not supported */
     141: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     142: #define    ESOCKTNOSUPPORT    44        /* Socket type not supported */
     143: #endif
     144: #define ENOTSUP        45        /* Operation not supported */
     145: #if !__DARWIN_UNIX03 && !defined(KERNEL)
     146: /*
     147:  * This is the same for binary and source copmpatability, unless compiling
     148:  * the kernel itself, or compiling __DARWIN_UNIX03; if compiling for the
     149:  * kernel, the correct value will be returned.  If compiling non-POSIX
     150:  * source, the kernel return value will be converted by a stub in libc, and
     151:  * if compiling source with __DARWIN_UNIX03, the conversion in libc is not
     152:  * done, and the caller gets the expected (discrete) value.
     153:  */
     154: #define    EOPNOTSUPP     ENOTSUP    /* Operation not supported on socket */
     155: #endif /* !__DARWIN_UNIX03 && !KERNEL */
     156: 
     157: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     158: #define    EPFNOSUPPORT    46        /* Protocol family not supported */
     159: #endif
     160: #define    EAFNOSUPPORT    47        /* Address family not supported by protocol family */
     161: #define    EADDRINUSE    48        /* Address already in use */
     162: #define    EADDRNOTAVAIL    49        /* Can't assign requested address */
     163: 
     164: /* ipc/network software -- operational errors */
     165: #define    ENETDOWN    50        /* Network is down */
     166: #define    ENETUNREACH    51        /* Network is unreachable */
     167: #define    ENETRESET    52        /* Network dropped connection on reset */
     168: #define    ECONNABORTED    53        /* Software caused connection abort */
     169: #define    ECONNRESET    54        /* Connection reset by peer */
     170: #define    ENOBUFS        55        /* No buffer space available */
     171: #define    EISCONN        56        /* Socket is already connected */
     172: #define    ENOTCONN    57        /* Socket is not connected */
     173: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     174: #define    ESHUTDOWN    58        /* Can't send after socket shutdown */
     175: #define    ETOOMANYREFS    59        /* Too many references: can't splice */
     176: #endif
     177: #define    ETIMEDOUT    60        /* Operation timed out */
     178: #define    ECONNREFUSED    61        /* Connection refused */
     179: 
     180: #define    ELOOP        62        /* Too many levels of symbolic links */
     181: #define    ENAMETOOLONG    63        /* File name too long */
     182: 
     183: /* should be rearranged */
     184: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     185: #define    EHOSTDOWN    64        /* Host is down */
     186: #endif
     187: #define    EHOSTUNREACH    65        /* No route to host */
     188: #define    ENOTEMPTY    66        /* Directory not empty */
     189: 
     190: /* quotas & mush */
     191: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     192: #define    EPROCLIM    67        /* Too many processes */
     193: #define    EUSERS        68        /* Too many users */
     194: #endif
     195: #define    EDQUOT        69        /* Disc quota exceeded */
     196: 
     197: /* Network File System */
     198: #define    ESTALE        70        /* Stale NFS file handle */
     199: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     200: #define    EREMOTE        71        /* Too many levels of remote in path */
     201: #define    EBADRPC        72        /* RPC struct is bad */
     202: #define    ERPCMISMATCH    73        /* RPC version wrong */
     203: #define    EPROGUNAVAIL    74        /* RPC prog. not avail */
     204: #define    EPROGMISMATCH    75        /* Program version wrong */
     205: #define    EPROCUNAVAIL    76        /* Bad procedure for program */
     206: #endif
     207: 
     208: #define    ENOLCK        77        /* No locks available */
     209: #define    ENOSYS        78        /* Function not implemented */
     210: 
     211: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     212: #define    EFTYPE        79        /* Inappropriate file type or format */
     213: #define    EAUTH        80        /* Authentication error */
     214: #define    ENEEDAUTH    81        /* Need authenticator */
     215: 
     216: /* Intelligent device errors */
     217: #define    EPWROFF        82    /* Device power is off */
     218: #define    EDEVERR        83    /* Device error, e.g. paper out */
     219: #endif
     220: 
     221: #define    EOVERFLOW    84        /* Value too large to be stored in data type */
     222: 
     223: /* Program loading errors */
     224: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     225: #define EBADEXEC    85    /* Bad executable */
     226: #define EBADARCH    86    /* Bad CPU type in executable */
     227: #define ESHLIBVERS    87    /* Shared library version mismatch */
     228: #define EBADMACHO    88    /* Malformed Macho file */
     229: #endif
     230: 
     231: #define    ECANCELED    89        /* Operation canceled */
     232: 
     233: #define EIDRM        90        /* Identifier removed */
     234: #define ENOMSG        91        /* No message of desired type */   
     235: #define EILSEQ        92        /* Illegal byte sequence */
     236: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     237: #define ENOATTR        93        /* Attribute not found */
     238: #endif
     239: 
     240: #define EBADMSG        94        /* Bad message */
     241: #define EMULTIHOP    95        /* Reserved */
     242: #define    ENODATA        96        /* No message available on STREAM */
     243: #define ENOLINK        97        /* Reserved */
     244: #define ENOSR        98        /* No STREAM resources */
     245: #define ENOSTR        99        /* Not a STREAM */
     246: #define    EPROTO        100        /* Protocol error */
     247: #define ETIME        101        /* STREAM ioctl timeout */
     248: 
     249: #if __DARWIN_UNIX03 || defined(KERNEL)
     250: /* This value is only discrete when compiling __DARWIN_UNIX03, or KERNEL */
     251: #define    EOPNOTSUPP    102        /* Operation not supported on socket */
     252: #endif /* __DARWIN_UNIX03 || KERNEL */
     253: 
     254: #define ENOPOLICY    103        /* No such policy registered */
     255: 
     256: #if __DARWIN_C_LEVEL >= 200809L
     257: #define ENOTRECOVERABLE 104        /* State not recoverable */
     258: #define EOWNERDEAD      105        /* Previous owner died */
     259: #endif
     260: 
     261: #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
     262: #define    EQFULL        106        /* Interface output queue is full */
     263: #define    ELAST        106        /* Must be equal largest errno */
     264: #endif
     265: 
     266: #endif /* _SYS_ERRNO_H_ */
     267: