smartmontools  SVN Rev 4092
Utility to control and monitor storage systems with "S.M.A.R.T."
Public Member Functions | Private Member Functions | Private Attributes | List of all members
os_linux::linux_megaraid_device Class Reference

LSI MegaRAID support. More...

Collaboration diagram for os_linux::linux_megaraid_device:
Collaboration graph
[legend]

Public Member Functions

 linux_megaraid_device (smart_interface *intf, const char *name, unsigned int bus, unsigned int tgt)
 
virtual ~linux_megaraid_device () throw ()
 
virtual smart_deviceautodetect_open ()
 Open device with autodetection support. More...
 
virtual bool open ()
 Open device, return false on error. More...
 
virtual bool close ()
 Close device, return false on error. More...
 
virtual bool scsi_pass_through (scsi_cmnd_io *iop)
 SCSI pass through. More...
 
- 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...
 
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...
 
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 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...
 
- Public Member Functions inherited from os_linux::linux_smart_device
 linux_smart_device (int flags, int retry_flags=-1)
 
virtual ~linux_smart_device () throw ()
 
virtual bool is_open () const
 Return true if device is open. More...
 

Private Member Functions

bool megasas_cmd (int cdbLen, void *cdb, int dataLen, void *data, int senseLen, void *sense, int report, int direction)
 
bool megadev_cmd (int cdbLen, void *cdb, int dataLen, void *data, int senseLen, void *sense, int report, int direction)
 

Private Attributes

unsigned int m_disknum
 
unsigned int m_busnum
 
unsigned int m_hba
 
int m_fd
 
bool(linux_megaraid_device::* pt_cmd )(int cdblen, void *cdb, int dataLen, void *data, int senseLen, void *sense, int report, int direction)
 

Additional Inherited Members

- 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 scsi_device
void hide_scsi (bool hide=true)
 Hide/unhide SCSI interface. More...
 
 scsi_device ()
 Default constructor, registers device as SCSI. More...
 
- 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...
 
- Protected Member Functions inherited from os_linux::linux_smart_device
int get_fd () const
 Return filedesc for derived classes. More...
 
void set_fd (int fd)
 

Detailed Description

LSI MegaRAID support.

Definition at line 1110 of file os_linux.cpp.

Constructor & Destructor Documentation

os_linux::linux_megaraid_device::linux_megaraid_device ( smart_interface intf,
const char *  name,
unsigned int  bus,
unsigned int  tgt 
)

Definition at line 1141 of file os_linux.cpp.

os_linux::linux_megaraid_device::~linux_megaraid_device ( )
throw (
)
virtual

Definition at line 1152 of file os_linux.cpp.

Member Function Documentation

smart_device * os_linux::linux_megaraid_device::autodetect_open ( )
virtual

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 1158 of file os_linux.cpp.

bool os_linux::linux_megaraid_device::close ( )
virtual

Close device, return false on error.

Reimplemented from os_linux::linux_smart_device.

Definition at line 1257 of file os_linux.cpp.

bool os_linux::linux_megaraid_device::megadev_cmd ( int  cdbLen,
void *  cdb,
int  dataLen,
void *  data,
int  senseLen,
void *  sense,
int  report,
int  direction 
)
private

Definition at line 1385 of file os_linux.cpp.

bool os_linux::linux_megaraid_device::megasas_cmd ( int  cdbLen,
void *  cdb,
int  dataLen,
void *  data,
int  senseLen,
void *  sense,
int  report,
int  direction 
)
private

Definition at line 1322 of file os_linux.cpp.

bool os_linux::linux_megaraid_device::open ( )
virtual

Open device, return false on error.

Reimplemented from os_linux::linux_smart_device.

Definition at line 1199 of file os_linux.cpp.

bool os_linux::linux_megaraid_device::scsi_pass_through ( scsi_cmnd_io iop)
virtual

SCSI pass through.

Returns false on error.

Implements scsi_device.

Definition at line 1266 of file os_linux.cpp.

Member Data Documentation

unsigned int os_linux::linux_megaraid_device::m_busnum
private

Definition at line 1129 of file os_linux.cpp.

unsigned int os_linux::linux_megaraid_device::m_disknum
private

Definition at line 1128 of file os_linux.cpp.

int os_linux::linux_megaraid_device::m_fd
private

Definition at line 1131 of file os_linux.cpp.

unsigned int os_linux::linux_megaraid_device::m_hba
private

Definition at line 1130 of file os_linux.cpp.

bool(linux_megaraid_device::* os_linux::linux_megaraid_device::pt_cmd) (int cdblen, void *cdb, int dataLen, void *data, int senseLen, void *sense, int report, int direction)
private

Definition at line 1133 of file os_linux.cpp.


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