(linenum→info "unix/slp.c:2238")

glibc/2.7/mach/errstring.c

    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 "AS IS"
   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 Mellon
   24:  * the rights to redistribute these changes.
   25:  */
   26: /*
   27:  * (pre-GNU) HISTORY
   28:  *
   29:  * Revision 2.3  92/04/01  19:38:18  rpd
   30:  *      Updated do_compat for kernel device errors,
   31:  *      bootstrap file-system errors.
   32:  *      [92/03/09            rpd]
   33:  *
   34:  * Revision 2.2  92/02/20  15:58:08  elf
   35:  *      Created from mach_error.c.
   36:  *      [92/02/11            rpd]
   37:  *
   38:  */
   39: 
   40: #define EXPORT_BOOLEAN
   41: #include <mach/boolean.h>
   42: #include <mach/error.h>
   43: #include <mach_error.h>
   44: #include <errorlib.h>
   45: 
   46: extern void __mach_error_map_compat (mach_error_t *);
   47: 
   48: const char *
   49: mach_error_type( err )
   50:         mach_error_t           err;
   51: {
   52:         int sub, system;
   53: 
   54:         __mach_error_map_compat( &err );
   55: 
   56:         sub = err_get_sub(err);
   57:         system = err_get_system(err);
   58: 
   59:         if (system > err_max_system
   60:         ||  sub >= errors[system].max_sub ) return( "(?/?)" );
   61:         return( errors[system].subsystem[sub].subsys_name );
   62: }
   63: 
   64: boolean_t mach_error_full_diag = FALSE;
   65: 
   66: const char *
   67: mach_error_string_int(mach_error_t      err,
   68:                       boolean_t               * diag)
   69: {
   70:         int sub, system, code;
   71: 
   72:         __mach_error_map_compat( &err );
   73: 
   74:         sub = err_get_sub(err);
   75:         system = err_get_system(err);
   76:         code = err_get_code(err);
   77: 
   78:         *diag = TRUE;
   79: 
   80:         if (system > err_max_system) return( "(?/?) unknown error system" );
   81:         if (sub >= errors[system].max_sub) return( errors[system].bad_sub );
   82:         if (code >= errors[system].subsystem[sub].max_code) return ( NO_SUCH_ERROR );
   83: 
   84:         *diag = mach_error_full_diag;
   85:         return( errors[system].subsystem[sub].codes[code] );
   86: }
   87: 
   88: const char *
   89: mach_error_string( err )
   90:         mach_error_t           err;
   91: {
   92:         boolean_t diag;
   93: 
   94:         return mach_error_string_int( err, &diag );
   95: 
   96: }
Syntax (Markdown)