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 * HISTORY
28 * $Log$
29 * Revision 1.1  1992/10/06 18:29:52  roland
30 * entered into RCS
31 *
32 * Revision 2.3  92/04/01  19:38:05  rpd
33 * 	Added MIG_DESTROY_REQUEST.
34 * 	[92/03/09            rpd]
35 *
36 * Revision 2.2  92/01/16  00:09:05  rpd
37 * 	Moved from user collection to mk collection.
38 *
39 * Revision 2.3  91/08/29  15:51:30  rpd
40 * 	Added MIG_SERVER_DIED.
41 * 	[91/08/21            rpd]
42 *
43 * Revision 2.2  91/03/27  16:05:37  mrt
44 * 	First checkin
45 *
46 * Revision 2.2  91/03/18  17:39:03  rpd
47 * 	Created.
48 * 	[91/03/18            rpd]
49 *
50 */
51/*
52 *	File:	err_mach_ipc.sub
53 *	Author:	Richard Draves, Carnegie Mellon University
54 *	Date:	Jan, 1990
55 *
56 *	Error string definitions for the new Mach IPC
57 */
58
59static char * err_codes_mach_send[] = {
60	/* 0 */	"(ipc/send) no error",
61	/* 1 */	"(ipc/send) send in progress",
62	/* 2 */	"(ipc/send) invalid data",
63	/* 3 */	"(ipc/send) invalid destination port",
64	/* 4 */	"(ipc/send) timed out",
65	/* 5 */	"(ipc/send) will notify",
66	/* 6 */	"(ipc/send) notify in progress",
67	/* 7 */	"(ipc/send) interrupted",
68	/* 8 */	"(ipc/send) msg too small",
69	/* 9 */	"(ipc/send) invalid reply port",
70       /* 10 */	"(ipc/send) invalid port right",
71       /* 11 */	"(ipc/send) invalid notify port",
72       /* 12 */	"(ipc/send) invalid memory",
73       /* 13 */	"(ipc/send) no msg buffer",
74       /* 14 */	"(ipc/send) no notify possible",
75       /* 15 */	"(ipc/send) invalid msg-type",
76       /* 16 */	"(ipc/send) invalid msg-header",
77};
78
79static char * err_codes_mach_rcv[] = {
80	/* 0 */	"(ipc/rcv) no error",
81	/* 1 */	"(ipc/rcv) receive in progress",
82	/* 2 */	"(ipc/rcv) invalid name",
83	/* 3 */	"(ipc/rcv) timed out",
84	/* 4 */	"(ipc/rcv) msg too large",
85	/* 5 */	"(ipc/rcv) interrupted",
86	/* 6 */	"(ipc/rcv) port changed",
87	/* 7 */	"(ipc/rcv) invalid notify port",
88	/* 8 */	"(ipc/rcv) invalid data",
89	/* 9 */	"(ipc/rcv) port died",
90       /* 10 */	"(ipc/rcv) port in set",
91       /* 11 */	"(ipc/rcv) header error",
92       /* 12 */	"(ipc/rcv) body error",
93};
94
95static char 	* err_codes_mach_mig[] = {
96	/* 0 */	"(ipc/mig) client type check failure",
97	/* 1 */	"(ipc/mig) wrong reply message ID",
98	/* 2 */	"(ipc/mig) server detected error",
99	/* 3 */	"(ipc/mig) bad request message ID",
100	/* 4 */	"(ipc/mig) server type check failure",
101	/* 5 */	"(ipc/mig) no reply should be sent",
102	/* 6 */	"(ipc/mig) server raised exception",
103	/* 7 */	"(ipc/mig) array not large enough",
104	/* 8 */	"(ipc/mig) server died",
105	/* 9 */ "(ipc/mig) destroy request with no reply",
106};
107
108/*	err_mach_ipc subsystems      	*/
109static struct error_subsystem err_mach_ipc_sub[] = {
110	/* ipc/0; */
111	{
112		"(ipc/send)",
113		errlib_count(err_codes_mach_send),
114		err_codes_mach_send,
115	},
116	/* ipc/1; */
117	{
118		"(ipc/rcv)",
119		errlib_count(err_codes_mach_rcv),
120		err_codes_mach_rcv,
121
122	},
123	/* ipc/2 */
124	{
125		"(ipc/mig)",
126		errlib_count(err_codes_mach_mig),
127		err_codes_mach_mig,
128	},
129
130};
131