smartmontools SVN Rev 5640
Utility to control and monitor storage systems with "S.M.A.R.T."
Public Member Functions | Protected Member Functions | List of all members
areca_scsi_device Class Reference

#include <dev_areca.h>

Collaboration diagram for areca_scsi_device:
Collaboration graph
[legend]

Public Member Functions

 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)
 

Protected Member Functions

 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 ()
 

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...
 

Detailed Description

Definition at line 158 of file dev_areca.h.

Constructor & Destructor Documentation

◆ areca_scsi_device() [1/2]

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

Definition at line 675 of file dev_areca.cpp.

◆ ~areca_scsi_device()

areca_scsi_device::~areca_scsi_device ( )

Definition at line 683 of file dev_areca.cpp.

◆ areca_scsi_device() [2/2]

areca_scsi_device::areca_scsi_device ( )
inlineprotected

Definition at line 172 of file dev_areca.h.

Member Function Documentation

◆ arcmsr_do_scsi_io()

int areca_scsi_device::arcmsr_do_scsi_io ( struct scsi_cmnd_io )
inlineoverridevirtual

◆ arcmsr_lock()

bool areca_scsi_device::arcmsr_lock ( )
inlineoverridevirtual

◆ arcmsr_unlock()

bool areca_scsi_device::arcmsr_unlock ( )
inlineoverridevirtual

◆ scsi_pass_through()

bool areca_scsi_device::scsi_pass_through ( scsi_cmnd_io iop)
overrideprotectedvirtual

SCSI pass through.

Returns false on error.

Implements scsi_device.

Definition at line 688 of file dev_areca.cpp.


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