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 1.1 1992/10/06 18:29:52 roland
32 * Revision 2.3 92/04/01 19:38:02 rpd
33 * Added err_codes_device.
36 * Revision 2.2 92/01/16 00:08:50 rpd
37 * Moved from user collection to mk collection.
39 * Revision 2.3 91/08/29 15:51:22 rpd
40 * Updated err_codes_kern.
43 * Revision 2.2 91/03/27 16:05:27 mrt
49 * Author: Douglas Orr, Carnegie Mellon University
52 * error codes for Mach and Unix kernels
55 static char * err_codes_kern[] = {
56 "(os/kern) successful",
57 "(os/kern) invalid address",
58 "(os/kern) protection failure",
59 "(os/kern) no space available",
60 "(os/kern) invalid argument",
62 "(os/kern) resource shortage",
63 "(os/kern) not receiver",
64 "(os/kern) no access",
65 "(os/kern) memory failure",
66 "(os/kern) memory error",
67 "(os/kern) already in set",
68 "(os/kern) not in set",
69 "(os/kern) name exists",
71 "(os/kern) invalid name",
72 "(os/kern) invalid task",
73 "(os/kern) invalid right",
74 "(os/kern) invalid value",
75 "(os/kern) urefs overflow",
76 "(os/kern) invalid capability",
77 "(os/kern) right exists",
78 "(os/kern) invalid host",
79 "(os/kern) memory present",
82 static char * err_codes_device[] = {
83 "(os/device) hardware IO error",
84 "(os/device) operation would block",
85 "(os/device) no such device",
86 "(os/device) device already open",
87 "(os/device) device is shut down",
88 "(os/device) invalid operation",
89 "(os/device) invalid record number",
90 "(os/device) invalid IO size",
91 "(os/device) memory allocation failure",
92 "(os/device) read only",
95 static char * err_codes_unix[] = {
97 "(os/unix) no rights to object",
98 "(os/unix) file or directory does not exist",
99 "(os/unix) no such process",
100 "(os/unix) interrupted system call",
101 "(os/unix) i/o error",
102 "(os/unix) device does not exist",
103 "(os/unix) argument list is too long",
104 "(os/unix) invalid executable object format",
105 "(os/unix) bad file descriptor number",
106 "(os/unix) no child processes are present",
107 "(os/unix) no more processes are available",
108 "(os/unix) insufficient memory",
109 "(os/unix) access denied",
110 "(os/unix) memory access fault",
111 "(os/unix) block device required for operation",
112 "(os/unix) mount device busy",
113 "(os/unix) file already exists",
114 "(os/unix) cross device link",
115 "(os/unix) device does not exist",
116 "(os/unix) object is not a directory",
117 "(os/unix) object is a directory",
118 "(os/unix) invalid argument",
119 "(os/unix) internal file table overflow",
120 "(os/unix) maximum number of open files reached",
121 "(os/unix) object is not a tty-like device",
122 "(os/unix) executable object is in use",
123 "(os/unix) file is too large",
124 "(os/unix) no space is left on device",
125 "(os/unix) illegal seek attempt",
126 "(os/unix) read-only file system",
127 "(os/unix) too many links",
128 "(os/unix) broken pipe",
129 "(os/unix) argument is too large",
130 "(os/unix) result is out of range",
131 "(os/unix) operation on device would block",
132 "(os/unix) operation is now in progress",
133 "(os/unix) operation is already in progress",
134 "(os/unix) socket operation attempted on non-socket object",
135 "(os/unix) destination address is required",
136 "(os/unix) message is too long",
137 "(os/unix) protocol type is incorrect for socket",
138 "(os/unix) protocol type is not availaible",
139 "(os/unix) protocol type is not supported",
140 "(os/unix) socket type is not supported",
141 "(os/unix) operation is not supported on sockets",
142 "(os/unix) protocol family is not supported",
143 "(os/unix) address family is not supported by protocol family",
144 "(os/unix) address is already in use",
145 "(os/unix) can't assign requested address",
146 "(os/unix) network is down",
147 "(os/unix) network is unreachable",
148 "(os/unix) network dropped connection on reset",
149 "(os/unix) software aborted connection",
150 "(os/unix) connection reset by peer",
151 "(os/unix) no buffer space is available",
152 "(os/unix) socket is already connected",
153 "(os/unix) socket is not connected",
154 "(os/unix) can't send after socket shutdown",
155 "(os/unix) too many references; can't splice",
156 "(os/unix) connection timed out",
157 "(os/unix) connection was refused",
158 "(os/unix) too many levels of symbolic links",
159 "(os/unix) file name exceeds system maximum limit",
160 "(os/unix) host is down",
161 "(os/unix) there is no route to host",
162 "(os/unix) directory is not empty",
163 "(os/unix) quota on number of processes exceeded",
164 "(os/unix) quota on number of users exceeded",
165 "(os/unix) quota on available disk space exceeded",
168 static struct error_subsystem err_os_sub[] = {
171 errlib_count(err_codes_kern),
176 errlib_count(err_codes_device),
185 errlib_count(err_codes_unix),