smartmontools  SVN Rev 4351
Utility to control and monitor storage systems with "S.M.A.R.T."
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
generic_areca_device Class Referenceabstract

#include <dev_areca.h>

Collaboration diagram for generic_areca_device:
Collaboration graph

Public Member Functions

 generic_areca_device (smart_interface *intf, const char *dev_name, int disknum, int encnum=1)
 ~generic_areca_device () throw ()
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 smart_device
virtual ~smart_device () throw ()
bool is_ata () const
 Return true if ATA device. More...
bool is_scsi () const
 Return true if SCSI device. More...
bool is_nvme () const
 Return true if NVMe device. More...
ata_deviceto_ata ()
 Downcast to ATA device. More...
const ata_deviceto_ata () const
 Downcast to ATA device (const). More...
scsi_deviceto_scsi ()
 Downcast to SCSI device. More...
const scsi_deviceto_scsi () const
 Downcast to SCSI device (const). More...
nvme_deviceto_nvme ()
 Downcast to NVMe device. More...
const nvme_deviceto_nvme () const
 Downcast to NVMe device (const). More...
const device_infoget_info () const
 Get device info struct. More...
const char * get_dev_name () const
 Get device (path)name. More...
const char * get_info_name () const
 Get informal name. More...
const char * get_dev_type () const
 Get device type. More...
const char * get_req_type () const
 Get type requested by user, empty if none. More...
const error_infoget_err () const
 Get last error info struct. More...
int get_errno () const
 Get last error number. More...
const char * get_errmsg () const
 Get last error message. More...
virtual bool is_syscall_unsup () const
 Return true if last error indicates an unsupported system call. More...
bool set_err (int no, const char *msg,...) __attribute_format_printf(3
 Set last error number and message. More...
bool bool set_err (const error_info &err)
 Set last error info struct. More...
void clear_err ()
 Clear last error info. More...
bool set_err (int no)
 Set last error number and default message. More...
virtual bool is_open () const =0
 Return true if device is open. More...
virtual bool open ()=0
 Open device, return false on error. More...
virtual bool close ()=0
 Close device, return false on error. More...
virtual smart_deviceautodetect_open ()
 Open device with autodetection support. More...
virtual bool is_powered_down ()
 Early test if device is powered up or down. More...
virtual bool owns (const smart_device *dev) const
 Return true if other device is owned by this device. More...
virtual void release (const smart_device *dev)
 Release ownership of other device. More...

Protected Member Functions

 generic_areca_device ()
void set_disknum (int disknum)
void set_encnum (int encnum)
int get_disknum ()
int get_encnum ()
- 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. More...
 smart_device (do_not_use_in_implementation_classes)
 Dummy constructor for abstract classes. More...
device_infoset_info ()
 R/W access to device info struct. More...
smart_interfacesmi ()
 Get interface which produced this object. More...
const smart_interfacesmi () const
 Get interface which produced this object (const). More...

Private Attributes

int m_disknum
 Disk number. More...
int m_encnum
 Enclosure number. More...

Additional Inherited Members

- Static Public Member Functions inherited from smart_device
static int get_num_objects ()
 Get current number of allocated 'smart_device' objects. More...
- 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 97 of file dev_areca.h.

Constructor & Destructor Documentation

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

Definition at line 81 of file dev_areca.cpp.

generic_areca_device::~generic_areca_device ( )
throw (

Definition at line 89 of file dev_areca.cpp.

generic_areca_device::generic_areca_device ( )

Definition at line 121 of file dev_areca.h.

Member Function Documentation

bool generic_areca_device::arcmsr_ata_pass_through ( const ata_cmd_in in,
ata_cmd_out out 

Definition at line 385 of file dev_areca.cpp.

int generic_areca_device::arcmsr_command_handler ( unsigned long  arcmsr_cmd,
unsigned char *  data,
int  data_len 

Definition at line 115 of file dev_areca.cpp.

virtual int generic_areca_device::arcmsr_do_scsi_io ( struct scsi_cmnd_io iop)
pure virtual
int generic_areca_device::arcmsr_get_controller_type ( )

Definition at line 334 of file dev_areca.cpp.

int generic_areca_device::arcmsr_get_dev_type ( )

Definition at line 350 of file dev_areca.cpp.

virtual bool generic_areca_device::arcmsr_lock ( )
pure virtual
bool generic_areca_device::arcmsr_probe ( )

Definition at line 264 of file dev_areca.cpp.

bool generic_areca_device::arcmsr_scsi_pass_through ( scsi_cmnd_io iop)

Definition at line 537 of file dev_areca.cpp.

int generic_areca_device::arcmsr_ui_handler ( unsigned char *  areca_packet,
int  areca_packet_len,
unsigned char *  result 

Definition at line 278 of file dev_areca.cpp.

virtual bool generic_areca_device::arcmsr_unlock ( )
pure virtual
int generic_areca_device::get_disknum ( )

Definition at line 132 of file dev_areca.h.

int generic_areca_device::get_encnum ( )

Definition at line 135 of file dev_areca.h.

void generic_areca_device::set_disknum ( int  disknum)

Definition at line 126 of file dev_areca.h.

void generic_areca_device::set_encnum ( int  encnum)

Definition at line 129 of file dev_areca.h.

Member Data Documentation

int generic_areca_device::m_disknum

Disk number.

Definition at line 139 of file dev_areca.h.

int generic_areca_device::m_encnum

Enclosure number.

Definition at line 140 of file dev_areca.h.

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