smartmontools SVN Rev 5597
Utility to control and monitor storage systems with "S.M.A.R.T."
Classes | Macros | Typedefs | Enumerations | 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 5455 2023-02-12 05:13:17Z dpgilbert $\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.
 

Enumerations

enum  scsi_cmd_support { SC_SUPPORT_UNKNOWN = 0 , SC_NO_SUPPORT , SC_SUPPORT }
 

Functions

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

Macro Definition Documentation

◆ DEV_INTERFACE_H_CVSID

#define DEV_INTERFACE_H_CVSID   "$Id: dev_interface.h 5455 2023-02-12 05:13:17Z dpgilbert $\n"

Definition at line 14 of file dev_interface.h.

Typedef Documentation

◆ ata_device_auto_ptr

Definition at line 824 of file dev_interface.h.

◆ nvme_device_auto_ptr

Definition at line 826 of file dev_interface.h.

◆ scsi_device_auto_ptr

Definition at line 825 of file dev_interface.h.

◆ smart_device_auto_ptr

Definition at line 823 of file dev_interface.h.

◆ smart_devtype_list

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

List of types for DEVICESCAN.

Definition at line 903 of file dev_interface.h.

Enumeration Type Documentation

◆ scsi_cmd_support

Enumerator
SC_SUPPORT_UNKNOWN 
SC_NO_SUPPORT 
SC_SUPPORT 

Definition at line 578 of file dev_interface.h.

Function Documentation

◆ smi()

smart_interface * smi ( )
inline

Global access to the (usually singleton) smart_interface.

Definition at line 1120 of file dev_interface.h.