M port/devmnt.c => port/devmnt.c +3 -3
@@ 487,7 487,7 @@ mountrpc(Mnt *m, Mntrpc *r)
if(r->reply.type != r->request.type+1) {
print("devmnt: mismatched reply 0x%lux T%d R%d tags req %d fls %d rep %d\n",
r, r->request.type, r->reply.type, r->request.tag, r->flushtag, r->reply.tag);
- errors("protocol error");
+ error(Emountrpc);
}
}
@@ 513,12 513,12 @@ mountio(Mnt *m, Mntrpc *r)
else {
if(m->mux) {
if((*devtab[m->c->type].write)(m->c, r->rpc, n, 0) != n)
- error(Eshortmsg);
+ error(Emountrpc);
}
else {
qlock(&m->c->wrl);
if((*devtab[m->c->type].write)(m->c, r->rpc, n, 0) != n)
- error(Eshortmsg);
+ error(Emountrpc);
qunlock(&m->c->wrl);
}
poperror();
M port/devmux.c => port/devmux.c +12 -12
@@ 221,20 221,20 @@ muxopen(Chan *c, int omode)
switch(NCON(c)) {
case Qhead:
if(m->headopen)
- errors("server channel busy");
+ error(Einuse);
m->headopen = 1;
m->ref++;
break;
case Qclone:
if(m->headopen == 0)
- errors("server shutdown");
+ error(Emuxshutdown);
cm = m->connects;
for(e = &cm[Nmux]; cm < e; cm++)
if(cm->ref == 0)
break;
if(cm == e)
- errors("all cannels busy");
+ error(Emuxbusy);
cm->ref = 1;
m->ref++;
strncpy(cm->user, u->p->user, NAMELEN);
@@ 275,7 275,7 @@ muxcreate(Chan *c, char *name, int omode, ulong perm)
}
if(m == e)
- errors("no multiplexors");
+ error(Enomux);
strncpy(m->name, name, NAMELEN);
strncpy(m->user, u->p->user, NAMELEN);
@@ 304,8 304,8 @@ muxremove(Chan *c)
if((c->qid.path&CHDIR) == 0 && m->srv == 0)
error(Eperm);
- if(strcmp(u->p->user, m->user) != 0)
- errors("not owner");
+ if(strncmp(u->p->user, m->user, NAMELEN))
+ error(Eperm);
srv = 0;
lock(m);
@@ 332,8 332,8 @@ muxwstat(Chan *c, char *db)
error(Eperm);
m = &muxes[NMUX(c)];
- if(strcmp(u->p->user, m->user) != 0)
- errors("not owner");
+ if(strncmp(u->p->user, m->user, NAMELEN))
+ error(Eperm);
convM2D(db, &d);
d.mode &= 0777;
@@ 434,11 434,11 @@ muxhdr(Mux *m, char *h)
Con *c;
if(h[0] != Tmux || h[2] != 0)
- error(Ebadmsg);
+ error(Emuxmsg);
c = &m->connects[h[1]];
if(c < m->connects || c > &m->connects[Nmux])
- error(Ebadmsg);
+ error(Emuxmsg);
if(c->ref == 0)
return 0;
@@ 476,7 476,7 @@ muxwrite(Chan *c, void *va, long n, ulong offset)
error(Eperm);
case Qhead:
if(n < 2)
- error(Ebadmsg);
+ error(Emuxmsg);
a = (char*)va;
memmove(hdr, a, sizeof(hdr));
@@ 610,7 610,7 @@ muxreadq(Mux *m, Dtq *q, char *va, ulong n)
while(!havedata(q)) {
sleep(&q->r, havedata, q);
if(m->headopen == 0)
- errors("server shutdown");
+ errors(Emuxshutdown);
}
nread = 0;
M port/devnonet.c => port/devnonet.c +2 -2
@@ 238,7 238,7 @@ nonetopenclone(Chan *c, Noifc *ifc)
}
}
if(cp == ep)
- error(Enodev);;
+ error(Enodev);
return cp;
}
@@ 276,7 276,7 @@ nonetopen(Chan *c, int omode)
line = STREAMID(c->qid.path);
ifc = &noifc[c->dev];
if(ifc->conv[line].state != Cannounced)
- errors("channel not announced");
+ error(Enolisten);
nolisten(c, ifc);
break;
case Nraddrqid:
M port/error.h => port/error.h +10 -8
@@ 2,6 2,9 @@ extern char Enoerror[]; /* no error */
extern char Emount[]; /* inconsistent mount */
extern char Eunmount[]; /* not mounted */
extern char Eunion[]; /* not in union */
+extern char Emountrpc[]; /* mount rpc error */
+extern char Eshutdown[]; /* mounted device shut down */
+extern char Enomntdev[]; /* no free mount devices */
extern char Enocreate[]; /* mounted directory forbids creation */
extern char Enonexist[]; /* file does not exist */
extern char Ebadsharp[]; /* unknown device in # filename */
@@ 21,7 24,7 @@ extern char Ebadbitmap[]; /* unallocated bitmap */
extern char Enobitmap[]; /* out of bitmap descriptors */
extern char Enobitstore[]; /* out of bitmap storage */
extern char Ebadfont[]; /* unallocated font */
-extern char Enofont[]; /* out of font descriptors */
+extern char Enofont[]; /* no free font descriptors */
extern char Eauth[]; /* authentication failure */
extern char Ebadaddr[]; /* bad network address */
extern char Emsgsize[]; /* message is too big for protocol */
@@ 32,8 35,14 @@ extern char Enoroute[]; /* no free routes */
extern char Enoifc[]; /* bad interface or no free interface slots */
extern char Enolisten[]; /* not announced */
extern char Ehungup[]; /* write to hungup stream */
+extern char Ebadctl[]; /* bad process or stream control request */
extern char Enodev[]; /* no free devices */
extern char Enoenv[]; /* no free environment resources */
+extern char Emuxshutdown[]; /* mux server shut down */
+extern char Emuxbusy[]; /* all mux channels busy */
+extern char Enomux[]; /* no free multiplexers */
+extern char Emuxmsg[]; /* bad mux message format or mismatch */
+extern char Enopipe[]; /* no free pipes */
extern char Enofd[]; /* no free file descriptors */
extern char Ebadfd[]; /* fd out of range or not open */
@@ 42,9 51,6 @@ extern char Eioload[]; /* i/o error in demand load */
extern char Enochild[]; /* no living children */
extern char Enoseg[]; /* no free segments */
extern char Ebadmount[]; /* inconsistent mount */
-extern char Enomount[]; /* mount table full */
-extern char Enomntdev[]; /* no free mount devices */
-extern char Eshutdown[]; /* mounted device shut down */
extern char Ebaddirread[]; /* directory read not quantized */
extern char Esegaddr[]; /* illegal segment addresses or size */
extern char Eprocdied[]; /* process exited */
@@ 53,19 59,15 @@ extern char Enoqueue[]; /* no free stream queues */
extern char Ebadld[]; /* illegal line discipline */
extern char Enostream[]; /* no free stream heads */
extern char Ebadnet[]; /* illegal network address */
-extern char Ebadctl[]; /* bad process or stream control request */
extern char Enonote[]; /* note overflow */
extern char Eintr[]; /* interrupted */
extern char Edestbusy[]; /* datakit destination busy */
extern char Edestotl[]; /* datakit destination out to lunch */
extern char Enetotl[]; /* datakit controller out to lunch */
extern char Erejected[]; /* datakit destination rejected call */
-extern char Eshortmsg[]; /* short message */
-extern char Ebadmsg[]; /* format error or mismatch in message */
extern char Ebadcnt[]; /* read count greater than requested */
extern char Enovmem[]; /* virtual memory allocation failed */
extern char Enoasync[]; /* out of async stream modules */
-extern char Enopipe[]; /* out of pipes */
extern char Enetunreach[]; /* network unreachable */
extern char Etimedout[]; /* connection timed out */
extern char Econrefused[]; /* connection refused */