LIBATASMART ATA S.M.A.R.T. Reading and Parsing Library
As the name suggests libatasmart only does ATA S.M.A.R.T.,
there is no support for SCSI harddisks. SCSI S.M.A.R.T. is a
very different system, support for it should be implemented in
a separate library "libscsismart" if there should ever be
demand for it.
This library is supposed to be lean and small and thus
supports only a subset of the S.M.A.R.T. functionality.
However, I claim that it implements the relevant part of it.
If you need full control over all S.M.A.R.T. functionality of
your hardware please refer to Buce Allen's smartmontools.
This runs on Linux only. Patches to port it to other operating
systems are welcome, as long as they don't make the code
difficult to read and come with more than one or two
#ifdefs. I am happy to include patches for non-Linux systems
-- please note however that non-Linux operating systems are
not relevant for release management. i.e. I won't make sure
that libatasmart compiles fine on non-Linux systems before
libatasmart supports classic ATA/IDE disks (i.e. /dev/hda) as
well as ATA disks that are connected through a SCSI layer
(SAT) (such as a SATA /dev/sda).
USB disks generally don't support SAT and thus generally
cannot be queried for S.M.A.R.T. data.
This library is inspired by Bruce Allen's smartmontools and by
Emmanuel Varagnat's hddtemp. However libatasmart is completely
new code, not a single line has been copied from those two
None (except Linux with a GLibc)