public UnitSerialNumberVPDPage(byte[] buffer, int offset)
 {
     PeripheralQualifier  = (byte)(buffer[offset + 0] >> 5);
     PeripheralDeviceType = (PeripheralDeviceType)(buffer[offset + 0] & 0x1F);
     PageCode             = (VitalProductDataPageName)buffer[offset + 1];
     PageLength           = buffer[offset + 3];
     ProductSerialNumber  = ASCIIEncoding.ASCII.GetString(buffer, offset + 4, PageLength);
 }
Exemplo n.º 2
0
 public InquiryCommand(byte[] buffer, int offset)
 {
     OpCode           = (SCSIOpCodeName)buffer[offset + 0];
     EVPD             = (buffer[offset + 1] & 0x01) != 0;
     PageCode         = (VitalProductDataPageName)buffer[offset + 2];
     AllocationLength = BigEndianConverter.ToUInt16(buffer, offset + 3);
     Control          = buffer[offset + 5];
 }
Exemplo n.º 3
0
 public BlockDeviceCharacteristicsVPDPage(byte[] buffer, int offset)
 {
     PeripheralQualifier  = (byte)(buffer[offset + 0] >> 5);
     PeripheralDeviceType = (byte)(buffer[offset + 0] & 0x1F);
     PageCode             = (VitalProductDataPageName)buffer[offset + 1];
     PageLength           = buffer[offset + 3];
     MediumRotationRate   = BigEndianConverter.ToUInt16(buffer, offset + 4);
     Reserved             = BigEndianConverter.ToUInt16(buffer, offset + 6);
 }
Exemplo n.º 4
0
 public BlockLimitsVPDPage(byte[] buffer, int offset)
 {
     PeripheralQualifier              = (byte)(buffer[offset + 0] >> 5);
     PeripheralDeviceType             = (byte)(buffer[offset + 0] & 0x1F);
     PageCode                         = (VitalProductDataPageName)buffer[offset + 1];
     PageLength                       = buffer[offset + 3];
     OptimalTransferLengthGranularity = BigEndianConverter.ToUInt16(buffer, offset + 6);
     MaximumTransferLength            = BigEndianConverter.ToUInt32(buffer, offset + 8);
     OptimalTransferLength            = BigEndianConverter.ToUInt32(buffer, offset + 12);
 }
        public DeviceIdentificationVPDPage(byte[] buffer, int offset)
        {
            PeripheralQualifier  = (byte)(buffer[offset + 0] >> 5);
            PeripheralDeviceType = (byte)(buffer[offset + 0] & 0x1F);
            PageCode             = (VitalProductDataPageName)buffer[offset + 1];
            PageLength           = BigEndianConverter.ToUInt16(buffer, 2);
            int parameterOffset = 4;

            while (parameterOffset < PageLength)
            {
                IdentificationDescriptor descriptor = new IdentificationDescriptor(buffer, offset + parameterOffset);
                IdentificationDescriptorList.Add(descriptor);
                parameterOffset += descriptor.Length;
            }
        }
Exemplo n.º 6
0
 public BlockDeviceCharacteristicsVPDPage()
 {
     PageCode   = VitalProductDataPageName.BlockDeviceCharacteristics;
     PageLength = 4;
 }
 public UnitSerialNumberVPDPage()
 {
     PageCode = VitalProductDataPageName.UnitSerialNumber;
 }
Exemplo n.º 8
0
 public BlockLimitsVPDPage()
 {
     PageCode   = VitalProductDataPageName.BlockLimits;
     PageLength = 12;
 }
 public DeviceIdentificationVPDPage()
 {
     PageCode = VitalProductDataPageName.DeviceIdentification;
 }