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

Public Member Functions

 sntjmicron_device (smart_interface *intf, scsi_device *scsidev, const char *req_type, unsigned nsid)
 
virtual ~sntjmicron_device ()
 
virtual bool open () override
 Open device, return false on error.
 
virtual bool nvme_pass_through (const nvme_cmd_in &in, nvme_cmd_out &out) override
 NVMe pass through.
 
- Public Member Functions inherited from tunnelled_device< nvme_device, scsi_device >
virtual void release (const smart_device *dev) override
 Release ownership of other device.
 
tunnel_device_typeget_tunnel_dev ()
 
const tunnel_device_typeget_tunnel_dev () const
 
- Public Member Functions inherited from nvme_device
virtual bool nvme_pass_through (const nvme_cmd_in &in, nvme_cmd_out &out)=0
 NVMe pass through.
 
unsigned get_nsid () const
 Get namespace id.
 
- Public Member Functions inherited from smart_device
virtual ~smart_device ()
 
bool is_ata () const
 Return true if ATA device.
 
bool is_scsi () const
 Return true if SCSI device.
 
bool is_nvme () const
 Return true if NVMe device.
 
ata_deviceto_ata ()
 Downcast to ATA device.
 
const ata_deviceto_ata () const
 Downcast to ATA device (const).
 
scsi_deviceto_scsi ()
 Downcast to SCSI device.
 
const scsi_deviceto_scsi () const
 Downcast to SCSI device (const).
 
nvme_deviceto_nvme ()
 Downcast to NVMe device.
 
const nvme_deviceto_nvme () const
 Downcast to NVMe device (const).
 
const device_infoget_info () const
 Get device info struct.
 
const char * get_dev_name () const
 Get device (path)name.
 
const char * get_info_name () const
 Get informal name.
 
const char * get_dev_type () const
 Get device type.
 
const char * get_req_type () const
 Get type requested by user, empty if none.
 
const error_infoget_err () const
 Get last error info struct.
 
int get_errno () const
 Get last error number.
 
const char * get_errmsg () const
 Get last error message.
 
virtual bool is_syscall_unsup () const
 Return true if last error indicates an unsupported system call.
 
bool set_err (int no, const char *msg,...) __attribute_format_printf(3
 Set last error number and message.
 
bool bool set_err (const error_info &err)
 Set last error info struct.
 
void clear_err ()
 Clear last error info.
 
bool set_err (int no)
 Set last error number and default message.
 
virtual bool is_open () const =0
 Return true if device is open.
 
virtual bool open ()=0
 Open device, return false on error.
 
virtual bool close ()=0
 Close device, return false on error.
 
virtual smart_deviceautodetect_open ()
 Open device with autodetection support.
 
virtual bool is_powered_down ()
 Early test if device is powered up or down.
 
virtual bool owns (const smart_device *dev) const
 Return true if other device is owned by this device.
 
virtual void release (const smart_device *dev)
 Release ownership of other device.
 
- Public Member Functions inherited from tunnelled_device_base
virtual ~tunnelled_device_base ()
 
virtual bool is_open () const override
 Return true if device is open.
 
virtual bool open () override
 Open device, return false on error.
 
virtual bool close () override
 Close device, return false on error.
 
virtual bool owns (const smart_device *dev) const override
 Return true if other device is owned by this device.
 
virtual void release (const smart_device *dev) override
 Release ownership of other device.
 

Private Types

enum  {
  proto_nvm_cmd = 0x0 , proto_non_data = 0x1 , proto_dma_in = 0x2 , proto_dma_out = 0x3 ,
  proto_response = 0xF
}
 

Additional Inherited Members

- Public Types inherited from tunnelled_device< nvme_device, scsi_device >
typedef scsi_device tunnel_device_type
 
- Static Public Member Functions inherited from smart_device
static int get_num_objects ()
 Get current number of allocated 'smart_device' objects.
 
- Protected Types inherited from smart_device
enum  do_not_use_in_implementation_classes { never_called }
 Dummy enum for dummy constructor. More...
 
- Protected Member Functions inherited from tunnelled_device< nvme_device, scsi_device >
 tunnelled_device (tunnel_device_type *tunnel_dev)
 
 tunnelled_device (tunnel_device_type *tunnel_dev, unsigned nsid)
 
- Protected Member Functions inherited from nvme_device
void hide_nvme (bool hide=true)
 Hide/unhide NVMe interface.
 
 nvme_device (unsigned nsid)
 Constructor requires namespace ID, registers device as NVMe.
 
void set_nsid (unsigned nsid)
 Set namespace id.
 
bool set_nvme_err (nvme_cmd_out &out, unsigned status, const char *msg=0)
 Set last error number and message if pass-through returns NVMe error status.
 
- Protected Member Functions inherited from smart_device
 smart_device (smart_interface *intf, const char *dev_name, const char *dev_type, const char *req_type)
 Constructor to init interface and device info.
 
 smart_device (do_not_use_in_implementation_classes)
 Dummy constructor for abstract classes.
 
device_infoset_info ()
 R/W access to device info struct.
 
smart_interfacesmi ()
 Get interface which produced this object.
 
const smart_interfacesmi () const
 Get interface which produced this object (const).
 
- Protected Member Functions inherited from tunnelled_device_base
 tunnelled_device_base (smart_device *tunnel_dev)
 

Detailed Description

Definition at line 123 of file scsinvme.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
proto_nvm_cmd 
proto_non_data 
proto_dma_in 
proto_dma_out 
proto_response 

Definition at line 140 of file scsinvme.cpp.

Constructor & Destructor Documentation

◆ sntjmicron_device()

snt::sntjmicron_device::sntjmicron_device ( smart_interface intf,
scsi_device scsidev,
const char *  req_type,
unsigned  nsid 
)

Definition at line 146 of file scsinvme.cpp.

◆ ~sntjmicron_device()

snt::sntjmicron_device::~sntjmicron_device ( )
virtual

Definition at line 154 of file scsinvme.cpp.

Member Function Documentation

◆ nvme_pass_through()

bool snt::sntjmicron_device::nvme_pass_through ( const nvme_cmd_in in,
nvme_cmd_out out 
)
overridevirtual

NVMe pass through.

Return false on error.

Implements nvme_device.

Definition at line 186 of file scsinvme.cpp.

◆ open()

bool snt::sntjmicron_device::open ( )
overridevirtual

Open device, return false on error.

Reimplemented from tunnelled_device_base.

Definition at line 158 of file scsinvme.cpp.


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