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
52static char * err_codes_kern[] = {
53	"Success",
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
79static 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
92static 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
165static 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};
186