--- /dev/null
+/*
+ * @OSF_COPYRIGHT@
+ */
+
+/*
+ * Mach Operating System
+ * Copyright (c) 1991,1990,1989 Carnegie Mellon University
+ * All Rights Reserved.
+ *
+ * Permission to use, copy, modify and distribute this software and its
+ * documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+ * School of Computer Science
+ * Carnegie Mellon University
+ * Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+/*
+ * File: err_mach_ipc.sub
+ * Author: Richard Draves, Carnegie Mellon University
+ * Date: Jan, 1990
+ *
+ * Error string definitions for the new Mach IPC
+ */
+
+static const char * err_codes_mach_send[] = {
+ /* 0 */ "(ipc/send) no error",
+ /* 1 */ "(ipc/send) send in progress",
+ /* 2 */ "(ipc/send) invalid data",
+ /* 3 */ "(ipc/send) invalid destination port",
+ /* 4 */ "(ipc/send) timed out",
+ /* 5 */ "(ipc/send) will notify",
+ /* 6 */ "(ipc/send) notify in progress",
+ /* 7 */ "(ipc/send) interrupted",
+ /* 8 */ "(ipc/send) msg too small",
+ /* 9 */ "(ipc/send) invalid reply port",
+ /* 10 */ "(ipc/send) invalid port right",
+ /* 11 */ "(ipc/send) invalid notify port",
+ /* 12 */ "(ipc/send) invalid memory",
+ /* 13 */ "(ipc/send) no msg buffer",
+ /* 14 */ "(ipc/send) no notify possible",
+ /* 15 */ "(ipc/send) invalid msg-type",
+ /* 16 */ "(ipc/send) invalid msg-header",
+ /* 17 */ "(ipc/send) invalid msg-trailer",
+ /* 18 */ "(ipc/send) DIPC transport failure",
+ /* 19 */ "(ipc/send) DIPC port migrated",
+ /* 20 */ "(ipc/send) DIPC resend failed",
+ /* 21 */ "(ipc/send) out-of-line buffer too large",
+};
+
+static const char * err_codes_mach_rcv[] = {
+ /* 0 */ "(ipc/rcv) no error",
+ /* 1 */ "(ipc/rcv) receive in progress",
+ /* 2 */ "(ipc/rcv) invalid name",
+ /* 3 */ "(ipc/rcv) timed out",
+ /* 4 */ "(ipc/rcv) msg too large",
+ /* 5 */ "(ipc/rcv) interrupted",
+ /* 6 */ "(ipc/rcv) port changed",
+ /* 7 */ "(ipc/rcv) invalid notify port",
+ /* 8 */ "(ipc/rcv) invalid data",
+ /* 9 */ "(ipc/rcv) port died",
+ /* 10 */ "(ipc/rcv) port in set",
+ /* 11 */ "(ipc/rcv) header error",
+ /* 12 */ "(ipc/rcv) body error",
+ /* 13 */ "(ipc/rcv) invalid scatter list entry",
+ /* 14 */ "(ipc/rcv) overwrite region too small",
+ /* 15 */ "(ipc/rcv) invalid msg-trailer",
+ /* 16 */ "(ipc/rcv) DIPC transport error",
+};
+
+static const char * err_codes_mach_mig[] = {
+ /* 0 */ "(ipc/mig) client type check failure",
+ /* 1 */ "(ipc/mig) wrong reply message ID",
+ /* 2 */ "(ipc/mig) server detected error",
+ /* 3 */ "(ipc/mig) bad request message ID",
+ /* 4 */ "(ipc/mig) server type check failure",
+ /* 5 */ "(ipc/mig) no reply should be sent",
+ /* 6 */ "(ipc/mig) server raised exception",
+ /* 7 */ "(ipc/mig) array not large enough",
+ /* 8 */ "(ipc/mig) server died",
+ /* 9 */ "(ipc/mig) unknown trailer format",
+};
+
+/* err_mach_ipc subsystems */
+static struct error_subsystem err_mach_ipc_sub[] = {
+ /* ipc/0; */
+ {
+ (char *)"(ipc/send)",
+ errlib_count(err_codes_mach_send),
+ (char **)err_codes_mach_send,
+ },
+ /* ipc/1; */
+ {
+ (char *)"(ipc/rcv)",
+ errlib_count(err_codes_mach_rcv),
+ (char **)err_codes_mach_rcv,
+
+ },
+ /* ipc/2 */
+ {
+ (char *)"(ipc/mig)",
+ errlib_count(err_codes_mach_mig),
+ (char **)err_codes_mach_mig,
+ },
+
+};