Files
Arquivotheca.SunOS-4.1.4/usr.lib/liblwp/lwperror.c
seta75D ff309bfe1c Init
2021-10-11 18:37:13 -03:00

101 lines
3.2 KiB
C

/* Copyright (C) 1986 Sun Microsystems Inc. */
/*
* This source code is a product of Sun Microsystems, Inc. and is provided
* for unrestricted use provided that this legend is included on all tape
* media and as a part of the software program in whole or part. Users
* may copy or modify this source code without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
*
* THIS PROGRAM CONTAINS SOURCE CODE COPYRIGHTED BY SUN MICROSYSTEMS, INC.
* AND IS LICENSED TO SUNSOFT, INC., A SUBSIDIARY OF SUN MICROSYSTEMS, INC.
* SUN MICROSYSTEMS, INC., MAKES NO REPRESENTATIONS ABOUT THE SUITABLITY
* OF SUCH SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT
* EXPRESS OR IMPLIED WARRANTY OF ANY KIND. SUN MICROSYSTEMS, INC. DISCLAIMS
* ALL WARRANTIES WITH REGARD TO SUCH SOURCE CODE, INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN
* NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT,
* INCIDENTAL, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM USE OF SUCH SOURCE CODE, REGARDLESS OF THE THEORY OF LIABILITY.
*
* This source code is provided with no support and without any obligation on
* the part of Sun Microsystems, Inc. to assist in its use, correction,
* modification or enhancement.
*
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS
* SOURCE CODE OR ANY PART THEREOF.
*
* Sun Microsystems, Inc.
* 2550 Garcia Avenue
* Mountain View, California 94043
*/
#include <lwp/common.h>
#include <lwp/queue.h>
#include <lwp/asynch.h>
#include <machlwp/machsig.h>
#include <machlwp/machdep.h>
#include <lwp/cntxt.h>
#include <lwp/lwperror.h>
#include <lwp/message.h>
#include <lwp/process.h>
#include <lwp/schedule.h>
#include <lwp/monitor.h>
#ifndef lint
SCCSID(@(#) lwperror.c 1.1 94/10/31 Copyr 1986 Sun Micro);
#endif lint
/*
* PRIMITIVES contained herein:
* lwp_perror(s)
* lwp_errstr()
*/
/* message list for nugget errors reported to client */
STATIC char *lwp_errlist[] = { /* indexed by lwp_geterr() values */
"No Error", /* 0 */
"use of nonexistent object", /* 1 */
"receive timed out", /* 2 */
"attempt to destroy object in use", /* 3 */
"argument to primitive is invalid", /* 4 */
"can't get room to create object", /* 5 */
"object use without owning resource", /* 6 */
"use of illegal priority", /* 7 */
"possible reuse of existing object", /* 8 */
"attempt to use barren object", /* 9 */
0,
};
STATIC int lwp_nerr = { sizeof lwp_errlist/sizeof lwp_errlist[0] };
#include <stdio.h>
/*
* lwp_errstr() -- PRIMITIVE.
* return pointer to array of error messages.
*/
char **
lwp_errstr()
{
return (lwp_errlist);
}
/*
* lwp_perror() -- PRIMITIVE.
* print the error message associated with an errant lwp primitive.
*/
void
lwp_perror(s)
char *s;
{
register int err = (int)lwp_geterr();
LOCK();
(void) fflush(stderr);
if (err >= lwp_nerr) {
(void) fprintf(stderr, "Unknown error\n");
} else {
(void) fprintf(stderr, "%s: %s\n", s, lwp_errlist[err]);
}
UNLOCK();
}