xref: /plan9/sys/src/cmd/cwfs/data.c (revision 01a344a29f2ff35133953eaef092a50fc8c3163b)
1*01a344a2SDavid du Colombier #include	"all.h"
2*01a344a2SDavid du Colombier 
3*01a344a2SDavid du Colombier char	*errstr9p[MAXERR] =
4*01a344a2SDavid du Colombier {
5*01a344a2SDavid du Colombier 	[Ebadspc]	"attach -- bad specifier",
6*01a344a2SDavid du Colombier 	[Efid]		"unknown fid",
7*01a344a2SDavid du Colombier 	[Echar]		"bad character in directory name",
8*01a344a2SDavid du Colombier 	[Eopen]		"read/write -- on non open fid",
9*01a344a2SDavid du Colombier 	[Ecount]	"read/write -- count too big",
10*01a344a2SDavid du Colombier 	[Ealloc]	"phase error -- directory entry not allocated",
11*01a344a2SDavid du Colombier 	[Eqid]		"phase error -- qid does not match",
12*01a344a2SDavid du Colombier 	[Eaccess]	"access permission denied",
13*01a344a2SDavid du Colombier 	[Eentry]	"directory entry not found",
14*01a344a2SDavid du Colombier 	[Emode]		"open/create -- unknown mode",
15*01a344a2SDavid du Colombier 	[Edir1]		"walk -- in a non-directory",
16*01a344a2SDavid du Colombier 	[Edir2]		"create -- in a non-directory",
17*01a344a2SDavid du Colombier 	[Ephase]	"phase error -- cannot happen",
18*01a344a2SDavid du Colombier 	[Eexist]	"create/wstat -- file exists",
19*01a344a2SDavid du Colombier 	[Edot]		"create/wstat -- . and .. illegal names",
20*01a344a2SDavid du Colombier 	[Eempty]	"remove -- directory not empty",
21*01a344a2SDavid du Colombier 	[Ebadu]		"attach -- unknown user or failed authentication",
22*01a344a2SDavid du Colombier 	[Enoattach]	"attach -- system maintenance",
23*01a344a2SDavid du Colombier 	[Ewstatb]	"wstat -- unknown bits in qid.type/mode",
24*01a344a2SDavid du Colombier 	[Ewstatd]	"wstat -- attempt to change directory",
25*01a344a2SDavid du Colombier 	[Ewstatg]	"wstat -- not in group",
26*01a344a2SDavid du Colombier 	[Ewstatl]	"wstat -- attempt to make length negative",
27*01a344a2SDavid du Colombier 	[Ewstatm]	"wstat -- attempt to change muid",
28*01a344a2SDavid du Colombier 	[Ewstato]	"wstat -- not owner or group leader",
29*01a344a2SDavid du Colombier 	[Ewstatp]	"wstat -- attempt to change qid.path",
30*01a344a2SDavid du Colombier 	[Ewstatq]	"wstat -- qid.type/dir.mode mismatch",
31*01a344a2SDavid du Colombier 	[Ewstatu]	"wstat -- not owner",
32*01a344a2SDavid du Colombier 	[Ewstatv]	"wstat -- attempt to change qid.vers",
33*01a344a2SDavid du Colombier 	[Ename]		"create/wstat -- bad character in file name",
34*01a344a2SDavid du Colombier 	[Ewalk]		"walk -- too many (system wide)",
35*01a344a2SDavid du Colombier 	[Eronly]	"file system read only",
36*01a344a2SDavid du Colombier 	[Efull]		"file system full",
37*01a344a2SDavid du Colombier 	[Eoffset]	"read/write -- offset negative",
38*01a344a2SDavid du Colombier 	[Elocked]	"open/create -- file is locked",
39*01a344a2SDavid du Colombier 	[Ebroken]	"read/write -- lock is broken",
40*01a344a2SDavid du Colombier 	[Eauth]		"attach -- authentication failed",
41*01a344a2SDavid du Colombier 	[Eauth2]	"read/write -- authentication unimplemented",
42*01a344a2SDavid du Colombier 	[Etoolong]	"name too long",
43*01a344a2SDavid du Colombier 	[Efidinuse]	"fid in use",
44*01a344a2SDavid du Colombier 	[Econvert]	"protocol botch",
45*01a344a2SDavid du Colombier 	[Eversion]	"version conversion",
46*01a344a2SDavid du Colombier 	[Eauthnone]	"auth -- user 'none' requires no authentication",
47*01a344a2SDavid du Colombier 	[Eauthdisabled]	"auth -- authentication disabled",	/* development */
48*01a344a2SDavid du Colombier 	[Eauthfile]	"auth -- out of auth files",
49*01a344a2SDavid du Colombier 	[Eedge]		"at the bleeding edge",		/* development */
50*01a344a2SDavid du Colombier };
51*01a344a2SDavid du Colombier 
52*01a344a2SDavid du Colombier char*	wormscode[0x80] =
53*01a344a2SDavid du Colombier {
54*01a344a2SDavid du Colombier 	[0x00]	"no sense",
55*01a344a2SDavid du Colombier 	[0x01]	"invalid command",
56*01a344a2SDavid du Colombier 	[0x02]	"recovered error",
57*01a344a2SDavid du Colombier 	[0x03]	"illegal request",
58*01a344a2SDavid du Colombier 	[0x06]	"unit attention",
59*01a344a2SDavid du Colombier 	[0x07]	"parity error",
60*01a344a2SDavid du Colombier 	[0x08]	"message reject error",
61*01a344a2SDavid du Colombier 	[0x0a]	"copy aborted",
62*01a344a2SDavid du Colombier 	[0x0b]	"initiator detected error",
63*01a344a2SDavid du Colombier 	[0x0c]	"select re-select failed",
64*01a344a2SDavid du Colombier 	[0x0e]	"miscompare",
65*01a344a2SDavid du Colombier 
66*01a344a2SDavid du Colombier 	[0x10]	"ecc trouble occurred",
67*01a344a2SDavid du Colombier 	[0x11]	"time out error",
68*01a344a2SDavid du Colombier 	[0x12]	"controller error",
69*01a344a2SDavid du Colombier 	[0x13]	"sony i/f II hardware/firmware error",
70*01a344a2SDavid du Colombier 	[0x14]	"scsi hardware/firmware error",
71*01a344a2SDavid du Colombier 	[0x15]	"rom version unmatched error",
72*01a344a2SDavid du Colombier 	[0x16]	"logical block address out of range",
73*01a344a2SDavid du Colombier 
74*01a344a2SDavid du Colombier 	[0x20]	"command not terminated",
75*01a344a2SDavid du Colombier 	[0x21]	"drive interface parity error",
76*01a344a2SDavid du Colombier 	[0x22]	"loading trouble",
77*01a344a2SDavid du Colombier 	[0x23]	"focus trouble",
78*01a344a2SDavid du Colombier 	[0x24]	"tracking trouble",
79*01a344a2SDavid du Colombier 	[0x25]	"spindle trouble",
80*01a344a2SDavid du Colombier 	[0x26]	"slide trouble",
81*01a344a2SDavid du Colombier 	[0x27]	"skew trouble",
82*01a344a2SDavid du Colombier 	[0x28]	"head lead out",
83*01a344a2SDavid du Colombier 	[0x29]	"write modulation trouble",
84*01a344a2SDavid du Colombier 	[0x2a]	"under laser power",
85*01a344a2SDavid du Colombier 	[0x2b]	"over laser power",
86*01a344a2SDavid du Colombier 	[0x2f]	"drive error",
87*01a344a2SDavid du Colombier 
88*01a344a2SDavid du Colombier 	[0x30]	"drive power off",
89*01a344a2SDavid du Colombier 	[0x31]	"no disk in drive",
90*01a344a2SDavid du Colombier 	[0x32]	"drive not ready",
91*01a344a2SDavid du Colombier 	[0x38]	"disk already exists in drive",
92*01a344a2SDavid du Colombier 	[0x39]	"no disk in shelf",
93*01a344a2SDavid du Colombier 	[0x3a]	"disk already exists in shelf",
94*01a344a2SDavid du Colombier 
95*01a344a2SDavid du Colombier 	[0x40]	"write warning",
96*01a344a2SDavid du Colombier 	[0x41]	"write error",
97*01a344a2SDavid du Colombier 	[0x42]	"disk error",
98*01a344a2SDavid du Colombier 	[0x43]	"cannot read disk ID",
99*01a344a2SDavid du Colombier 	[0x44]	"write protect error 1",
100*01a344a2SDavid du Colombier 	[0x45]	"write protect error 2",
101*01a344a2SDavid du Colombier 	[0x46]	"disk warning",
102*01a344a2SDavid du Colombier 	[0x47]	"alternation trouble",
103*01a344a2SDavid du Colombier 
104*01a344a2SDavid du Colombier 	[0x50]	"specified address not found",
105*01a344a2SDavid du Colombier 	[0x51]	"address block not found",
106*01a344a2SDavid du Colombier 	[0x52]	"all address could not be read",
107*01a344a2SDavid du Colombier 	[0x53]	"data could not be read",
108*01a344a2SDavid du Colombier 	[0x54]	"uncorrectable read error",
109*01a344a2SDavid du Colombier 	[0x55]	"tracking error",
110*01a344a2SDavid du Colombier 	[0x56]	"write servo error",
111*01a344a2SDavid du Colombier 	[0x57]	"write monitor error",
112*01a344a2SDavid du Colombier 	[0x58]	"write verify error",
113*01a344a2SDavid du Colombier 
114*01a344a2SDavid du Colombier 	[0x60]	"no data in specified address",
115*01a344a2SDavid du Colombier 	[0x61]	"blank check failed",
116*01a344a2SDavid du Colombier 	[0x62]	"controller diagnostics failed",
117*01a344a2SDavid du Colombier 	[0x63]	"drive diagnostice failed",
118*01a344a2SDavid du Colombier 	[0x64]	"diagnostice aborted",
119*01a344a2SDavid du Colombier 	[0x67]	"juke diagnostice failed",
120*01a344a2SDavid du Colombier 	[0x68]	"z-axis servo failed",
121*01a344a2SDavid du Colombier 	[0x69]	"roter servo error",
122*01a344a2SDavid du Colombier 	[0x6a]	"hook servo error",
123*01a344a2SDavid du Colombier 	[0x6b]	"I/O self error",
124*01a344a2SDavid du Colombier 	[0x6c]	"drive 0 error",
125*01a344a2SDavid du Colombier 	[0x6d]	"drive 1 error",
126*01a344a2SDavid du Colombier 	[0x6e]	"shelf error",
127*01a344a2SDavid du Colombier 	[0x6f]	"carrier error",
128*01a344a2SDavid du Colombier 
129*01a344a2SDavid du Colombier 	[0x70]	"rob made me do it",
130*01a344a2SDavid du Colombier 	[0x71]	"out of range",
131*01a344a2SDavid du Colombier };
132*01a344a2SDavid du Colombier 
133*01a344a2SDavid du Colombier char*	tagnames[] =
134*01a344a2SDavid du Colombier {
135*01a344a2SDavid du Colombier 	[Tbuck]		"Tbuck",
136*01a344a2SDavid du Colombier 	[Tdir]		"Tdir",
137*01a344a2SDavid du Colombier 	[Tfile]		"Tfile",
138*01a344a2SDavid du Colombier 	[Tfree]		"Tfree",
139*01a344a2SDavid du Colombier 	[Tind1]		"Tind1",
140*01a344a2SDavid du Colombier 	[Tind2]		"Tind2",
141*01a344a2SDavid du Colombier #ifndef COMPAT32
142*01a344a2SDavid du Colombier 	[Tind3]		"Tind3",
143*01a344a2SDavid du Colombier 	[Tind4]		"Tind4",
144*01a344a2SDavid du Colombier 	/* add more Tind tags here ... */
145*01a344a2SDavid du Colombier #endif
146*01a344a2SDavid du Colombier 	[Tnone]		"Tnone",
147*01a344a2SDavid du Colombier 	[Tsuper]	"Tsuper",
148*01a344a2SDavid du Colombier 	[Tvirgo]	"Tvirgo",
149*01a344a2SDavid du Colombier 	[Tcache]	"Tcache",
150*01a344a2SDavid du Colombier };
151