12 char service[2*NAMELEN];
22 Filsys filesys[MAXFILSYS] =
24 {"main", {Devwren, 0, 0, 0}, 0},
27 Device devnone = {Devnone, 0, 0, 0};
29 Devcall devcall[MAXDEV] = {
31 [Devwren] {wreninit, wrenream, wrencheck, wrensuper, wrenroot, wrensize, wrenread, wrenwrite},
48 char *errstring[MAXERR] =
50 [Ebadspc] "attach -- bad specifier",
52 [Echar] "bad character in directory name",
53 [Eopen] "read/write -- on non open fid",
54 [Ecount] "read/write -- count too big",
55 [Ealloc] "phase error -- directory entry not allocated",
56 [Eqid] "phase error -- qid does not match",
57 [Eauth] "authentication failed",
58 [Eauthmsg] "kfs: authentication not required",
59 [Eaccess] "access permission denied",
60 [Eentry] "directory entry not found",
61 [Emode] "open/create -- unknown mode",
62 [Edir1] "walk -- in a non-directory",
63 [Edir2] "create -- in a non-directory",
64 [Ephase] "phase error -- cannot happen",
65 [Eexist] "create -- file exists",
66 [Edot] "create -- . and .. illegal names",
67 [Eempty] "remove -- directory not empty",
68 [Ebadu] "attach -- privileged user",
69 [Enotu] "wstat -- not owner",
70 [Enotg] "wstat -- not in group",
71 [Enotl] "wstat -- attempt to change length",
72 [Enotd] "wstat -- attempt to change directory",
73 [Enotm] "wstat -- unknown type/mode",
74 [Ename] "create/wstat -- bad character in file name",
75 [Ewalk] "walk -- too many (system wide)",
76 [Eronly] "file system read only",
77 [Efull] "file system full",
78 [Eoffset] "read/write -- offset negative",
79 [Elocked] "open/create -- file is locked",
80 [Ebroken] "close/read/write -- lock is broken",
81 [Efidinuse] "fid already in use",
82 [Etoolong] "name too long",
83 [Ersc] "it's russ's fault. bug him.",
84 [Econvert] "protocol botch",
85 [Eqidmode] "wstat -- qid.type/dir.mode mismatch",
86 [Esystem] "kfs system error",