smartmontools SVN Rev 5612
Utility to control and monitor storage systems with "S.M.A.R.T."
Public Member Functions | Private Attributes | List of all members
os_win32::win_areca_scsi_device Class Reference
Collaboration diagram for os_win32::win_areca_scsi_device:
Collaboration graph
[legend]

Public Member Functions

 win_areca_scsi_device (smart_interface *intf, const char *dev_name, int disknum, int encnum=1)
 
virtual bool open () override
 Open device, return false on error.
 
virtual smart_deviceautodetect_open () override
 Open device with autodetection support.
 
virtual bool arcmsr_lock () override
 
virtual bool arcmsr_unlock () override
 
virtual int arcmsr_do_scsi_io (struct scsi_cmnd_io *iop) override
 
- Public Member Functions inherited from areca_scsi_device
 areca_scsi_device (smart_interface *intf, const char *dev_name, int disknum, int encnum=1)
 
 ~areca_scsi_device ()
 
bool arcmsr_lock () override
 
bool arcmsr_unlock () override
 
int arcmsr_do_scsi_io (struct scsi_cmnd_io *) override
 
- Public Member Functions inherited from scsi_device
virtual bool scsi_pass_through (scsi_cmnd_io *iop)=0
 SCSI pass through.
 
bool scsi_pass_through_and_check (scsi_cmnd_io *iop, const char *msg="")
 
void set_rcap16_first ()
 Always try READ CAPACITY(10) (rcap10) first but once we know rcap16 is needed, use it instead.
 
bool use_rcap16 () const
 
void set_spc4_or_higher ()
 
bool is_spc4_or_higher () const
 
bool query_cmd_support ()
 
bool checked_cmd_support () const
 
enum scsi_cmd_support cmd_support_level (uint8_t opcode, bool sa_valid, uint16_t sa, bool for_lsense_spc=false) const
 
- Public Member Functions inherited from smart_device
virtual ~smart_device ()
 
bool is_ata () const
 Return true if ATA device.
 
bool is_scsi () const
 Return true if SCSI device.
 
bool is_nvme () const
 Return true if NVMe device.
 
ata_deviceto_ata ()
 Downcast to ATA device.
 
const ata_deviceto_ata () const
 Downcast to ATA device (const).
 
scsi_deviceto_scsi ()
 Downcast to SCSI device.
 
const scsi_deviceto_scsi () const
 Downcast to SCSI device (const).
 
nvme_deviceto_nvme ()
 Downcast to NVMe device.
 
const nvme_deviceto_nvme () const
 Downcast to NVMe device (const).
 
const device_infoget_info () const
 Get device info struct.
 
const char * get_dev_name () const
 Get device (path)name.
 
const char * get_info_name () const
 Get informal name.
 
const char * get_dev_type () const
 Get device type.
 
const char * get_req_type () const
 Get type requested by user, empty if none.
 
const error_infoget_err () const
 Get last error info struct.
 
int get_errno () const
 Get last error number.
 
const char * get_errmsg () const
 Get last error message.
 
virtual bool is_syscall_unsup () const
 Return true if last error indicates an unsupported system call.
 
bool set_err (int no, const char *msg,...) __attribute_format_printf(3
 Set last error number and message.
 
bool bool set_err (const error_info &err)
 Set last error info struct.
 
void clear_err ()
 Clear last error info.
 
bool set_err (int no)
 Set last error number and default message.
 
virtual bool is_open () const =0
 Return true if device is open.
 
virtual bool open ()=0
 Open device, return false on error.
 
virtual bool close ()=0
 Close device, return false on error.
 
virtual smart_deviceautodetect_open ()
 Open device with autodetection support.
 
virtual bool is_powered_down ()
 Early test if device is powered up or down.
 
virtual bool owns (const smart_device *dev) const
 Return true if other device is owned by this device.
 
virtual void release (const smart_device *dev)
 Release ownership of other device.
 
- Public Member Functions inherited from generic_areca_device
 generic_areca_device (smart_interface *intf, const char *dev_name, int disknum, int encnum=1)
 
 ~generic_areca_device ()
 
virtual bool arcmsr_lock ()=0
 
virtual bool arcmsr_unlock ()=0
 
virtual int arcmsr_do_scsi_io (struct scsi_cmnd_io *iop)=0
 
virtual int arcmsr_command_handler (unsigned long arcmsr_cmd, unsigned char *data, int data_len)
 
virtual int arcmsr_ui_handler (unsigned char *areca_packet, int areca_packet_len, unsigned char *result)
 
virtual bool arcmsr_probe ()
 
virtual int arcmsr_get_dev_type ()
 
virtual int arcmsr_get_controller_type ()
 
virtual bool arcmsr_scsi_pass_through (scsi_cmnd_io *iop)
 
virtual bool arcmsr_ata_pass_through (const ata_cmd_in &in, ata_cmd_out &out)
 
- Public Member Functions inherited from os_win32::win_smart_device
 win_smart_device ()
 
virtual ~win_smart_device ()
 
virtual bool is_open () const
 Return true if device is open.
 
virtual bool close ()
 Close device, return false on error.
 

Private Attributes

HANDLE m_mutex
 

Additional Inherited Members

- Static Public Member Functions inherited from smart_device
static int get_num_objects ()
 Get current number of allocated 'smart_device' objects.
 
- Protected Types inherited from smart_device
enum  do_not_use_in_implementation_classes { never_called }
 Dummy enum for dummy constructor. More...
 
- Protected Member Functions inherited from areca_scsi_device
 areca_scsi_device ()
 
virtual bool scsi_pass_through (scsi_cmnd_io *iop) override
 SCSI pass through.
 
- Protected Member Functions inherited from scsi_device
void hide_scsi (bool hide=true)
 Hide/unhide SCSI interface.
 
 scsi_device ()
 Default constructor, registers device as SCSI.
 
- Protected Member Functions inherited from smart_device
 smart_device (smart_interface *intf, const char *dev_name, const char *dev_type, const char *req_type)
 Constructor to init interface and device info.
 
 smart_device (do_not_use_in_implementation_classes)
 Dummy constructor for abstract classes.
 
device_infoset_info ()
 R/W access to device info struct.
 
smart_interfacesmi ()
 Get interface which produced this object.
 
const smart_interfacesmi () const
 Get interface which produced this object (const).
 
- Protected Member Functions inherited from generic_areca_device
 generic_areca_device ()
 
void set_disknum (int disknum)
 
void set_encnum (int encnum)
 
int get_disknum ()
 
int get_encnum ()
 
- Protected Member Functions inherited from os_win32::win_smart_device
void set_fh (HANDLE fh)
 Set handle for open() in derived classes.
 
HANDLE get_fh () const
 Return handle for derived classes.
 

Detailed Description

Definition at line 3161 of file os_win32.cpp.

Constructor & Destructor Documentation

◆ win_areca_scsi_device()

os_win32::win_areca_scsi_device::win_areca_scsi_device ( smart_interface intf,
const char *  dev_name,
int  disknum,
int  encnum = 1 
)

Definition at line 3180 of file os_win32.cpp.

Member Function Documentation

◆ arcmsr_do_scsi_io()

int os_win32::win_areca_scsi_device::arcmsr_do_scsi_io ( struct scsi_cmnd_io iop)
overridevirtual

Reimplemented from areca_scsi_device.

Definition at line 3218 of file os_win32.cpp.

◆ arcmsr_lock()

bool os_win32::win_areca_scsi_device::arcmsr_lock ( )
overridevirtual

Reimplemented from areca_scsi_device.

Definition at line 3236 of file os_win32.cpp.

◆ arcmsr_unlock()

bool os_win32::win_areca_scsi_device::arcmsr_unlock ( )
overridevirtual

Reimplemented from areca_scsi_device.

Definition at line 3259 of file os_win32.cpp.

◆ autodetect_open()

smart_device * os_win32::win_areca_scsi_device::autodetect_open ( )
overridevirtual

Open device with autodetection support.

May return another device for further access. In this case, the original pointer is no longer valid. Default implementation calls 'open()' and returns 'this'.

Reimplemented from smart_device.

Definition at line 3213 of file os_win32.cpp.

◆ open()

bool os_win32::win_areca_scsi_device::open ( )
overridevirtual

Open device, return false on error.

Implements smart_device.

Definition at line 3189 of file os_win32.cpp.

Member Data Documentation

◆ m_mutex

HANDLE os_win32::win_areca_scsi_device::m_mutex
private

Definition at line 3174 of file os_win32.cpp.


The documentation for this class was generated from the following file: