package org.jscsi.target.scsi.inquiry;
/**
* The PROTOCOL IDENTIFIER field is part of IDENTIFICATION DESCRIPTORS and may
* indicate the SCSI transport protocol to which the identification descriptor
* applies. If the ASSOCIATION field contains a value other than 01b (i.e.,
* target port) or 10b (i.e., SCSI target device) or the PIV bit is set to zero,
* then the PROTOCOL IDENTIFIER field contents are reserved. If the ASSOCIATION
* field contains a value of 01b or 10b and the PIV bit is set to one, then the
* PROTOCOL IDENTIFIER field shall contain one of the values defined in the
* following table to indicate the SCSI transport protocol to which the
* identification descriptor applies.
*
* <table border="1">
* <tr>
* <th>Protocol<br>
* Identifier</th>
* <th>Description</th>
* <th>Protocol<br>
* Standard</th>
* </tr>
* <tr>
* <td>0x0</td>
* <td>Fibre Channel</td>
* <td>FCP-2</td>
* </tr>
* <tr>
* <td>0x1</td>
* <td>Parallel SCSI</td>
* <td>SPI-5</td>
* </tr>
* <tr>
* <td>0x2</td>
* <td>SSA</td>
* <td>SSA-S3P</td>
* </tr>
* <tr>
* <td>0x3</td>
* <td>IEEE 1394</td>
* <td>SBP-3</td>
* </tr>
* <tr>
* <td>0x4</td>
* <td>SCSI Remote Direct Memory Access Protocol</td>
* <td>SRP</td>
* </tr>
* <tr>
* <td>0x5</td>
* <td>Internet SCSI (iSCSI)</td>
* <td>iSCSI</td>
* </tr>
* <tr>
* <td>0x6</td>
* <td>SAS Serial SCSI Protocol</td>
* <td>SAS</td>
* </tr>
* <tr>
* <td>0x7</td>
* <td>Automation/Drive Interface Transport Protocol</td>
* <td>ADT</td>
* </tr>
* <tr>
* <td>0x8</td>
* <td>AT Attachment Interface (ATA/ATAPI)</td>
* <td>ATA/ATAPI-7</td>
* </tr>
* <tr>
* <td>0x9-0xe</td>
* <td>RESERVED</td>
* <td></td>
* </tr>
* <tr>
* <td>0xf</td>
* <td>No speficif protocol</td>
* <td></td>
* </tr>
* </table>
*
* The PROTOCOL IDENTIFIER field has a length of four bits.
*
* @see IdentificationDescriptor
* @author Andreas Ergenzinger
*/
public enum ProtocolIdentifier {
FIBRE_CHANNEL((byte)0x0), PARALLEL_SCSI((byte)0x1), SSA((byte)0x2), IEEE1394((byte)0x3),
SCSI_REMOTE_DIRECT_MEMORY_ACCESS_PROTOCOL((byte)0x4), INTERNET_SCSI((byte)0x5),
SAS_SERIAL_SCSI_PROTOCOL((byte)0x6), AUTOMATION_DRIVE_INTERFACE_TRANSPORT_PROTOCOL((byte)0x7),
AT_ATTACHEMENT_INTERFACE((byte)0x8),
// RESERVED not implemented
NO_SPECIFIC_PROTOCOL((byte)0xf);
private ProtocolIdentifier(final byte value) {
this.value = value;
}
private final byte value;
public final byte getValue() {
return value;
}
}