Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

67 lines
1.5 KiB
C

/* Copyright (C) 1986 Sun Microsystems Inc. */
#include <lwp/common.h>
#include <lwp/queue.h>
#include <lwp/cntxt.h>
#include <lwp/mch.h>
#include <lwp/lwperror.h>
#include <lwp/process.h>
#include <lwp/schedule.h>
#include <lwp/monitor.h>
#ifndef lint
SCCSID(@(#) lwperror.c 1.1 92/07/30 Copyr 1987 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] };
/*
* 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();
int pri;
pri = splclock();
if (err >= lwp_nerr) {
(void) printf("Unknown error\n");
} else {
(void) printf("%s: %s\n", s, lwp_errlist[err]);
}
(void) splx(pri);
}