(root)/
glibc-2.38/
mach/
errorlib.h
       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   * (pre-GNU) HISTORY
      28   *
      29   * Revision 2.3  92/03/31  15:18:52  rpd
      30   * 	Added KERN_DEVICE_MOD for device errors.
      31   * 	[92/03/09            rpd]
      32   *
      33   * Revision 2.2  92/01/16  00:21:17  rpd
      34   * 	Moved from user collection to mk collection.
      35   *
      36   * Revision 2.2  91/03/27  15:37:37  mrt
      37   * 	First checkin
      38   *
      39   */
      40  /*
      41   *	File:	errorlib.h
      42   *	Author:	Douglas Orr, Carnegie Mellon University
      43   *	Date:	Mar. 1988
      44   *
      45   *	Error bases for subsystems errors.
      46   */
      47  
      48  #include <mach/error.h>
      49  
      50  #define KERN_DEVICE_MOD		(err_kern|err_sub(1))
      51  
      52  #define BOOTSTRAP_FS_MOD	(err_bootstrap|err_sub(0))
      53  
      54  #define	MACH_IPC_SEND_MOD	(err_mach_ipc|err_sub(0))
      55  #define	MACH_IPC_RCV_MOD	(err_mach_ipc|err_sub(1))
      56  #define	MACH_IPC_MIG_MOD	(err_mach_ipc|err_sub(2))
      57  
      58  #define	IPC_SEND_MOD		(err_ipc|err_sub(0))
      59  #define	IPC_RCV_MOD		(err_ipc|err_sub(1))
      60  #define	IPC_MIG_MOD		(err_ipc|err_sub(2))
      61  
      62  #define	SERV_NETNAME_MOD	(err_server|err_sub(0))
      63  #define	SERV_ENV_MOD		(err_server|err_sub(1))
      64  #define	SERV_EXECD_MOD		(err_server|err_sub(2))
      65  
      66  
      67  #define	NO_SUCH_ERROR		"unknown error code"
      68  
      69  struct error_subsystem {
      70  	const char		* subsys_name;
      71  	int			max_code;
      72  	const char		* const * codes;
      73  };
      74  
      75  struct error_system {
      76  	int			max_sub;
      77  	const char		* bad_sub;
      78  	const struct error_subsystem	* subsystem;
      79  };
      80  
      81  #define errors __mach_error_systems
      82  extern const struct error_system 	errors[err_max_system+1];
      83  
      84  #define	errlib_count(s)		(sizeof(s)/sizeof(s[0]))