1/* 2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_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. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23/* 24 * Copyright (c) 1982, 1985, 1993 25 * The Regents of the University of California. All rights reserved. 26 * 27 * Redistribution and use in source and binary forms, with or without 28 * modification, are permitted provided that the following conditions 29 * are met: 30 * 1. Redistributions of source code must retain the above copyright 31 * notice, this list of conditions and the following disclaimer. 32 * 2. Redistributions in binary form must reproduce the above copyright 33 * notice, this list of conditions and the following disclaimer in the 34 * documentation and/or other materials provided with the distribution. 35 * 3. All advertising materials mentioning features or use of this software 36 * must display the following acknowledgement: 37 * This product includes software developed by the University of 38 * California, Berkeley and its contributors. 39 * 4. Neither the name of the University nor the names of its contributors 40 * may be used to endorse or promote products derived from this software 41 * without specific prior written permission. 42 * 43 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 44 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 45 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 46 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 47 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 48 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 49 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 50 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 51 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 52 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 53 * SUCH DAMAGE. 54 */ 55 56 57#include <stdio.h> 58 59const char *const sys_errlist[] = { 60 "Undefined error: 0", /* 0 - ENOERROR */ 61 "Operation not permitted", /* 1 - EPERM */ 62 "No such file or directory", /* 2 - ENOENT */ 63 "No such process", /* 3 - ESRCH */ 64 "Interrupted system call", /* 4 - EINTR */ 65 "Input/output error", /* 5 - EIO */ 66 "Device not configured", /* 6 - ENXIO */ 67 "Argument list too long", /* 7 - E2BIG */ 68 "Exec format error", /* 8 - ENOEXEC */ 69 "Bad file descriptor", /* 9 - EBADF */ 70 "No child processes", /* 10 - ECHILD */ 71 "Resource deadlock avoided", /* 11 - EDEADLK */ 72 "Cannot allocate memory", /* 12 - ENOMEM */ 73 "Permission denied", /* 13 - EACCES */ 74 "Bad address", /* 14 - EFAULT */ 75 "Block device required", /* 15 - ENOTBLK */ 76 "Resource busy", /* 16 - EBUSY */ 77 "File exists", /* 17 - EEXIST */ 78 "Cross-device link", /* 18 - EXDEV */ 79 "Operation not supported by device", /* 19 - ENODEV */ 80 "Not a directory", /* 20 - ENOTDIR */ 81 "Is a directory", /* 21 - EISDIR */ 82 "Invalid argument", /* 22 - EINVAL */ 83 "Too many open files in system", /* 23 - ENFILE */ 84 "Too many open files", /* 24 - EMFILE */ 85 "Inappropriate ioctl for device", /* 25 - ENOTTY */ 86 "Text file busy", /* 26 - ETXTBSY */ 87 "File too large", /* 27 - EFBIG */ 88 "No space left on device", /* 28 - ENOSPC */ 89 "Illegal seek", /* 29 - ESPIPE */ 90 "Read-only file system", /* 30 - EROFS */ 91 "Too many links", /* 31 - EMLINK */ 92 "Broken pipe", /* 32 - EPIPE */ 93 94/* math software */ 95 "Numerical argument out of domain", /* 33 - EDOM */ 96 "Result too large", /* 34 - ERANGE */ 97 98/* non-blocking and interrupt i/o */ 99 "Resource temporarily unavailable", /* 35 - EAGAIN */ 100 /* 35 - EWOULDBLOCK */ 101 "Operation now in progress", /* 36 - EINPROGRESS */ 102 "Operation already in progress", /* 37 - EALREADY */ 103 104/* ipc/network software -- argument errors */ 105 "Socket operation on non-socket", /* 38 - ENOTSOCK */ 106 "Destination address required", /* 39 - EDESTADDRREQ */ 107 "Message too long", /* 40 - EMSGSIZE */ 108 "Protocol wrong type for socket", /* 41 - EPROTOTYPE */ 109 "Protocol not available", /* 42 - ENOPROTOOPT */ 110 "Protocol not supported", /* 43 - EPROTONOSUPPORT */ 111 "Socket type not supported", /* 44 - ESOCKTNOSUPPORT */ 112 "Operation not supported", /* 45 - ENOTSUP */ 113 "Protocol family not supported", /* 46 - EPFNOSUPPORT */ 114 /* 47 - EAFNOSUPPORT */ 115 "Address family not supported by protocol family", 116 "Address already in use", /* 48 - EADDRINUSE */ 117 "Can't assign requested address", /* 49 - EADDRNOTAVAIL */ 118 119/* ipc/network software -- operational errors */ 120 "Network is down", /* 50 - ENETDOWN */ 121 "Network is unreachable", /* 51 - ENETUNREACH */ 122 "Network dropped connection on reset", /* 52 - ENETRESET */ 123 "Software caused connection abort", /* 53 - ECONNABORTED */ 124 "Connection reset by peer", /* 54 - ECONNRESET */ 125 "No buffer space available", /* 55 - ENOBUFS */ 126 "Socket is already connected", /* 56 - EISCONN */ 127 "Socket is not connected", /* 57 - ENOTCONN */ 128 "Can't send after socket shutdown", /* 58 - ESHUTDOWN */ 129 "Too many references: can't splice", /* 59 - ETOOMANYREFS */ 130 "Operation timed out", /* 60 - ETIMEDOUT */ 131 "Connection refused", /* 61 - ECONNREFUSED */ 132 133 "Too many levels of symbolic links", /* 62 - ELOOP */ 134 "File name too long", /* 63 - ENAMETOOLONG */ 135 136/* should be rearranged */ 137 "Host is down", /* 64 - EHOSTDOWN */ 138 "No route to host", /* 65 - EHOSTUNREACH */ 139 "Directory not empty", /* 66 - ENOTEMPTY */ 140 141/* quotas & mush */ 142 "Too many processes", /* 67 - EPROCLIM */ 143 "Too many users", /* 68 - EUSERS */ 144 "Disc quota exceeded", /* 69 - EDQUOT */ 145 146/* Network File System */ 147 "Stale NFS file handle", /* 70 - ESTALE */ 148 "Too many levels of remote in path", /* 71 - EREMOTE */ 149 "RPC struct is bad", /* 72 - EBADRPC */ 150 "RPC version wrong", /* 73 - ERPCMISMATCH */ 151 "RPC prog. not avail", /* 74 - EPROGUNAVAIL */ 152 "Program version wrong", /* 75 - EPROGMISMATCH */ 153 "Bad procedure for program", /* 76 - EPROCUNAVAIL */ 154 155 "No locks available", /* 77 - ENOLCK */ 156 "Function not implemented", /* 78 - ENOSYS */ 157 "Inappropriate file type or format", /* 79 - EFTYPE */ 158 "Authentication error", /* 80 - EAUTH */ 159 "Need authenticator", /* 81 - ENEEDAUTH */ 160 161 "Device power is off", /* 82 - EPWROFF */ 162 "Device error", /* 83 - EDEVERR */ 163 "Value too large to be stored in data type", /* 84 - EOVERFLOW */ 164 165/* program loading errors */ 166 "Bad executable (or shared library)", /* 85 - EBADEXEC */ 167 "Bad CPU type in executable", /* 86 - EBADARCH */ 168 "Shared library version mismatch", /* 87 - ESHLIBVERS */ 169 "Malformed Mach-o file", /* 88 - EBADMACHO */ 170 "Operation canceled", /* 89 - ECANCELED */ 171 "Identifier removed", /* 90 - EIDRM */ 172 "No message of desired type", /* 91 - ENOMSG */ 173 "Illegal byte sequence", /* 92 - EILSEQ */ 174 "Attribute not found", /* 93 - ENOATTR */ 175 "Bad message", /* 94 - EBADMSG */ 176 "EMULTIHOP (Reserved)", /* 95 - EMULTIHOP */ 177 "No message available on STREAM", /* 96 - ENODATA */ 178 "ENOLINK (Reserved)", /* 97 - ENOLINK */ 179 "No STREAM resources", /* 98 - ENOSR */ 180 "Not a STREAM", /* 99 - ENOSTR */ 181 "Protocol error", /* 100 - EPROTO */ 182 "STREAM ioctl timeout", /* 101 - ETIME */ 183 "Operation not supported on socket", /* 102 - EOPNOTSUPP */ 184 "Policy not found", /* 103 - ENOPOLICY */ 185 "State not recoverable", /* 104 - ENOTRECOVERABLE */ 186 "Previous owner died", /* 105 - EOWNERDEAD */ 187 188 "Interface output queue is full", /* 106 - EQFULL */ 189}; 190 191const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]); 192