xref: /plan9/sys/src/libsunrpc/error.c (revision 34e0422554c8e8bef66509534d2c44f4660bf678)
1*34e04225SDavid du Colombier #include <u.h>
2*34e04225SDavid du Colombier #include <libc.h>
3*34e04225SDavid du Colombier #include <thread.h>
4*34e04225SDavid du Colombier #include <sunrpc.h>
5*34e04225SDavid du Colombier 
6*34e04225SDavid du Colombier static struct {
7*34e04225SDavid du Colombier 	SunStatus status;
8*34e04225SDavid du Colombier 	char *msg;
9*34e04225SDavid du Colombier } tab[] = {
10*34e04225SDavid du Colombier 	SunProgUnavail,	"program unavailable",
11*34e04225SDavid du Colombier 	SunProgMismatch,	"program mismatch",
12*34e04225SDavid du Colombier 	SunProcUnavail,	"procedure unavailable",
13*34e04225SDavid du Colombier 	SunGarbageArgs,	"garbage args",
14*34e04225SDavid du Colombier 	SunSystemErr,		"system error",
15*34e04225SDavid du Colombier 	SunRpcMismatch,	"rpc mismatch",
16*34e04225SDavid du Colombier 	SunAuthBadCred,	"bad auth cred",
17*34e04225SDavid du Colombier 	SunAuthRejectedCred,	"rejected auth cred",
18*34e04225SDavid du Colombier 	SunAuthBadVerf,	"bad auth verf",
19*34e04225SDavid du Colombier 	SunAuthRejectedVerf,	"rejected auth verf",
20*34e04225SDavid du Colombier 	SunAuthTooWeak,	"auth too weak",
21*34e04225SDavid du Colombier 	SunAuthInvalidResp,	"invalid auth response",
22*34e04225SDavid du Colombier 	SunAuthFailed,		"auth failed",
23*34e04225SDavid du Colombier };
24*34e04225SDavid du Colombier 
25*34e04225SDavid du Colombier void
sunErrstr(SunStatus status)26*34e04225SDavid du Colombier sunErrstr(SunStatus status)
27*34e04225SDavid du Colombier {
28*34e04225SDavid du Colombier 	int i;
29*34e04225SDavid du Colombier 
30*34e04225SDavid du Colombier 	for(i=0; i<nelem(tab); i++){
31*34e04225SDavid du Colombier 		if(tab[i].status == status){
32*34e04225SDavid du Colombier 			werrstr(tab[i].msg);
33*34e04225SDavid du Colombier 			return;
34*34e04225SDavid du Colombier 		}
35*34e04225SDavid du Colombier 	}
36*34e04225SDavid du Colombier 	werrstr("unknown sun error %d", (int)status);
37*34e04225SDavid du Colombier }
38