#include <scsi_winsg.h>


Definition at line 26 of file scsi_winsg.h.
Public Member Functions | |
| scsi_WinSG () | |
| scsi_WinSG (const string &a_deviceID) | |
| virtual | ~scsi_WinSG () |
| virtual bool | IsOpen () |
| virtual void | Close () |
Protected Member Functions | |
| virtual void | OpenByDeviceName () |
| Open SCSI device by its (platform specific!) name. | |
| virtual void | OpenBySCSIID () |
| Open SCSI device by its (current) SCSI ID. | |
| virtual void | OpenBySerialNumber () |
| Open SCSI device by its unique identification. | |
| virtual void | InqSCSIID () |
| Get SCSI ID of the currently opened device. | |
| int | DoIOCtl (const scsi_CDB &a_cdb, UInt32_t a_timeout) |
| Function to actually execute CDB commands. | |
| virtual scsi_Status_e | GetCDBStatus () |
| virtual void | CheckDriverStatus (UInt8_t a_cdbCode) |
| Checks the status of the driver after the execution of CDB. | |
| virtual void | CheckHostStatus (UInt8_t a_cdbCode) |
| Checks the status of the host (if available) after the execution of CDB. | |
| virtual bool | IsSenseValid () |
Private Member Functions | |
| void | SGOpen (bool a_readOnly=false, bool a_excl=false) |
| void | OpenDeviceHandle (bool a_readOnly=false, bool a_openGeneric=false) |
Private Attributes | |
| log_CLASSID_m | |
| HANDLE | m_handle |
| ULONG | m_alignmentMask |
| ULONG | m_maxTransferLen |
| string | m_genericDeviceName |
| scsi_PassThroughDirectWithBuffer_t | m_sptdwb |
| scsi_WinSG::scsi_WinSG | ( | ) |
| scsi_WinSG::scsi_WinSG | ( | const string & | a_deviceID | ) |
| virtual scsi_WinSG::~scsi_WinSG | ( | ) | [virtual] |
| virtual bool scsi_WinSG::IsOpen | ( | ) | [virtual] |
Implements scsi_IO.
| virtual void scsi_WinSG::Close | ( | ) | [virtual] |
Implements scsi_IO.
| virtual void scsi_WinSG::OpenByDeviceName | ( | ) | [protected, virtual] |
| virtual void scsi_WinSG::OpenBySCSIID | ( | ) | [protected, virtual] |
Open SCSI device by its (current) SCSI ID.
Implements scsi_IO.
| virtual void scsi_WinSG::OpenBySerialNumber | ( | ) | [protected, virtual] |
Open SCSI device by its unique identification.
Implements scsi_IO.
| virtual void scsi_WinSG::InqSCSIID | ( | ) | [protected, virtual] |
Function to actually execute CDB commands.
Implements scsi_IO.
| virtual scsi_Status_e scsi_WinSG::GetCDBStatus | ( | ) | [inline, protected, virtual] |
Implements scsi_IO.
Definition at line 46 of file scsi_winsg.h.
References st_STATUS_MASK.
00046 { 00047 return (scsi_Status_e)(m_sptdwb.sptd.ScsiStatus & st_STATUS_MASK); 00048 }
| virtual void scsi_WinSG::CheckDriverStatus | ( | UInt8_t | a_cdbCode | ) | [protected, virtual] |
| virtual void scsi_WinSG::CheckHostStatus | ( | UInt8_t | a_cdbCode | ) | [protected, virtual] |
Checks the status of the host (if available) after the execution of CDB.
Reimplemented from scsi_IO.
| virtual bool scsi_WinSG::IsSenseValid | ( | ) | [inline, protected, virtual] |
Implements scsi_IO.
Definition at line 52 of file scsi_winsg.h.
References scsi_IO::GetCDBStatus(), st_BUSY, st_CHECK_CONDITION, and st_COMMAND_TERMINATED.
00052 { 00053 scsi_Status_e status = GetCDBStatus(); 00054 00055 if (status == st_CHECK_CONDITION || 00056 status == st_COMMAND_TERMINATED || 00057 status == st_BUSY ) { 00058 return true; 00059 } 00060 else { 00061 return false; 00062 } 00063 }

| void scsi_WinSG::SGOpen | ( | bool | a_readOnly = false, |
|
| bool | a_excl = false | |||
| ) | [private] |
| void scsi_WinSG::OpenDeviceHandle | ( | bool | a_readOnly = false, |
|
| bool | a_openGeneric = false | |||
| ) | [private] |
scsi_WinSG::log_CLASSID_m [private] |
HANDLE scsi_WinSG::m_handle [private] |
Definition at line 68 of file scsi_winsg.h.
ULONG scsi_WinSG::m_alignmentMask [private] |
Definition at line 69 of file scsi_winsg.h.
ULONG scsi_WinSG::m_maxTransferLen [private] |
Definition at line 70 of file scsi_winsg.h.
string scsi_WinSG::m_genericDeviceName [private] |
Definition at line 71 of file scsi_winsg.h.
Definition at line 73 of file scsi_winsg.h.
1.5.6