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

Linux interface. More...

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

Public Member Functions

virtual std::string get_os_version_str ()
 Return info string about build host and/or OS version. More...
 
virtual std::string get_app_examples (const char *appname)
 Return example string for program 'appname'. More...
 
virtual bool scan_smart_devices (smart_device_list &devlist, const char *type, const char *pattern=0)
 Fill 'devlist' with devices of some 'type' with device names specified by some optional 'pattern'. More...
 
- Public Member Functions inherited from smart_interface
 smart_interface ()
 
virtual ~smart_interface () throw ()
 
virtual std::string get_valid_dev_types_str ()
 Return valid args for device type option/directive. More...
 
virtual int64_t get_timer_usec ()
 Get microseconds since some unspecified starting point. More...
 
virtual bool disable_system_auto_standby (bool disable)
 Disable/Enable system auto standby/sleep mode. More...
 
const smart_device::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...
 
bool set_err (int no, const char *msg,...) __attribute_format_printf(3
 Set last error number and message. More...
 
bool bool set_err (const smart_device::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...
 
bool set_err_var (smart_device::error_info *err, int no)
 Set last error number and default message to any error_info. More...
 
virtual const char * get_msg_for_errno (int no)
 Convert error number into message, used by set_err(no). More...
 
virtual smart_deviceget_smart_device (const char *name, const char *type)
 Return device object for device 'name' with some 'type'. More...
 
virtual ata_deviceautodetect_sat_device (scsi_device *scsidev, const unsigned char *inqdata, unsigned inqsize)
 Try to detect a SAT device behind a SCSI interface. More...
 
virtual const char * get_usb_dev_type_by_id (int vendor_id, int product_id, int version=-1)
 Get type name for USB device with known VENDOR:PRODUCT ID. More...
 

Protected Member Functions

virtual ata_deviceget_ata_device (const char *name, const char *type)
 Return standard ATA device. More...
 
virtual scsi_deviceget_scsi_device (const char *name, const char *type)
 Return standard SCSI device. More...
 
virtual smart_deviceautodetect_smart_device (const char *name)
 Autodetect device if no device type specified. More...
 
virtual smart_deviceget_custom_smart_device (const char *name, const char *type)
 Return device for platform specific 'type'. More...
 
virtual std::string get_valid_custom_dev_types_str ()
 Return valid 'type' args accepted by above. More...
 
- Protected Member Functions inherited from smart_interface
virtual ata_deviceget_sat_device (const char *type, scsi_device *scsidev)
 Return ATA->SCSI filter for SAT or USB. More...
 

Private Member Functions

bool get_dev_list (smart_device_list &devlist, const char *pattern, bool scan_ata, bool scan_scsi, const char *req_type, bool autodetect)
 
bool get_dev_megasas (smart_device_list &devlist)
 
smart_devicemissing_option (const char *opt)
 
int megasas_dcmd_cmd (int bus_no, uint32_t opcode, void *buf, size_t bufsize, uint8_t *mbox, size_t mboxlen, uint8_t *statusp)
 
int megasas_pd_add_list (int bus_no, smart_device_list &devlist)
 

Additional Inherited Members

- Static Public Member Functions inherited from smart_interface
static void init ()
 Initialize platform interface and register with smi(). More...
 
- Static Protected Member Functions inherited from smart_interface
static void set (smart_interface *intf)
 Set interface to use, must be called from init(). More...
 

Detailed Description

Linux interface.

Definition at line 2655 of file os_linux.cpp.

Member Function Documentation

smart_device * os_linux::linux_smart_interface::autodetect_smart_device ( const char *  name)
protectedvirtual

Autodetect device if no device type specified.

Implements smart_interface.

Definition at line 3019 of file os_linux.cpp.

std::string os_linux::linux_smart_interface::get_app_examples ( const char *  appname)
virtual

Return example string for program 'appname'.

Default implementation returns empty string. For the migration of print_smartctl_examples(), function is allowed to print examples to stdout. TODO: Remove this hack.

Reimplemented from smart_interface.

Definition at line 2696 of file os_linux.cpp.

ata_device * os_linux::linux_smart_interface::get_ata_device ( const char *  name,
const char *  type 
)
protectedvirtual

Return standard ATA device.

Implements smart_interface.

Definition at line 2893 of file os_linux.cpp.

smart_device * os_linux::linux_smart_interface::get_custom_smart_device ( const char *  name,
const char *  type 
)
protectedvirtual

Return device for platform specific 'type'.

Default implementation returns 0.

Reimplemented from smart_interface.

Definition at line 3100 of file os_linux.cpp.

bool os_linux::linux_smart_interface::get_dev_list ( smart_device_list devlist,
const char *  pattern,
bool  scan_ata,
bool  scan_scsi,
const char *  req_type,
bool  autodetect 
)
private

Definition at line 2705 of file os_linux.cpp.

bool os_linux::linux_smart_interface::get_dev_megasas ( smart_device_list devlist)
private

Definition at line 2802 of file os_linux.cpp.

std::string os_linux::linux_smart_interface::get_os_version_str ( )
virtual

Return info string about build host and/or OS version.

Default implementation returns SMARTMONTOOLS_BUILD_HOST.

Reimplemented from smart_interface.

Definition at line 2687 of file os_linux.cpp.

scsi_device * os_linux::linux_smart_interface::get_scsi_device ( const char *  name,
const char *  type 
)
protectedvirtual

Return standard SCSI device.

Implements smart_interface.

Definition at line 2898 of file os_linux.cpp.

std::string os_linux::linux_smart_interface::get_valid_custom_dev_types_str ( )
protectedvirtual

Return valid 'type' args accepted by above.

This is called in get_valid_dev_types_str(). Default implementation returns empty string.

Reimplemented from smart_interface.

Definition at line 3201 of file os_linux.cpp.

int os_linux::linux_smart_interface::megasas_dcmd_cmd ( int  bus_no,
uint32_t  opcode,
void *  buf,
size_t  bufsize,
uint8_t *  mbox,
size_t  mboxlen,
uint8_t *  statusp 
)
private

Definition at line 2910 of file os_linux.cpp.

int os_linux::linux_smart_interface::megasas_pd_add_list ( int  bus_no,
smart_device_list devlist 
)
private

Definition at line 2967 of file os_linux.cpp.

smart_device * os_linux::linux_smart_interface::missing_option ( const char *  opt)
private

Definition at line 2903 of file os_linux.cpp.

bool os_linux::linux_smart_interface::scan_smart_devices ( smart_device_list devlist,
const char *  type,
const char *  pattern = 0 
)
virtual

Fill 'devlist' with devices of some 'type' with device names specified by some optional 'pattern'.

Return false on error.

Implements smart_interface.

Definition at line 2856 of file os_linux.cpp.


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