Linux::_scsi PHP Method

_scsi() private method

SCSI devices
private _scsi ( ) : void
return void
    private function _scsi()
    {
        $get_type = false;
        $device = null;
        if (CommonFunctions::executeProgram('lsscsi', '-c', $bufr, PSI_DEBUG) || CommonFunctions::rfts('/proc/scsi/scsi', $bufr, 0, 4096, PSI_DEBUG)) {
            $bufe = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
            foreach ($bufe as $buf) {
                if (preg_match('/Vendor: (.*) Model: (.*) Rev: (.*)/i', $buf, $devices)) {
                    $get_type = true;
                    $device = $devices;
                    continue;
                }
                if ($get_type) {
                    preg_match('/Type:\\s+(\\S+)/i', $buf, $dev_type);
                    $dev = new HWDevice();
                    $dev->setName($device[1] . ' ' . $device[2] . ' (' . $dev_type[1] . ')');
                    $this->sys->setScsiDevices($dev);
                    $get_type = false;
                }
            }
        }
    }