scsierrs.c 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938
  1. /* machine generated. Once. TODO: write the vendor support to bring this in as we should.
  2. * But the errors almost never change, so there's no hurry.
  3. */
  4. #include <u.h>
  5. #include <libc.h>
  6. typedef struct Err Err;
  7. struct Err
  8. {
  9. int n;
  10. char *s;
  11. };
  12. static Err scsierrs[] = {
  13. {0x0000, "no additional sense information"},
  14. {0x0001, "filemark detected"},
  15. {0x0002, "end-of-partition/medium detected"},
  16. {0x0003, "setmark detected"},
  17. {0x0004, "beginning-of-partition/medium detected"},
  18. {0x0005, "end-of-data detected"},
  19. {0x0006, "i/o process terminated"},
  20. {0x0007, "programmable early warning detected"},
  21. {0x0011, "audio play operation in progress"},
  22. {0x0012, "audio play operation paused"},
  23. {0x0013, "audio play operation successfully completed"},
  24. {0x0014, "audio play operation stopped due to error"},
  25. {0x0015, "no current audio status to return"},
  26. {0x0016, "operation in progress"},
  27. {0x0017, "cleaning requested"},
  28. {0x0018, "erase operation in progress"},
  29. {0x0019, "locate operation in progress"},
  30. {0x001a, "rewind operation in progress"},
  31. {0x001b, "set capacity operation in progress"},
  32. {0x001c, "verify operation in progress"},
  33. {0x0100, "no index/sector signal"},
  34. {0x0200, "no seek complete"},
  35. {0x0300, "peripheral device write fault"},
  36. {0x0301, "no write current"},
  37. {0x0302, "excessive write errors"},
  38. {0x0400, "logical unit not ready, cause not reportable"},
  39. {0x0401, "logical unit is in process of becoming ready"},
  40. {0x0402, "logical unit not ready, initializing command required"},
  41. {0x0403, "logical unit not ready, manual intervention required"},
  42. {0x0404, "logical unit not ready, format in progress"},
  43. {0x0405, "logical unit not ready, rebuild in progress"},
  44. {0x0406, "logical unit not ready, recalculation in progress"},
  45. {0x0407, "logical unit not ready, operation in progress"},
  46. {0x0408, "logical unit not ready, long write in progress"},
  47. {0x0409, "logical unit not ready, self-test in progress"},
  48. {0x040a, "logical unit not accessible, asymmetric access state transition"},
  49. {0x040b, "logical unit not accessible, target port in standby state"},
  50. {0x040c, "logical unit not accessible, target port in unavailable state"},
  51. {0x0410, "logical unit not ready, auxiliary memory not accessible"},
  52. {0x0411, "logical unit not ready, notify (enable spinup) required"},
  53. {0x0412, "logical unit not ready, offline"},
  54. {0x0413, "logical unit not ready, sa creation in progress"},
  55. {0x0414, "logical unit not ready, space allocation in progress"},
  56. {0x0415, "logical unit not ready, robotics disabled"},
  57. {0x0416, "logical unit not ready, configuration required"},
  58. {0x0417, "logical unit not ready, calibration required"},
  59. {0x0418, "logical unit not ready, a door is open"},
  60. {0x0419, "logical unit not ready, operating in sequential mode"},
  61. {0x0500, "logical unit does not respond to selection"},
  62. {0x0600, "no reference position found"},
  63. {0x0700, "multiple peripheral devices selected"},
  64. {0x0800, "logical unit communication failure"},
  65. {0x0801, "logical unit communication time-out"},
  66. {0x0802, "logical unit communication parity error"},
  67. {0x0803, "logical unit communication crc error (ultra-dma/32)"},
  68. {0x0804, "unreachable copy target"},
  69. {0x0900, "track following error"},
  70. {0x0901, "tracking servo failure"},
  71. {0x0902, "focus servo failure"},
  72. {0x0903, "spindle servo failure"},
  73. {0x0904, "head select fault"},
  74. {0x0a00, "error log overflow"},
  75. {0x0b00, "warning"},
  76. {0x0b01, "warning - specified temperature exceeded"},
  77. {0x0b02, "warning - enclosure degraded"},
  78. {0x0b03, "warning - background self-test failed"},
  79. {0x0b04, "warning - background pre-scan detected medium error"},
  80. {0x0b05, "warning - background medium scan detected medium error"},
  81. {0x0b06, "warning - non-volatile cache now volatile"},
  82. {0x0b07, "warning - degraded power to non-volatile cache"},
  83. {0x0b08, "warning - power loss expected"},
  84. {0x0c00, "write error"},
  85. {0x0c01, "write error - recovered with auto reallocation"},
  86. {0x0c02, "write error - auto reallocation failed"},
  87. {0x0c03, "write error - recommend reassignment"},
  88. {0x0c04, "compression check miscompare error"},
  89. {0x0c05, "data expansion occurred during compression"},
  90. {0x0c06, "block not compressible"},
  91. {0x0c07, "write error - recovery needed"},
  92. {0x0c08, "write error - recovery failed"},
  93. {0x0c09, "write error - loss of streaming"},
  94. {0x0c0a, "write error - padding blocks added"},
  95. {0x0c0b, "auxiliary memory write error"},
  96. {0x0c0c, "write error - unexpected unsolicited data"},
  97. {0x1000, "id crc or ecc error"},
  98. {0x1001, "logical block guard check failed"},
  99. {0x1002, "logical block application tag check failed"},
  100. {0x1003, "logical block reference tag check failed"},
  101. {0x1100, "unrecovered read error"},
  102. {0x1101, "read retries exhausted"},
  103. {0x1102, "error too long to correct"},
  104. {0x1103, "multiple read errors"},
  105. {0x1104, "unrecovered read error - auto reallocate failed"},
  106. {0x1105, "l-ec uncorrectable error"},
  107. {0x1106, "circ unrecovered error"},
  108. {0x1107, "data re-synchronization error"},
  109. {0x1108, "incomplete block read"},
  110. {0x1109, "no gap found"},
  111. {0x110a, "miscorrected error"},
  112. {0x110b, "unrecovered read error - recommend reassignment"},
  113. {0x110c, "unrecovered read error - recommend rewrite the data"},
  114. {0x1110, "error reading isrc number"},
  115. {0x1111, "read error - loss of streaming"},
  116. {0x1112, "auxiliary memory read error"},
  117. {0x1113, "read error - failed retransmission request"},
  118. {0x1114, "read error - lba marked bad by application client"},
  119. {0x1200, "address mark not found for id field"},
  120. {0x1300, "address mark not found for data field"},
  121. {0x1400, "recorded entity not found"},
  122. {0x1401, "record not found"},
  123. {0x1402, "filemark or setmark not found"},
  124. {0x1403, "end-of-data not found"},
  125. {0x1404, "block sequence error"},
  126. {0x1405, "record not found - recommend reassignment"},
  127. {0x1406, "record not found - data auto-reallocated"},
  128. {0x1407, "locate operation failure"},
  129. {0x1500, "random positioning error"},
  130. {0x1501, "mechanical positioning error"},
  131. {0x1502, "positioning error detected by read of medium"},
  132. {0x1600, "data synchronization mark error"},
  133. {0x1601, "data sync error - data rewritten"},
  134. {0x1602, "data sync error - recommend rewrite"},
  135. {0x1603, "data sync error - data auto-reallocated"},
  136. {0x1604, "data sync error - recommend reassignment"},
  137. {0x1700, "recovered data with no error correction applied"},
  138. {0x1701, "recovered data with retries"},
  139. {0x1702, "recovered data with positive head offset"},
  140. {0x1703, "recovered data with negative head offset"},
  141. {0x1704, "recovered data with retries and/or circ applied"},
  142. {0x1705, "recovered data using previous sector id"},
  143. {0x1706, "recovered data without ecc - data auto-reallocated"},
  144. {0x1707, "recovered data without ecc - recommend reassignment"},
  145. {0x1708, "recovered data without ecc - recommend rewrite"},
  146. {0x1709, "recovered data without ecc - data rewritten"},
  147. {0x1800, "recovered data with error correction applied"},
  148. {0x1801, "recovered data with error corr. & retries applied"},
  149. {0x1802, "recovered data - data auto-reallocated"},
  150. {0x1803, "recovered data with circ"},
  151. {0x1804, "recovered data with l-ec"},
  152. {0x1805, "recovered data - recommend reassignment"},
  153. {0x1806, "recovered data - recommend rewrite"},
  154. {0x1807, "recovered data with ecc - data rewritten"},
  155. {0x1808, "recovered data with linking"},
  156. {0x1900, "defect list error"},
  157. {0x1901, "defect list not available"},
  158. {0x1902, "defect list error in primary list"},
  159. {0x1903, "defect list error in grown list"},
  160. {0x1a00, "parameter list length error"},
  161. {0x1b00, "synchronous data transfer error"},
  162. {0x1c00, "defect list not found"},
  163. {0x1c01, "primary defect list not found"},
  164. {0x1c02, "grown defect list not found"},
  165. {0x2000, "invalid command operation code"},
  166. {0x2001, "access denied - initiator pending-enrolled"},
  167. {0x2002, "access denied - no access rights"},
  168. {0x2003, "access denied - invalid mgmt id key"},
  169. {0x2004, "illegal command while in write capable state"},
  170. {0x2005, "obsolete"},
  171. {0x2006, "illegal command while in explicit address mode"},
  172. {0x2007, "illegal command while in implicit address mode"},
  173. {0x2008, "access denied - enrollment conflict"},
  174. {0x2009, "access denied - invalid lu identifier"},
  175. {0x200a, "access denied - invalid proxy token"},
  176. {0x200b, "access denied - acl lun conflict"},
  177. {0x2100, "logical block address out of range"},
  178. {0x2101, "invalid element address"},
  179. {0x2102, "invalid address for write"},
  180. {0x2103, "invalid write crossing layer jump"},
  181. {0x2200, "illegal function (use 20 00, 24 00, or 26 00)"},
  182. {0x2400, "invalid field in cdb"},
  183. {0x2401, "cdb decryption error"},
  184. {0x2402, "obsolete"},
  185. {0x2403, "obsolete"},
  186. {0x2404, "security audit value frozen"},
  187. {0x2405, "security working key frozen"},
  188. {0x2406, "nonce not unique"},
  189. {0x2407, "nonce timestamp out of range"},
  190. {0x2408, "invalid xcdb"},
  191. {0x2500, "logical unit not supported"},
  192. {0x2600, "invalid field in parameter list"},
  193. {0x2601, "parameter not supported"},
  194. {0x2602, "parameter value invalid"},
  195. {0x2603, "threshold parameters not supported"},
  196. {0x2604, "invalid release of persistent reservation"},
  197. {0x2605, "data decryption error"},
  198. {0x2606, "too many target descriptors"},
  199. {0x2607, "unsupported target descriptor type code"},
  200. {0x2608, "too many segment descriptors"},
  201. {0x2609, "unsupported segment descriptor type code"},
  202. {0x260a, "unexpected inexact segment"},
  203. {0x260b, "inline data length exceeded"},
  204. {0x260c, "invalid operation for copy source or destination"},
  205. {0x2610, "data decryption key fail limit reached"},
  206. {0x2611, "incomplete key-associated data set"},
  207. {0x2612, "vendor specific key reference not found"},
  208. {0x2700, "write protected"},
  209. {0x2701, "hardware write protected"},
  210. {0x2702, "logical unit software write protected"},
  211. {0x2703, "associated write protect"},
  212. {0x2704, "persistent write protect"},
  213. {0x2705, "permanent write protect"},
  214. {0x2706, "conditional write protect"},
  215. {0x2707, "space allocation failed write protect"},
  216. {0x2800, "not ready to ready change, medium may have changed"},
  217. {0x2801, "import or export element accessed"},
  218. {0x2802, "format-layer may have changed"},
  219. {0x2803, "import/export element accessed, medium changed"},
  220. {0x2900, "power on, reset, or bus device reset occurred"},
  221. {0x2901, "power on occurred"},
  222. {0x2902, "scsi bus reset occurred"},
  223. {0x2903, "bus device reset function occurred"},
  224. {0x2904, "device internal reset"},
  225. {0x2905, "transceiver mode changed to single-ended"},
  226. {0x2906, "transceiver mode changed to lvd"},
  227. {0x2907, "i_t nexus loss occurred"},
  228. {0x2a00, "parameters changed"},
  229. {0x2a01, "mode parameters changed"},
  230. {0x2a02, "log parameters changed"},
  231. {0x2a03, "reservations preempted"},
  232. {0x2a04, "reservations released"},
  233. {0x2a05, "registrations preempted"},
  234. {0x2a06, "asymmetric access state changed"},
  235. {0x2a07, "implicit asymmetric access state transition failed"},
  236. {0x2a08, "priority changed"},
  237. {0x2a09, "capacity data has changed"},
  238. {0x2a0a, "error history i_t nexus cleared"},
  239. {0x2a0b, "error history snapshot released"},
  240. {0x2a0c, "error recovery attributes have changed"},
  241. {0x2a10, "timestamp changed"},
  242. {0x2a11, "data encryption parameters changed by another i_t nexus"},
  243. {0x2a12, "data encryption parameters changed by vendor specific event"},
  244. {0x2a13, "data encryption key instance counter has changed"},
  245. {0x2a14, "sa creation capabilities data has changed"},
  246. {0x2b00, "copy cannot execute since host cannot disconnect"},
  247. {0x2c00, "command sequence error"},
  248. {0x2c01, "too many windows specified"},
  249. {0x2c02, "invalid combination of windows specified"},
  250. {0x2c03, "current program area is not empty"},
  251. {0x2c04, "current program area is empty"},
  252. {0x2c05, "illegal power condition request"},
  253. {0x2c06, "persistent prevent conflict"},
  254. {0x2c07, "previous busy status"},
  255. {0x2c08, "previous task set full status"},
  256. {0x2c09, "previous reservation conflict status"},
  257. {0x2c0a, "partition or collection contains user objects"},
  258. {0x2c0b, "not reserved"},
  259. {0x3000, "incompatible medium installed"},
  260. {0x3001, "cannot read medium - unknown format"},
  261. {0x3002, "cannot read medium - incompatible format"},
  262. {0x3003, "cleaning cartridge installed"},
  263. {0x3004, "cannot write medium - unknown format"},
  264. {0x3005, "cannot write medium - incompatible format"},
  265. {0x3006, "cannot format medium - incompatible medium"},
  266. {0x3007, "cleaning failure"},
  267. {0x3008, "cannot write - application code mismatch"},
  268. {0x3009, "current session not fixated for append"},
  269. {0x300a, "cleaning request rejected"},
  270. {0x300c, "worm medium - overwrite attempted"},
  271. {0x3010, "medium not formatted"},
  272. {0x3011, "incompatible volume type"},
  273. {0x3012, "incompatible volume qualifier"},
  274. {0x3013, "cleaning volume expired"},
  275. {0x3100, "medium format corrupted"},
  276. {0x3101, "format command failed"},
  277. {0x3102, "zoned formatting failed due to spare linking"},
  278. {0x3200, "no defect spare location available"},
  279. {0x3201, "defect list update failure"},
  280. {0x3300, "tape length error"},
  281. {0x3400, "enclosure failure"},
  282. {0x3500, "enclosure services failure"},
  283. {0x3501, "unsupported enclosure function"},
  284. {0x3502, "enclosure services unavailable"},
  285. {0x3503, "enclosure services transfer failure"},
  286. {0x3504, "enclosure services transfer refused"},
  287. {0x3505, "enclosure services checksum error"},
  288. {0x3600, "ribbon, ink, or toner failure"},
  289. {0x3700, "rounded parameter"},
  290. {0x3800, "event status notification"},
  291. {0x3802, "esn - power management class event"},
  292. {0x3804, "esn - media class event"},
  293. {0x3806, "esn - device busy class event"},
  294. {0x3807, "thin provisioning soft threshold reached"},
  295. {0x3900, "saving parameters not supported"},
  296. {0x3a00, "medium not present"},
  297. {0x3a01, "medium not present - tray closed"},
  298. {0x3a02, "medium not present - tray open"},
  299. {0x3a03, "medium not present - loadable"},
  300. {0x3a04, "medium not present - medium auxiliary memory accessible"},
  301. {0x3b00, "sequential positioning error"},
  302. {0x3b01, "tape position error at beginning-of-medium"},
  303. {0x3b02, "tape position error at end-of-medium"},
  304. {0x3b03, "tape or electronic vertical forms unit not ready"},
  305. {0x3b04, "slew failure"},
  306. {0x3b05, "paper jam"},
  307. {0x3b06, "failed to sense top-of-form"},
  308. {0x3b07, "failed to sense bottom-of-form"},
  309. {0x3b08, "reposition error"},
  310. {0x3b09, "read past end of medium"},
  311. {0x3b0a, "read past beginning of medium"},
  312. {0x3b0b, "position past end of medium"},
  313. {0x3b0c, "position past beginning of medium"},
  314. {0x3b11, "medium magazine not accessible"},
  315. {0x3b12, "medium magazine removed"},
  316. {0x3b13, "medium magazine inserted"},
  317. {0x3b14, "medium magazine locked"},
  318. {0x3b15, "medium magazine unlocked"},
  319. {0x3b16, "mechanical positioning or changer error"},
  320. {0x3b17, "read past end of user object"},
  321. {0x3b18, "element disabled"},
  322. {0x3b19, "element enabled"},
  323. {0x3b1a, "data transfer device removed"},
  324. {0x3b1b, "data transfer device inserted"},
  325. {0x4000, "ram failure (should use 40 nn)"},
  326. {0x4100, "data path failure (should use 40 nn)"},
  327. {0x4200, "power-on or self-test failure (should use 40 nn)"},
  328. {0x4300, "message error"},
  329. {0x4400, "internal target failure"},
  330. {0x4471, "ata device failed set features"},
  331. {0x4500, "select or reselect failure"},
  332. {0x4600, "unsuccessful soft reset"},
  333. {0x4700, "scsi parity error"},
  334. {0x4701, "data phase crc error detected"},
  335. {0x4702, "scsi parity error detected during st data phase"},
  336. {0x4703, "information unit iucrc error detected"},
  337. {0x4704, "asynchronous information protection error detected"},
  338. {0x4705, "protocol service crc error"},
  339. {0x4706, "phy test function in progress"},
  340. {0x4800, "initiator detected error message received"},
  341. {0x4900, "invalid message error"},
  342. {0x4a00, "command phase error"},
  343. {0x4b00, "data phase error"},
  344. {0x4b01, "invalid target port transfer tag received"},
  345. {0x4b02, "too much write data"},
  346. {0x4b03, "ack/nak timeout"},
  347. {0x4b04, "nak received"},
  348. {0x4b05, "data offset error"},
  349. {0x4b06, "initiator response timeout"},
  350. {0x4b07, "connection lost"},
  351. {0x4c00, "logical unit failed self-configuration"},
  352. {0x5000, "write append error"},
  353. {0x5001, "write append position error"},
  354. {0x5002, "position error related to timing"},
  355. {0x5100, "erase failure"},
  356. {0x5101, "erase failure - incomplete erase operation detected"},
  357. {0x5200, "cartridge fault"},
  358. {0x5300, "media load or eject failed"},
  359. {0x5301, "unload tape failure"},
  360. {0x5302, "medium removal prevented"},
  361. {0x5303, "medium removal prevented by data transfer element"},
  362. {0x5304, "medium thread or unthread failure"},
  363. {0x5400, "scsi to host system interface failure"},
  364. {0x5500, "system resource failure"},
  365. {0x5501, "system buffer full"},
  366. {0x5502, "insufficient reservation resources"},
  367. {0x5503, "insufficient resources"},
  368. {0x5504, "insufficient registration resources"},
  369. {0x5505, "insufficient access control resources"},
  370. {0x5506, "auxiliary memory out of space"},
  371. {0x5507, "quota error"},
  372. {0x5508, "maximum number of supplemental decryption keys exceeded"},
  373. {0x5509, "medium auxiliary memory not accessible"},
  374. {0x550a, "data currently unavailable"},
  375. {0x550b, "insufficient power for operation"},
  376. {0x5700, "unable to recover table-of-contents"},
  377. {0x5800, "generation does not exist"},
  378. {0x5900, "updated block read"},
  379. {0x5a00, "operator request or state change input"},
  380. {0x5a01, "operator medium removal request"},
  381. {0x5a02, "operator selected write protect"},
  382. {0x5a03, "operator selected write permit"},
  383. {0x5b00, "log exception"},
  384. {0x5b01, "threshold condition met"},
  385. {0x5b02, "log counter at maximum"},
  386. {0x5b03, "log list codes exhausted"},
  387. {0x5c00, "rpl status change"},
  388. {0x5c01, "spindles synchronized"},
  389. {0x5c02, "spindles not synchronized"},
  390. {0x6000, "lamp failure"},
  391. {0x6100, "video acquisition error"},
  392. {0x6101, "unable to acquire video"},
  393. {0x6102, "out of focus"},
  394. {0x6200, "scan head positioning error"},
  395. {0x6300, "end of user area encountered on this track"},
  396. {0x6301, "packet does not fit in available space"},
  397. {0x6400, "illegal mode for this track"},
  398. {0x6401, "invalid packet size"},
  399. {0x6500, "voltage fault"},
  400. {0x6600, "automatic document feeder cover up"},
  401. {0x6601, "automatic document feeder lift up"},
  402. {0x6602, "document jam in automatic document feeder"},
  403. {0x6603, "document miss feed automatic in document feeder"},
  404. {0x6700, "configuration failure"},
  405. {0x6701, "configuration of incapable logical units failed"},
  406. {0x6702, "add logical unit failed"},
  407. {0x6703, "modification of logical unit failed"},
  408. {0x6704, "exchange of logical unit failed"},
  409. {0x6705, "remove of logical unit failed"},
  410. {0x6706, "attachment of logical unit failed"},
  411. {0x6707, "creation of logical unit failed"},
  412. {0x6708, "assign failure occurred"},
  413. {0x6709, "multiply assigned logical unit"},
  414. {0x670a, "set target port groups command failed"},
  415. {0x670b, "ata device feature not enabled"},
  416. {0x6800, "logical unit not configured"},
  417. {0x6900, "data loss on logical unit"},
  418. {0x6901, "multiple logical unit failures"},
  419. {0x6902, "parity/data mismatch"},
  420. {0x6a00, "informational, refer to log"},
  421. {0x6b00, "state change has occurred"},
  422. {0x6b01, "redundancy level got better"},
  423. {0x6b02, "redundancy level got worse"},
  424. {0x6c00, "rebuild failure occurred"},
  425. {0x7100, "decompression exception long algorithm id"},
  426. {0x7200, "session fixation error"},
  427. {0x7201, "session fixation error writing lead-in"},
  428. {0x7202, "session fixation error writing lead-out"},
  429. {0x7203, "session fixation error - incomplete track in session"},
  430. {0x7204, "empty or partially written reserved track"},
  431. {0x7205, "no more track reservations allowed"},
  432. {0x7206, "rmz extension is not allowed"},
  433. {0x7207, "no more test zone extensions are allowed"},
  434. {0x7300, "cd control error"},
  435. {0x7301, "power calibration area almost full"},
  436. {0x7302, "power calibration area is full"},
  437. {0x7303, "power calibration area error"},
  438. {0x7304, "program memory area update failure"},
  439. {0x7305, "program memory area is full"},
  440. {0x7306, "rma/pma is almost full"},
  441. {0x7310, "current power calibration area almost full"},
  442. {0x7311, "current power calibration area is full"},
  443. {0x7317, "rdz is full"},
  444. {0x7400, "security error"},
  445. {0x7401, "unable to decrypt data"},
  446. {0x7402, "unencrypted data encountered while decrypting"},
  447. {0x7403, "incorrect data encryption key"},
  448. {0x7404, "cryptographic integrity validation failed"},
  449. {0x7405, "error decrypting data"},
  450. {0x7406, "unknown signature verification key"},
  451. {0x7407, "encryption parameters not useable"},
  452. {0x7408, "digital signature validation failure"},
  453. {0x7409, "encryption mode mismatch on read"},
  454. {0x740a, "encrypted block not raw read enabled"},
  455. {0x740b, "incorrect encryption parameters"},
  456. {0x740c, "unable to decrypt parameter list"},
  457. {0x7410, "sa creation parameter value invalid"},
  458. {0x7411, "sa creation parameter value rejected"},
  459. {0x7412, "invalid sa usage"},
  460. {0x7421, "data encryption configuration prevented"},
  461. {0x7430, "sa creation parameter not supported"},
  462. {0x7440, "authentication failed"},
  463. {0x7461, "external data encryption key manager access error"},
  464. {0x7462, "external data encryption key manager error"},
  465. {0x7463, "external data encryption key not found"},
  466. {0x7464, "external data encryption request not authorized"},
  467. {0x7471, "logical unit access not authorized"},
  468. {0x7479, "security conflict in translated device"},
  469. };
  470. char*
  471. scsierrmsg(int n)
  472. {
  473. int i;
  474. for(i = 0; i < nelem(scsierrs); i++)
  475. if(scsierrs[i].n == n)
  476. return scsierrs[i].s;
  477. return "scsi error";
  478. }