smartmontools  SVN Rev 4337
Utility to control and monitor storage systems with "S.M.A.R.T."
Classes | Macros | Typedefs | Functions
dev_interface.h File Reference
#include "utility.h"
#include <stdexcept>
#include <string>
#include <vector>
Include dependency graph for dev_interface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  smart_device
 Base class for all devices. More...
 
struct  smart_device::device_info
 Device info strings. More...
 
struct  smart_device::error_info
 Error (number,message) pair. More...
 
class  ata_register
 ATA register value and info whether it has ever been set. More...
 
struct  ata_in_regs
 ATA Input registers (for 28-bit commands) More...
 
struct  ata_out_regs
 ATA Output registers (for 28-bit commands) More...
 
class  ata_reg_alias_16
 16-bit alias to a 8-bit ATA register pair. More...
 
class  ata_reg_alias_48
 48-bit alias to six 8-bit ATA registers (for LBA). More...
 
struct  ata_in_regs_48bit
 ATA Input registers for 48-bit commands. More...
 
struct  ata_out_regs_48bit
 ATA Output registers for 48-bit commands. More...
 
struct  ata_out_regs_flags
 Flags for each ATA output register. More...
 
struct  ata_cmd_in
 ATA pass through input parameters. More...
 
struct  ata_cmd_out
 ATA pass through output parameters. More...
 
class  ata_device
 ATA device access. More...
 
class  scsi_device
 SCSI device access. More...
 
struct  nvme_cmd_in
 NVMe pass through input parameters. More...
 
struct  nvme_cmd_out
 NVMe pass through output parameters. More...
 
class  nvme_device
 NVMe device access. More...
 
class  any_device_auto_ptr< Dev >
 Smart pointer class for device pointers. More...
 
class  smart_device_list
 List of devices for DEVICESCAN. More...
 
class  smart_interface
 The platform interface abstraction. More...
 

Macros

#define DEV_INTERFACE_H_CVSID   "$Id: dev_interface.h 4283 2016-04-10 12:55:59Z chrfranke $\n"
 

Typedefs

typedef any_device_auto_ptr< smart_devicesmart_device_auto_ptr
 
typedef any_device_auto_ptr< ata_deviceata_device_auto_ptr
 
typedef any_device_auto_ptr< scsi_devicescsi_device_auto_ptr
 
typedef any_device_auto_ptr< nvme_devicenvme_device_auto_ptr
 
typedef std::vector< std::string > smart_devtype_list
 List of types for DEVICESCAN. More...
 

Functions

smart_interfacesmi ()
 Global access to the (usually singleton) smart_interface. More...
 

Macro Definition Documentation

#define DEV_INTERFACE_H_CVSID   "$Id: dev_interface.h 4283 2016-04-10 12:55:59Z chrfranke $\n"

Definition at line 21 of file dev_interface.h.

Typedef Documentation

Definition at line 779 of file dev_interface.h.

Definition at line 781 of file dev_interface.h.

Definition at line 780 of file dev_interface.h.

Definition at line 778 of file dev_interface.h.

typedef std::vector<std::string> smart_devtype_list

List of types for DEVICESCAN.

Definition at line 858 of file dev_interface.h.

Function Documentation

smart_interface* smi ( )
inline

Global access to the (usually singleton) smart_interface.

Definition at line 1039 of file dev_interface.h.