1/*
2 * @OSF_COPYRIGHT@
3 */
4
5/*
6 * Mach Operating System
7 * Copyright (c) 1991,1990,1989 Carnegie Mellon University
8 * All Rights Reserved.
9 *
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.
15 *
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.
19 *
20 * Carnegie Mellon requests users of this software to return to
21 *
22 *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
23 *  School of Computer Science
24 *  Carnegie Mellon University
25 *  Pittsburgh PA 15213-3890
26 *
27 * any improvements or extensions that they make and grant Carnegie the
28 * rights to redistribute these changes.
29 */
30
31/*
32 *	File:	err_mach_ipc.sub
33 *	Author:	Richard Draves, Carnegie Mellon University
34 *	Date:	Jan, 1990
35 *
36 *	Error string definitions for the new Mach IPC
37 */
38
39static const char * const err_codes_mach_send[] = {
40	/* 0 */	"(ipc/send) no error",
41	/* 1 */	"(ipc/send) send in progress",
42	/* 2 */	"(ipc/send) invalid data",
43	/* 3 */	"(ipc/send) invalid destination port",
44	/* 4 */	"(ipc/send) timed out",
45	/* 5 */	"(ipc/send) invalid voucher",
46	/* 6 */	"(ipc/send) unused error",
47	/* 7 */	"(ipc/send) interrupted",
48	/* 8 */	"(ipc/send) msg too small",
49	/* 9 */	"(ipc/send) invalid reply port",
50       /* 10 */	"(ipc/send) invalid port right",
51       /* 11 */	"(ipc/send) invalid notify port",
52       /* 12 */	"(ipc/send) invalid memory",
53       /* 13 */	"(ipc/send) no msg buffer",
54       /* 14 */	"(ipc/send) msg too large",
55       /* 15 */	"(ipc/send) invalid msg-type",
56       /* 16 */	"(ipc/send) invalid msg-header",
57       /* 17 */ "(ipc/send) invalid msg-trailer",
58       /* 18 */ "(ipc/send) unused error",
59       /* 19 */ "(ipc/send) unused error",
60       /* 20 */ "(ipc/send) unused error",
61       /* 21 */ "(ipc/send) out-of-line buffer too large",
62};
63
64static const char * const err_codes_mach_rcv[] = {
65	/* 0 */	"(ipc/rcv) no error",
66	/* 1 */	"(ipc/rcv) receive in progress",
67	/* 2 */	"(ipc/rcv) invalid name",
68	/* 3 */	"(ipc/rcv) timed out",
69	/* 4 */	"(ipc/rcv) msg too large",
70	/* 5 */	"(ipc/rcv) interrupted",
71	/* 6 */	"(ipc/rcv) port changed",
72	/* 7 */	"(ipc/rcv) invalid notify port",
73	/* 8 */	"(ipc/rcv) invalid data",
74	/* 9 */	"(ipc/rcv) port died",
75       /* 10 */	"(ipc/rcv) port in set",
76       /* 11 */	"(ipc/rcv) header error",
77       /* 12 */	"(ipc/rcv) body error",
78       /* 13 */	"(ipc/rcv) invalid scatter list entry",
79       /* 14 */	"(ipc/rcv) overwrite region too small",
80       /* 15 */ "(ipc/rcv) invalid msg-trailer",
81       /* 16 */ "(ipc/rcv) DIPC transport error",
82};
83
84static const char * const err_codes_mach_mig[] = {
85	/* 0 */	"(ipc/mig) client type check failure",
86	/* 1 */	"(ipc/mig) wrong reply message ID",
87	/* 2 */	"(ipc/mig) server detected error",
88	/* 3 */	"(ipc/mig) bad request message ID",
89	/* 4 */	"(ipc/mig) server type check failure",
90	/* 5 */	"(ipc/mig) no reply should be sent",
91	/* 6 */	"(ipc/mig) server raised exception",
92	/* 7 */	"(ipc/mig) array not large enough",
93	/* 8 */	"(ipc/mig) server died",
94	/* 9 */	"(ipc/mig) unknown trailer format",
95};
96
97/*	err_mach_ipc subsystems      	*/
98static const struct error_subsystem err_mach_ipc_sub[] = {
99	/* ipc/0; */
100	{
101		"(ipc/send)",
102		errlib_count(err_codes_mach_send),
103		err_codes_mach_send,
104	},
105	/* ipc/1; */
106	{
107		"(ipc/rcv)",
108		errlib_count(err_codes_mach_rcv),
109		err_codes_mach_rcv,
110
111	},
112	/* ipc/2 */
113	{
114		"(ipc/mig)",
115		errlib_count(err_codes_mach_mig),
116		err_codes_mach_mig,
117	},
118
119};
120