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

Public Member Functions

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_os_version_str ()
 Return info string about build host and/or OS version. More...
 
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 bool scan_smart_devices (smart_device_list &devlist, const smart_devtype_list &types, const char *pattern=0)
 Fill 'devlist' with devices of all 'types' with device names specified by some optional 'pattern'. 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 nvme_deviceget_nvme_device (const char *name, const char *type, unsigned nsid)
 Return standard NVMe device. More...
 
virtual ata_deviceget_sat_device (const char *type, scsi_device *scsidev)
 Return ATA->SCSI filter for a SAT or USB 'type'. More...
 

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

Definition at line 167 of file os_generic.cpp.

Member Function Documentation

smart_device * generic::generic_smart_interface::autodetect_smart_device ( const char *  name)
protectedvirtual

Autodetect device if no device type specified.

Implements smart_interface.

Definition at line 234 of file os_generic.cpp.

std::string generic::generic_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 203 of file os_generic.cpp.

ata_device * generic::generic_smart_interface::get_ata_device ( const char *  name,
const char *  type 
)
protectedvirtual

Return standard ATA device.

Implements smart_interface.

Definition at line 212 of file os_generic.cpp.

smart_device * generic::generic_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 258 of file os_generic.cpp.

scsi_device * generic::generic_smart_interface::get_scsi_device ( const char *  name,
const char *  type 
)
protectedvirtual

Return standard SCSI device.

Implements smart_interface.

Definition at line 223 of file os_generic.cpp.

std::string generic::generic_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 267 of file os_generic.cpp.

bool generic::generic_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'.

Use platform specific default if 'type' is empty or 0. Return false on error.

Implements smart_interface.

Definition at line 245 of file os_generic.cpp.


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