/* 
 * Mach Operating System
 * Copyright (c) 1991,1990,1989,1988,1987 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.
 */
/*
 * HISTORY
 * $Log$
 * Revision 1.1  1992/10/06 18:29:52  roland
 * entered into RCS
 *
 * Revision 2.2  92/01/16  00:08:40  rpd
 * 	Moved from user collection to mk collection.
 * 
 * Revision 2.2  91/03/27  16:05:16  mrt
 * 	First checkin
 * 
 * 
 */
/*
 *	File:	err_ipc.sub
 *	Author:	Douglas Orr, Carnegie Mellon University
 *	Date:	Mar, 1988
 *
 *	Definitions of error strings for original IPC
 */

static char * err_codes_send[] = {
	"(ipc/send) unknown error",		/* -100 */
	"(ipc/send) invalid memory",		/* -101 */
	"(ipc/send) invalid port",		/* -102 */
	"(ipc/send) timed out",			/* -103 */
	"(ipc/send) unused error",		/* -104 */
	"(ipc/send) will notify",		/* -105 */
	"(ipc/send) notify in progress",	/* -106 */	
	"(ipc/send) kernel refused message",	/* -107 */
	"(ipc/send) send interrupted",		/* -108 */
	"(ipc/send) send message too large",	/* -109 */
	"(ipc/send) send message too small",	/* -110 */
	"(ipc/send) message size changed while being copied",	/* -111 */
};

static char * err_codes_rcv[] = {
	"(ipc/rcv) unknown error",			/* -200 */
	"(ipc/rcv) invalid memory",			/* -201 */
	"(ipc/rcv) invalid port",			/* -202 */
	"(ipc/rcv) receive timed out",			/* -203 */
	"(ipc/rcv) message too large",			/* -204 */
	"(ipc/rcv) no space for message data",		/* -205 */
	"(ipc/rcv) only sender remaining",		/* -206 */
	"(ipc/rcv) receive interrupted",		/* -207 */
	"(ipc/rcv) port receiver changed or port became enabled", /* -208 */
};

static char 	* err_codes_mig[] = {
	"(ipc/mig) type check failure in message interface",	/* 0 (-300) */
	"(ipc/mig) wrong return message ID",			/* 1 */
	"(ipc/mig) server detected error",			/* 2 */
	"(ipc/mig) bad message ID",				/* 3 */
	"(ipc/mig) server found wrong arguments",		/* 4 */
	"(ipc/mig) no reply should be sent",			/* 5 */
	"(ipc/mig) server raised exception",			/* 6 */
	"(ipc/mig) user specified array not large enough for return info",	/* 7 */
};

/*	err_ipc subsystems      	*/
static struct error_subsystem err_ipc_sub[] = {
	/* ipc/0; */
	{
		"(ipc/send)",
		errlib_count(err_codes_send),
		err_codes_send,
	},
	/* ipc/1; */
	{
		"(ipc/rcv)",
		errlib_count(err_codes_rcv),
		err_codes_rcv,

	},
	/* ipc/2 */
	{
		"(ipc/mig)",
		errlib_count(err_codes_mig),
		err_codes_mig,
	},

};