smartmontools SVN Rev 3317
Utility to control and monitor storage systems with "S.M.A.R.T."
This is the main index page. Here we present a short introduction of the smartmontools software architecture and its components.
Please refer to the further tabs and links to get detailed information on each class and method.
The smartmontools package contains two utility programs (smartctl and smartd) to control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA and SCSI harddisks.
Smartmontools supports ATA/ATAPI/SATA-3 to -8 disks and SCSI disks and tape devices. It should run on any modern Darwin (Mac OS X), Linux, FreeBSD, NetBSD, OpenBSD, Solaris, OS/2, Cygwin, QNX, eComStation or Windows system.
Each different port and OS needs to provide it's own interface. It is meant to isolate the OS dependent parts of the code and to provide a debugging interface.
The following ports currently exist:
Already adapted to new c++ Interface
Still working with old interface
As the smartmontools have to handle different types of devices, we have multiple device drivers.
The outside view presents only the interface classes:
In this case we access the device via ATA pass through in native mode.
By the help of ata_device_with_command_set we currently integrate the old os-specific legacy drivers, until they will be replaced by their new implementations of ata_device or scsi_device.
Here we use the SCSI instruction set.
If a controller understands ATA pass through SCSI, we use this driver.