smartmontools SVN Rev 5640
Utility to control and monitor storage systems with "S.M.A.R.T."
|
Public Member Functions | |
win_csmi_device (smart_interface *intf, const char *dev_name, const char *req_type) | |
virtual | ~win_csmi_device () |
virtual bool | open () override |
Open device, return false on error. | |
virtual bool | close () override |
Close device, return false on error. | |
virtual bool | is_open () const override |
Return true if device is open. | |
bool | open_scsi () |
Public Member Functions inherited from os_win32::csmi_ata_device | |
virtual bool | ata_pass_through (const ata_cmd_in &in, ata_cmd_out &out) override |
ATA pass through. | |
Public Member Functions inherited from os_win32::csmi_device | |
unsigned | get_ports_used () |
Get bitmask of used ports. | |
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_device * | to_ata () |
Downcast to ATA device. | |
const ata_device * | to_ata () const |
Downcast to ATA device (const). | |
scsi_device * | to_scsi () |
Downcast to SCSI device. | |
const scsi_device * | to_scsi () const |
Downcast to SCSI device (const). | |
nvme_device * | to_nvme () |
Downcast to NVMe device. | |
const nvme_device * | to_nvme () const |
Downcast to NVMe device (const). | |
const device_info & | get_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_info & | get_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_device * | autodetect_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 ata_device | |
virtual bool | ata_pass_through (const ata_cmd_in &in, ata_cmd_out &out)=0 |
ATA pass through. | |
bool | ata_pass_through (const ata_cmd_in &in) |
ATA pass through without output registers. | |
virtual bool | ata_identify_is_cached () const |
Return true if OS caches ATA identify sector. | |
Protected Member Functions | |
virtual bool | csmi_ioctl (unsigned code, IOCTL_HEADER *csmi_buffer, unsigned csmi_bufsiz) override |
Call platform-specific CSMI ioctl. | |
Protected Member Functions inherited from os_win32::csmi_ata_device | |
csmi_ata_device () | |
Protected Member Functions inherited from os_win32::csmi_device | |
csmi_device () | |
int | get_phy_info (CSMI_SAS_PHY_INFO &phy_info, port_2_index_map &p2i) |
Get phy info and port mapping, return #ports or -1 on error. | |
bool | select_port (int port) |
Select physical drive. | |
const CSMI_SAS_PHY_ENTITY & | get_phy_ent () const |
Get info for selected physical drive. | |
virtual bool | csmi_ioctl (unsigned code, IOCTL_HEADER *csmi_buffer, unsigned csmi_bufsiz)=0 |
Call platform-specific CSMI ioctl. | |
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_info & | set_info () |
R/W access to device info struct. | |
smart_interface * | smi () |
Get interface which produced this object. | |
const smart_interface * | smi () const |
Get interface which produced this object (const). | |
Protected Member Functions inherited from ata_device | |
bool | ata_cmd_is_supported (const ata_cmd_in &in, unsigned flags, const char *type=0) |
Check command input parameters. | |
bool | ata_cmd_is_ok (const ata_cmd_in &in, bool data_out_support=false, bool multi_sector_support=false, bool ata_48bit_support=false) |
Check command input parameters (old version). | |
void | hide_ata (bool hide=true) |
Hide/unhide ATA interface. | |
ata_device () | |
Default constructor, registers device as ATA. | |
Private Attributes | |
HANDLE | m_fh |
Controller device handle. | |
int | m_port |
Port number. | |
Additional Inherited Members | |
Public Types inherited from os_win32::csmi_device | |
enum | { max_number_of_ports = 32 } |
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 os_win32::csmi_device | |
typedef signed char | port_2_index_map[max_number_of_ports] |
Protected Types inherited from smart_device | |
enum | do_not_use_in_implementation_classes { never_called } |
Dummy enum for dummy constructor. More... | |
Protected Types inherited from ata_device | |
enum | { supports_data_out = 0x01 , supports_smart_status = 0x02 , supports_output_regs = 0x04 , supports_multi_sector = 0x08 , supports_48bit_hi_null = 0x10 , supports_48bit = 0x20 } |
Flags for ata_cmd_is_supported(). More... | |
Definition at line 2372 of file os_win32.cpp.
os_win32::win_csmi_device::win_csmi_device | ( | smart_interface * | intf, |
const char * | dev_name, | ||
const char * | req_type | ||
) |
Definition at line 2401 of file os_win32.cpp.
|
virtual |
Definition at line 2408 of file os_win32.cpp.
|
overridevirtual |
Close device, return false on error.
Implements smart_device.
Definition at line 2419 of file os_win32.cpp.
|
overrideprotectedvirtual |
Call platform-specific CSMI ioctl.
Implements os_win32::csmi_device.
Definition at line 2481 of file os_win32.cpp.
|
overridevirtual |
Return true if device is open.
Implements smart_device.
Definition at line 2414 of file os_win32.cpp.
|
overridevirtual |
Open device, return false on error.
Implements smart_device.
Definition at line 2466 of file os_win32.cpp.
bool os_win32::win_csmi_device::open_scsi | ( | ) |
Definition at line 2429 of file os_win32.cpp.
|
private |
Controller device handle.
Definition at line 2394 of file os_win32.cpp.
|
private |
Port number.
Definition at line 2395 of file os_win32.cpp.