smartmontools SVN Rev 5419
Utility to control and monitor storage systems with "S.M.A.R.T."
Classes | Enumerations | Functions
os_win32 Namespace Reference

Classes

class  csmi_ata_device
 
class  csmi_device
 
struct  SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER
 
union  STORAGE_DEVICE_DESCRIPTOR_DATA
 
struct  STORAGE_PROTOCOL_SPECIFIC_QUERY_WITH_BUFFER
 
class  win10_nvme_device
 
class  win_aacraid_device
 
class  win_areca_ata_device
 
class  win_areca_scsi_device
 
class  win_ata_device
 
class  win_csmi_device
 
class  win_nvme_device
 
class  win_scsi_device
 
class  win_smart_device
 
class  win_smart_interface
 
class  win_tw_cli_device
 

Enumerations

enum  win_dev_type {
  DEV_UNKNOWN = 0 , DEV_ATA , DEV_SCSI , DEV_SAT ,
  DEV_USB , DEV_NVME
}
 

Functions

static int is_permissive ()
 
static int drive_letter (const char *s)
 
static const char * skipdev (const char *s)
 
static int sdxy_to_phydrive (const char(&xy)[2+1])
 
static void copy_swapped (unsigned char *dest, const char *src, int destsize)
 
static void print_ide_regs (const IDEREGS *r, int out)
 
static void print_ide_regs_io (const IDEREGS *ri, const IDEREGS *ro)
 
static int smart_get_version (HANDLE hdevice, GETVERSIONINPARAMS_EX *ata_version_ex=0)
 
static int smart_ioctl (HANDLE hdevice, IDEREGS *regs, char *data, unsigned datasize, int port)
 
static int ide_pass_through_ioctl (HANDLE hdevice, IDEREGS *regs, char *data, unsigned datasize)
 
static int ata_pass_through_ioctl (HANDLE hdevice, IDEREGS *regs, IDEREGS *prev_regs, char *data, int datasize)
 
static int ata_via_scsi_miniport_smart_ioctl (HANDLE hdevice, IDEREGS *regs, char *data, int datasize)
 
static int ata_via_3ware_miniport_ioctl (HANDLE hdevice, IDEREGS *regs, char *data, int datasize, int port)
 
static int update_3ware_devicemap_ioctl (HANDLE hdevice)
 
static int storage_query_property_ioctl (HANDLE hdevice, STORAGE_DEVICE_DESCRIPTOR_DATA *data)
 
static int storage_predict_failure_ioctl (HANDLE hdevice, char *data=0)
 
static int get_identify_from_device_property (HANDLE hdevice, ata_identify_device *id)
 
static bool get_serial_from_wmi (int drive, ata_identify_device *id)
 
static bool get_usb_id (int phydrive, int logdrive, unsigned short &vendor_id, unsigned short &product_id)
 
static int get_device_power_state (HANDLE hdevice)
 
static const char * ata_get_def_options ()
 
static int get_clipboard (char *data, int datasize)
 
static const char * findstr (const char *str, const char *sub)
 
static long scsi_pass_through_indirect (HANDLE h, SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER *sbd)
 
static long scsi_pass_through_direct (HANDLE fd, UCHAR targetid, struct scsi_cmnd_io *iop)
 Areca RAID support. More...
 
static bool is_wow64 ()
 
static bool is_sat (const STORAGE_DEVICE_DESCRIPTOR_DATA *data)
 
static bool is_intel_raid_volume (const STORAGE_DEVICE_DESCRIPTOR_DATA *data)
 
static win_dev_type get_controller_type (HANDLE hdevice, bool admin, GETVERSIONINPARAMS_EX *ata_version_ex)
 
static win_dev_type get_controller_type (const char *path, GETVERSIONINPARAMS_EX *ata_version_ex=0)
 
static win_dev_type get_phy_drive_type (int drive, GETVERSIONINPARAMS_EX *ata_version_ex)
 
static win_dev_type get_phy_drive_type (int drive)
 
static win_dev_type get_log_drive_type (int drive)
 
static win_dev_type get_dev_type (const char *name, int &phydrive, int &logdrive)
 

Enumeration Type Documentation

◆ win_dev_type

Enumerator
DEV_UNKNOWN 
DEV_ATA 
DEV_SCSI 
DEV_SAT 
DEV_USB 
DEV_NVME 

Definition at line 4353 of file os_win32.cpp.

Function Documentation

◆ ata_get_def_options()

static const char * os_win32::ata_get_def_options ( )
static

Definition at line 1446 of file os_win32.cpp.

◆ ata_pass_through_ioctl()

static int os_win32::ata_pass_through_ioctl ( HANDLE  hdevice,
IDEREGS *  regs,
IDEREGS *  prev_regs,
char *  data,
int  datasize 
)
static

Definition at line 728 of file os_win32.cpp.

◆ ata_via_3ware_miniport_ioctl()

static int os_win32::ata_via_3ware_miniport_ioctl ( HANDLE  hdevice,
IDEREGS *  regs,
char *  data,
int  datasize,
int  port 
)
static

Definition at line 970 of file os_win32.cpp.

◆ ata_via_scsi_miniport_smart_ioctl()

static int os_win32::ata_via_scsi_miniport_smart_ioctl ( HANDLE  hdevice,
IDEREGS *  regs,
char *  data,
int  datasize 
)
static

Definition at line 840 of file os_win32.cpp.

◆ copy_swapped()

static void os_win32::copy_swapped ( unsigned char *  dest,
const char *  src,
int  destsize 
)
static

Definition at line 414 of file os_win32.cpp.

◆ drive_letter()

static int os_win32::drive_letter ( const char *  s)
static

Definition at line 390 of file os_win32.cpp.

◆ findstr()

static const char * os_win32::findstr ( const char *  str,
const char *  sub 
)
static

Definition at line 2605 of file os_win32.cpp.

◆ get_clipboard()

static int os_win32::get_clipboard ( char *  data,
int  datasize 
)
static

Definition at line 2585 of file os_win32.cpp.

◆ get_controller_type() [1/2]

static win_dev_type os_win32::get_controller_type ( const char *  path,
GETVERSIONINPARAMS_EX ata_version_ex = 0 
)
static

Definition at line 4436 of file os_win32.cpp.

◆ get_controller_type() [2/2]

static win_dev_type os_win32::get_controller_type ( HANDLE  hdevice,
bool  admin,
GETVERSIONINPARAMS_EX ata_version_ex 
)
static

Definition at line 4379 of file os_win32.cpp.

◆ get_dev_type()

static win_dev_type os_win32::get_dev_type ( const char *  name,
int &  phydrive,
int &  logdrive 
)
static

Definition at line 4476 of file os_win32.cpp.

◆ get_device_power_state()

static int os_win32::get_device_power_state ( HANDLE  hdevice)
static

Definition at line 1373 of file os_win32.cpp.

◆ get_identify_from_device_property()

static int os_win32::get_identify_from_device_property ( HANDLE  hdevice,
ata_identify_device id 
)
static

Definition at line 1144 of file os_win32.cpp.

◆ get_log_drive_type()

static win_dev_type os_win32::get_log_drive_type ( int  drive)
static

Definition at line 4469 of file os_win32.cpp.

◆ get_phy_drive_type() [1/2]

static win_dev_type os_win32::get_phy_drive_type ( int  drive)
static

Definition at line 4463 of file os_win32.cpp.

◆ get_phy_drive_type() [2/2]

static win_dev_type os_win32::get_phy_drive_type ( int  drive,
GETVERSIONINPARAMS_EX ata_version_ex 
)
static

Definition at line 4456 of file os_win32.cpp.

◆ get_serial_from_wmi()

static bool os_win32::get_serial_from_wmi ( int  drive,
ata_identify_device id 
)
static

Definition at line 1187 of file os_win32.cpp.

◆ get_usb_id()

static bool os_win32::get_usb_id ( int  phydrive,
int  logdrive,
unsigned short &  vendor_id,
unsigned short &  product_id 
)
static

Definition at line 1216 of file os_win32.cpp.

◆ ide_pass_through_ioctl()

static int os_win32::ide_pass_through_ioctl ( HANDLE  hdevice,
IDEREGS *  regs,
char *  data,
unsigned  datasize 
)
static

Definition at line 643 of file os_win32.cpp.

◆ is_intel_raid_volume()

static bool os_win32::is_intel_raid_volume ( const STORAGE_DEVICE_DESCRIPTOR_DATA data)
static

Definition at line 4366 of file os_win32.cpp.

◆ is_permissive()

static int os_win32::is_permissive ( )
static

Definition at line 377 of file os_win32.cpp.

◆ is_sat()

static bool os_win32::is_sat ( const STORAGE_DEVICE_DESCRIPTOR_DATA data)
static

Definition at line 4356 of file os_win32.cpp.

◆ is_wow64()

static bool os_win32::is_wow64 ( )
static

Definition at line 4091 of file os_win32.cpp.

◆ print_ide_regs()

static void os_win32::print_ide_regs ( const IDEREGS *  r,
int  out 
)
static

Definition at line 486 of file os_win32.cpp.

◆ print_ide_regs_io()

static void os_win32::print_ide_regs_io ( const IDEREGS *  ri,
const IDEREGS *  ro 
)
static

Definition at line 493 of file os_win32.cpp.

◆ scsi_pass_through_direct()

static long os_win32::scsi_pass_through_direct ( HANDLE  fd,
UCHAR  targetid,
struct scsi_cmnd_io iop 
)
static

Areca RAID support.

Definition at line 3030 of file os_win32.cpp.

◆ scsi_pass_through_indirect()

static long os_win32::scsi_pass_through_indirect ( HANDLE  h,
SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER sbd 
)
static

Definition at line 2856 of file os_win32.cpp.

◆ sdxy_to_phydrive()

static int os_win32::sdxy_to_phydrive ( const char(&)  xy[2+1])
static

Definition at line 406 of file os_win32.cpp.

◆ skipdev()

static const char * os_win32::skipdev ( const char *  s)
static

Definition at line 400 of file os_win32.cpp.

◆ smart_get_version()

static int os_win32::smart_get_version ( HANDLE  hdevice,
GETVERSIONINPARAMS_EX ata_version_ex = 0 
)
static

Definition at line 505 of file os_win32.cpp.

◆ smart_ioctl()

static int os_win32::smart_ioctl ( HANDLE  hdevice,
IDEREGS *  regs,
char *  data,
unsigned  datasize,
int  port 
)
static

Definition at line 540 of file os_win32.cpp.

◆ storage_predict_failure_ioctl()

static int os_win32::storage_predict_failure_ioctl ( HANDLE  hdevice,
char *  data = 0 
)
static

Definition at line 1114 of file os_win32.cpp.

◆ storage_query_property_ioctl()

static int os_win32::storage_query_property_ioctl ( HANDLE  hdevice,
STORAGE_DEVICE_DESCRIPTOR_DATA data 
)
static

Definition at line 1076 of file os_win32.cpp.

◆ update_3ware_devicemap_ioctl()

static int os_win32::update_3ware_devicemap_ioctl ( HANDLE  hdevice)
static

Definition at line 1033 of file os_win32.cpp.