xref: /NextBSD/lib/libmach/mach/errorlib.h (revision 33da5adc555b3bc29986eeadca03829e4ad06b1e)
1 /*
2  * Copyright 1991-1998 by Open Software Foundation, Inc.
3  *              All Rights Reserved
4  *
5  * Permission to use, copy, modify, and distribute this software and
6  * its documentation for any purpose and without fee is hereby granted,
7  * provided that the above copyright notice appears in all copies and
8  * that both the copyright notice and this permission notice appear in
9  * supporting documentation.
10  *
11  * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
12  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
13  * FOR A PARTICULAR PURPOSE.
14  *
15  * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
16  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17  * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
18  * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
19  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20  */
21 /*
22  * Mach Operating System
23  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
24  * All Rights Reserved.
25  *
26  * Permission to use, copy, modify and distribute this software and its
27  * documentation is hereby granted, provided that both the copyright
28  * notice and this permission notice appear in all copies of the
29  * software, derivative works or modified versions, and any portions
30  * thereof, and that both notices appear in supporting documentation.
31  *
32  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
33  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
34  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
35  *
36  * Carnegie Mellon requests users of this software to return to
37  *
38  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
39  *  School of Computer Science
40  *  Carnegie Mellon University
41  *  Pittsburgh PA 15213-3890
42  *
43  * any improvements or extensions that they make and grant Carnegie the
44  * rights to redistribute these changes.
45  */
46 /*
47  * MkLinux
48  */
49 /*
50  *	File:	errorlib.h
51  *	Author:	Douglas Orr, Carnegie Mellon University
52  *	Date:	Mar. 1988
53  *
54  *	Error bases for subsytems errors.
55  */
56 
57 #include <mach/error.h>
58 
59 #define	MACH_IPC_SEND_MOD	(err_mach_ipc|err_sub(0))
60 #define	MACH_IPC_RCV_MOD	(err_mach_ipc|err_sub(1))
61 #define	MACH_IPC_MIG_MOD	(err_mach_ipc|err_sub(2))
62 
63 #define	IPC_SEND_MOD		(err_ipc|err_sub(0))
64 #define	IPC_RCV_MOD		(err_ipc|err_sub(1))
65 #define	IPC_MIG_MOD		(err_ipc|err_sub(2))
66 
67 #define	SERV_NETNAME_MOD	(err_server|err_sub(0))
68 #define	SERV_ENV_MOD		(err_server|err_sub(1))
69 #define	SERV_EXECD_MOD		(err_server|err_sub(2))
70 
71 
72 #define	NO_SUCH_ERROR		"unknown error code"
73 
74 struct error_subsystem {
75 	const char			* subsys_name;
76 	int			max_code;
77 	const char			* * codes;
78 };
79 
80 struct error_system {
81 	int			max_sub;
82 	const char			* bad_sub;
83 	struct error_subsystem	* subsystem;
84 };
85 
86 extern	struct error_system 	errors[err_max_system+1];
87 
88 #define	errlib_count(s)		(sizeof(s)/sizeof(s[0]))
89