1 package org.jscsi.target.scsi.sense.senseDataDescriptor; 2 3 4 import org.jscsi.target.scsi.sense.SenseData; 5 6 7 /** 8 * The SenseDataDescriptorType is part of a {@link SenseDataDescriptor} and determines the object's (non-abstract 9 * sub)class. 10 * <p> 11 * Vendor specific sense data descriptors types (values 0x80 to 0xff) and respective {@link SenseDataDescriptor}s are 12 * not implemented! 13 * 14 * @author Andreas Ergenzinger 15 */ 16 public enum SenseDataDescriptorType { 17 18 /** 19 * The information sense data descriptor provides information that is device-type or command specific and is defined 20 * in a command standard. 21 */ 22 INFORMATION((byte) 0x00), 23 /** 24 * The command-specific information sense data descriptor provides information that depends on the command on which 25 * the exception condition occurred. 26 */ 27 COMMAND_SPECIFIC_INFORMATION((byte) 0x01), 28 /** 29 * The sense key specific sense data descriptor provides additional information about the exception condition. The 30 * format and content of the sense-key specific data depends on the value in the {@link SenseData#senseKey} field. 31 */ 32 SENSE_KEY_SPECIFIC((byte) 0x02), 33 /** 34 * The field replaceable unit sense data descriptor (see table 24) provides information about a component that has 35 * failed. 36 */ 37 FIELD_REPLACEABLE_UNIT((byte) 0x03), 38 /** 39 * See SSC. 40 */ 41 STREAM_COMMANDS((byte) 0x04), 42 /** 43 * See SBC. 44 */ 45 BLOCK_COMMANDS((byte) 0x05), 46 /** 47 * See OSD. 48 */ 49 OSD_OBJECT_IDENTIFICATION((byte) 0x06), 50 /** 51 * See OSD. 52 */ 53 OSD_RESPONSE_INTEGRITY_CHECK_VALUE((byte) 0x07), 54 /** 55 * See OSD. 56 */ 57 OSD_ATTRIBUTE_IDENTIFICATION((byte) 0x08), 58 /** 59 * See SAT. 60 */ 61 ATA_RETURN((byte) 0x09); 62 /* 63 * 0x0a to 0x7f are reserved. 0x80 to 0xff are vendor specific Vendor specific sense data descriptors are not 64 * implemented! 65 */ 66 67 private final byte value; 68 69 private SenseDataDescriptorType (byte value) { 70 this.value = value; 71 } 72 73 public final byte getValue () { 74 return value; 75 } 76 }