| lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | * Mach Operating System | 
|  | 3 | * Copyright (c) 1991,1990,1989 Carnegie Mellon University | 
|  | 4 | * All Rights Reserved. | 
|  | 5 | * | 
|  | 6 | * Permission to use, copy, modify and distribute this software and its | 
|  | 7 | * documentation is hereby granted, provided that both the copyright | 
|  | 8 | * notice and this permission notice appear in all copies of the | 
|  | 9 | * software, derivative works or modified versions, and any portions | 
|  | 10 | * thereof, and that both notices appear in supporting documentation. | 
|  | 11 | * | 
|  | 12 | * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS | 
|  | 13 | * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR | 
|  | 14 | * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. | 
|  | 15 | * | 
|  | 16 | * Carnegie Mellon requests users of this software to return to | 
|  | 17 | * | 
|  | 18 | *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU | 
|  | 19 | *  School of Computer Science | 
|  | 20 | *  Carnegie Mellon University | 
|  | 21 | *  Pittsburgh PA 15213-3890 | 
|  | 22 | * | 
|  | 23 | * any improvements or extensions that they make and grant Carnegie the | 
|  | 24 | * rights to redistribute these changes. | 
|  | 25 | */ | 
|  | 26 | /* | 
|  | 27 | * (pre-GNU) HISTORY | 
|  | 28 | * | 
|  | 29 | * Revision 2.3  92/04/01  19:38:02  rpd | 
|  | 30 | * 	Added err_codes_device. | 
|  | 31 | * 	[92/03/09            rpd] | 
|  | 32 | * | 
|  | 33 | * Revision 2.2  92/01/16  00:08:50  rpd | 
|  | 34 | * 	Moved from user collection to mk collection. | 
|  | 35 | * | 
|  | 36 | * Revision 2.3  91/08/29  15:51:22  rpd | 
|  | 37 | * 	Updated err_codes_kern. | 
|  | 38 | * 	[91/08/15            rpd] | 
|  | 39 | * | 
|  | 40 | * Revision 2.2  91/03/27  16:05:27  mrt | 
|  | 41 | * 	First checkin | 
|  | 42 | * | 
|  | 43 | */ | 
|  | 44 | /* | 
|  | 45 | *	File: 	err_kern.sub | 
|  | 46 | *	Author:	Douglas Orr, Carnegie Mellon University | 
|  | 47 | *	Date:	Mar, 1988 | 
|  | 48 | * | 
|  | 49 | *	error codes for Mach and Unix kernels | 
|  | 50 | */ | 
|  | 51 |  | 
|  | 52 | static char * err_codes_kern[] = { | 
|  | 53 | "(os/kern) successful", | 
|  | 54 | "(os/kern) invalid address", | 
|  | 55 | "(os/kern) protection failure", | 
|  | 56 | "(os/kern) no space available", | 
|  | 57 | "(os/kern) invalid argument", | 
|  | 58 | "(os/kern) failure", | 
|  | 59 | "(os/kern) resource shortage", | 
|  | 60 | "(os/kern) not receiver", | 
|  | 61 | "(os/kern) no access", | 
|  | 62 | "(os/kern) memory failure", | 
|  | 63 | "(os/kern) memory error", | 
|  | 64 | "(os/kern) already in set", | 
|  | 65 | "(os/kern) not in set", | 
|  | 66 | "(os/kern) name exists", | 
|  | 67 | "(os/kern) aborted", | 
|  | 68 | "(os/kern) invalid name", | 
|  | 69 | "(os/kern) invalid task", | 
|  | 70 | "(os/kern) invalid right", | 
|  | 71 | "(os/kern) invalid value", | 
|  | 72 | "(os/kern) urefs overflow", | 
|  | 73 | "(os/kern) invalid capability", | 
|  | 74 | "(os/kern) right exists", | 
|  | 75 | "(os/kern) invalid host", | 
|  | 76 | "(os/kern) memory present", | 
|  | 77 | }; | 
|  | 78 |  | 
|  | 79 | static char * err_codes_device[] = { | 
|  | 80 | "(os/device) hardware IO error", | 
|  | 81 | "(os/device) operation would block", | 
|  | 82 | "(os/device) no such device", | 
|  | 83 | "(os/device) device already open", | 
|  | 84 | "(os/device) device is shut down", | 
|  | 85 | "(os/device) invalid operation", | 
|  | 86 | "(os/device) invalid record number", | 
|  | 87 | "(os/device) invalid IO size", | 
|  | 88 | "(os/device) memory allocation failure", | 
|  | 89 | "(os/device) read only", | 
|  | 90 | }; | 
|  | 91 |  | 
|  | 92 | static char * err_codes_unix[] = { | 
|  | 93 | NO_SUCH_ERROR, | 
|  | 94 | "(os/unix) no rights to object", | 
|  | 95 | "(os/unix) file or directory does not exist", | 
|  | 96 | "(os/unix) no such process", | 
|  | 97 | "(os/unix) interrupted system call", | 
|  | 98 | "(os/unix) i/o error", | 
|  | 99 | "(os/unix) device does not exist", | 
|  | 100 | "(os/unix) argument list is too long", | 
|  | 101 | "(os/unix) invalid executable object format", | 
|  | 102 | "(os/unix) bad file descriptor number", | 
|  | 103 | "(os/unix) no child processes are present", | 
|  | 104 | "(os/unix) no more processes are available", | 
|  | 105 | "(os/unix) insufficient memory", | 
|  | 106 | "(os/unix) access denied", | 
|  | 107 | "(os/unix) memory access fault", | 
|  | 108 | "(os/unix) block device required for operation", | 
|  | 109 | "(os/unix) mount device busy", | 
|  | 110 | "(os/unix) file already exists", | 
|  | 111 | "(os/unix) cross device link", | 
|  | 112 | "(os/unix) device does not exist", | 
|  | 113 | "(os/unix) object is not a directory", | 
|  | 114 | "(os/unix) object is a directory", | 
|  | 115 | "(os/unix) invalid argument", | 
|  | 116 | "(os/unix) internal file table overflow", | 
|  | 117 | "(os/unix) maximum number of open files reached", | 
|  | 118 | "(os/unix) object is not a tty-like device", | 
|  | 119 | "(os/unix) executable object is in use", | 
|  | 120 | "(os/unix) file is too large", | 
|  | 121 | "(os/unix) no space is left on device", | 
|  | 122 | "(os/unix) illegal seek attempt", | 
|  | 123 | "(os/unix) read-only file system", | 
|  | 124 | "(os/unix) too many links", | 
|  | 125 | "(os/unix) broken pipe", | 
|  | 126 | "(os/unix) argument is too large", | 
|  | 127 | "(os/unix) result is out of range", | 
|  | 128 | "(os/unix) operation on device would block", | 
|  | 129 | "(os/unix) operation is now in progress", | 
|  | 130 | "(os/unix) operation is already in progress", | 
|  | 131 | "(os/unix) socket operation attempted on non-socket object", | 
|  | 132 | "(os/unix) destination address is required", | 
|  | 133 | "(os/unix) message is too long", | 
|  | 134 | "(os/unix) protocol type is incorrect for socket", | 
|  | 135 | "(os/unix) protocol type is not available", | 
|  | 136 | "(os/unix) protocol type is not supported", | 
|  | 137 | "(os/unix) socket type is not supported", | 
|  | 138 | "(os/unix) operation is not supported on sockets", | 
|  | 139 | "(os/unix) protocol family is not supported", | 
|  | 140 | "(os/unix) address family is not supported by protocol family", | 
|  | 141 | "(os/unix) address is already in use", | 
|  | 142 | "(os/unix) can't assign requested address", | 
|  | 143 | "(os/unix) network is down", | 
|  | 144 | "(os/unix) network is unreachable", | 
|  | 145 | "(os/unix) network dropped connection on reset", | 
|  | 146 | "(os/unix) software aborted connection", | 
|  | 147 | "(os/unix) connection reset by peer", | 
|  | 148 | "(os/unix) no buffer space is available", | 
|  | 149 | "(os/unix) socket is already connected", | 
|  | 150 | "(os/unix) socket is not connected", | 
|  | 151 | "(os/unix) can't send after socket shutdown", | 
|  | 152 | "(os/unix) too many references; can't splice", | 
|  | 153 | "(os/unix) connection timed out", | 
|  | 154 | "(os/unix) connection was refused", | 
|  | 155 | "(os/unix) too many levels of symbolic links", | 
|  | 156 | "(os/unix) file name exceeds system maximum limit", | 
|  | 157 | "(os/unix) host is down", | 
|  | 158 | "(os/unix) there is no route to host", | 
|  | 159 | "(os/unix) directory is not empty", | 
|  | 160 | "(os/unix) quota on number of processes exceeded", | 
|  | 161 | "(os/unix) quota on number of users exceeded", | 
|  | 162 | "(os/unix) quota on available disk space exceeded", | 
|  | 163 | }; | 
|  | 164 |  | 
|  | 165 | static struct error_subsystem err_kern_sub[] = { | 
|  | 166 | { | 
|  | 167 | "(os/kern)", | 
|  | 168 | errlib_count(err_codes_kern), | 
|  | 169 | err_codes_kern, | 
|  | 170 | }, | 
|  | 171 | { | 
|  | 172 | "(os/device)", | 
|  | 173 | errlib_count(err_codes_device), | 
|  | 174 | err_codes_device, | 
|  | 175 | }, | 
|  | 176 | { | 
|  | 177 | "(os/?)", | 
|  | 178 | 0, | 
|  | 179 | }, | 
|  | 180 | { | 
|  | 181 | "(os/unix)", | 
|  | 182 | errlib_count(err_codes_unix), | 
|  | 183 | err_codes_unix, | 
|  | 184 | }, | 
|  | 185 | }; |