| /* | 
 |  * 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. | 
 |  */ | 
 | /* | 
 |  * (pre-GNU) HISTORY | 
 |  * | 
 |  * Revision 2.3  92/03/31  15:18:52  rpd | 
 |  * 	Added KERN_DEVICE_MOD for device errors. | 
 |  * 	[92/03/09            rpd] | 
 |  * | 
 |  * Revision 2.2  92/01/16  00:21:17  rpd | 
 |  * 	Moved from user collection to mk collection. | 
 |  * | 
 |  * Revision 2.2  91/03/27  15:37:37  mrt | 
 |  * 	First checkin | 
 |  * | 
 |  */ | 
 | /* | 
 |  *	File:	errorlib.h | 
 |  *	Author:	Douglas Orr, Carnegie Mellon University | 
 |  *	Date:	Mar. 1988 | 
 |  * | 
 |  *	Error bases for subsytems errors. | 
 |  */ | 
 |  | 
 | #include <mach/error.h> | 
 |  | 
 | #define KERN_DEVICE_MOD		(err_kern|err_sub(1)) | 
 |  | 
 | #define BOOTSTRAP_FS_MOD	(err_bootstrap|err_sub(0)) | 
 |  | 
 | #define	MACH_IPC_SEND_MOD	(err_mach_ipc|err_sub(0)) | 
 | #define	MACH_IPC_RCV_MOD	(err_mach_ipc|err_sub(1)) | 
 | #define	MACH_IPC_MIG_MOD	(err_mach_ipc|err_sub(2)) | 
 |  | 
 | #define	IPC_SEND_MOD		(err_ipc|err_sub(0)) | 
 | #define	IPC_RCV_MOD		(err_ipc|err_sub(1)) | 
 | #define	IPC_MIG_MOD		(err_ipc|err_sub(2)) | 
 |  | 
 | #define	SERV_NETNAME_MOD	(err_server|err_sub(0)) | 
 | #define	SERV_ENV_MOD		(err_server|err_sub(1)) | 
 | #define	SERV_EXECD_MOD		(err_server|err_sub(2)) | 
 |  | 
 |  | 
 | #define	NO_SUCH_ERROR		"unknown error code" | 
 |  | 
 | struct error_subsystem { | 
 | 	const char		* subsys_name; | 
 | 	int			max_code; | 
 | 	const char		* const * codes; | 
 | }; | 
 |  | 
 | struct error_system { | 
 | 	int			max_sub; | 
 | 	const char		* bad_sub; | 
 | 	const struct error_subsystem	* subsystem; | 
 | }; | 
 |  | 
 | #define errors __mach_error_systems | 
 | extern const struct error_system 	errors[err_max_system+1]; | 
 |  | 
 | #define	errlib_count(s)		(sizeof(s)/sizeof(s[0])) |