View Javadoc

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  }