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); }
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]; }
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); }
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; } }
public BlockDeviceCharacteristicsVPDPage() { PageCode = VitalProductDataPageName.BlockDeviceCharacteristics; PageLength = 4; }
public UnitSerialNumberVPDPage() { PageCode = VitalProductDataPageName.UnitSerialNumber; }
public BlockLimitsVPDPage() { PageCode = VitalProductDataPageName.BlockLimits; PageLength = 12; }
public DeviceIdentificationVPDPage() { PageCode = VitalProductDataPageName.DeviceIdentification; }