2 * Mach Operating System
3 * Copyright (c) 1991,1990,1989 Carnegie Mellon University
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.
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.
16 * Carnegie Mellon requests users of this software to return to
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
23 * any improvements or extensions that they make and grant Carnegie the
24 * rights to redistribute these changes.
29 * Revision 2.3 92/04/01 19:38:02 rpd
30 * Added err_codes_device.
33 * Revision 2.2 92/01/16 00:08:50 rpd
34 * Moved from user collection to mk collection.
36 * Revision 2.3 91/08/29 15:51:22 rpd
37 * Updated err_codes_kern.
40 * Revision 2.2 91/03/27 16:05:27 mrt
46 * Author: Douglas Orr, Carnegie Mellon University
49 * error codes for Mach and Unix kernels
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",
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",
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",
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",
92 static char * err_codes_unix[] = {
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",
165 static struct error_subsystem err_kern_sub[] = {
168 errlib_count(err_codes_kern),
173 errlib_count(err_codes_device),
182 errlib_count(err_codes_unix),