6 * Mach Operating System
7 * Copyright (c) 1991,1990,1989 Carnegie Mellon University
10 * Permission to use, copy, modify and distribute this software and its
11 * documentation is hereby granted, provided that both the copyright
12 * notice and this permission notice appear in all copies of the
13 * software, derivative works or modified versions, and any portions
14 * thereof, and that both notices appear in supporting documentation.
16 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
17 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
18 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
20 * Carnegie Mellon requests users of this software to return to
22 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
23 * School of Computer Science
24 * Carnegie Mellon University
25 * Pittsburgh PA 15213-3890
27 * any improvements or extensions that they make and grant Carnegie the
28 * rights to redistribute these changes.
33 * Author: Douglas Orr, Carnegie Mellon University
36 * error codes for Mach and Unix kernels
39 static const char * err_codes_kern[] = {
40 "(os/kern) successful", /* 0 */
41 "(os/kern) invalid address",
42 "(os/kern) protection failure",
43 "(os/kern) no space available",
44 "(os/kern) invalid argument",
45 "(os/kern) failure", /* 5 */
46 "(os/kern) resource shortage",
47 "(os/kern) not receiver",
48 "(os/kern) no access",
49 "(os/kern) memory failure",
50 "(os/kern) memory error", /* 10 */
51 "(os/kern) already in set",
52 "(os/kern) not in set",
53 "(os/kern) name exists",
55 "(os/kern) invalid name", /* 15 */
56 "(os/kern) invalid task",
57 "(os/kern) invalid right",
58 "(os/kern) invalid value",
59 "(os/kern) urefs overflow",
60 "(os/kern) invalid capability", /* 20 */
61 "(os/kern) right exists",
62 "(os/kern) invalid host",
63 "(os/kern) memory present",
64 "(os/kern) memory data moved",
65 "(os/kern) memory restart copy", /* 25 */
66 "(os/kern) invalid processor set",
67 "(os/kern) policy limit",
68 "(os/kern) invalid policy",
69 "(os/kern) invalid object",
70 "(os/kern) already waiting", /* 30 */
71 "(os/kern) default set",
72 "(os/kern) exception protected",
73 "(os/kern) invalid ledger",
74 "(os/kern) invalid memory control",
75 "(os/kern) invalid security", /* 35 */
76 "(os/kern) not depressed",
77 "(os/kern) object terminated",
78 "(os/kern) lock set destroyed",
79 "(os/kern) lock unstable",
80 "(os/kern) lock owned by another", /* 40 */
81 "(os/kern) lock owned by self",
82 "(os/kern) semaphore destroyed",
83 "(os/kern) RPC terminated",
84 "(os/kern) terminate orphan",
85 "(os/kern) let orphan continue", /* 45 */
86 "(os/kern) service not supported",
87 "(os/kern) remote node down",
90 static const char * err_codes_unix[] = {
92 "(os/unix) no rights to object",
93 "(os/unix) file or directory does not exist",
94 "(os/unix) no such process",
95 "(os/unix) interrupted system call",
96 "(os/unix) i/o error",
97 "(os/unix) device does not exist",
98 "(os/unix) argument list is too long",
99 "(os/unix) invalid executable object format",
100 "(os/unix) bad file descriptor number",
101 "(os/unix) no child processes are present",
102 "(os/unix) no more processes are available",
103 "(os/unix) insufficient memory",
104 "(os/unix) access denied",
105 "(os/unix) memory access fault",
106 "(os/unix) block device required for operation",
107 "(os/unix) mount device busy",
108 "(os/unix) file already exists",
109 "(os/unix) cross device link",
110 "(os/unix) device does not exist",
111 "(os/unix) object is not a directory",
112 "(os/unix) object is a directory",
113 "(os/unix) invalid argument",
114 "(os/unix) internal file table overflow",
115 "(os/unix) maximum number of open files reached",
116 "(os/unix) object is not a tty-like device",
117 "(os/unix) executable object is in use",
118 "(os/unix) file is too large",
119 "(os/unix) no space is left on device",
120 "(os/unix) illegal seek attempt",
121 "(os/unix) read-only file system",
122 "(os/unix) too many links",
123 "(os/unix) broken pipe",
124 "(os/unix) argument is too large",
125 "(os/unix) result is out of range",
126 "(os/unix) operation on device would block",
127 "(os/unix) operation is now in progress",
128 "(os/unix) operation is already in progress",
129 "(os/unix) socket operation attempted on non-socket object",
130 "(os/unix) destination address is required",
131 "(os/unix) message is too long",
132 "(os/unix) protocol type is incorrect for socket",
133 "(os/unix) protocol type is not availaible",
134 "(os/unix) protocol type is not supported",
135 "(os/unix) socket type is not supported",
136 "(os/unix) operation is not supported on sockets",
137 "(os/unix) protocol family is not supported",
138 "(os/unix) address family is not supported by protocol family",
139 "(os/unix) address is already in use",
140 "(os/unix) can't assign requested address",
141 "(os/unix) network is down",
142 "(os/unix) network is unreachable",
143 "(os/unix) network dropped connection on reset",
144 "(os/unix) software aborted connection",
145 "(os/unix) connection reset by peer",
146 "(os/unix) no buffer space is available",
147 "(os/unix) socket is already connected",
148 "(os/unix) socket is not connected",
149 "(os/unix) can't send after socket shutdown",
150 "(os/unix) too many references; can't splice",
151 "(os/unix) connection timed out",
152 "(os/unix) connection was refused",
153 "(os/unix) too many levels of symbolic links",
154 "(os/unix) file name exceeds system maximum limit",
155 "(os/unix) host is down",
156 "(os/unix) there is no route to host",
157 "(os/unix) directory is not empty",
158 "(os/unix) quota on number of processes exceeded",
159 "(os/unix) quota on number of users exceeded",
160 "(os/unix) quota on available disk space exceeded",
163 static struct error_subsystem err_os_sub[] = {
166 errlib_count(err_codes_kern),
167 (char **)err_codes_kern,
179 errlib_count(err_codes_unix),
180 (char **)err_codes_unix,