Hardware/HDD/ISmart.cs
author moel.mich
Tue, 16 Sep 2014 20:35:33 +0000
changeset 424 427fc32e589f
parent 369 5077ed7ddca8
permissions -rw-r--r--
Added support for Intel Xeon E5-2600/1600 v3, Core i7-59xx CPUs (Fixed Issue 617). Corrected an error in the Intel CPU power calculation (wrong bit mask for "Energy Status Units: bits 12:8").
moel@324
     1
/*
moel@324
     2
 
moel@344
     3
  This Source Code Form is subject to the terms of the Mozilla Public
moel@344
     4
  License, v. 2.0. If a copy of the MPL was not distributed with this
moel@344
     5
  file, You can obtain one at http://mozilla.org/MPL/2.0/.
moel@324
     6
 
moel@344
     7
  Copyright (C) 2011-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
moel@344
     8
	
moel@324
     9
*/
moel@324
    10
moel@324
    11
using System;
moel@324
    12
using System.Collections.Generic;
moel@324
    13
moel@324
    14
moel@324
    15
namespace OpenHardwareMonitor.Hardware.HDD {
moel@324
    16
moel@381
    17
  internal interface ISmart {
moel@324
    18
moel@324
    19
    IntPtr OpenDrive(int driveNumber);
moel@324
    20
moel@324
    21
    bool EnableSmart(IntPtr handle, int driveNumber);
moel@324
    22
moel@324
    23
    DriveAttributeValue[] ReadSmartData(IntPtr handle, int driveNumber);
moel@324
    24
moel@324
    25
    DriveThresholdValue[] ReadSmartThresholds(IntPtr handle, int driveNumber);
moel@324
    26
moel@325
    27
    bool ReadNameAndFirmwareRevision(IntPtr handle, int driveNumber,
moel@325
    28
      out string name, out string firmwareRevision); 
moel@324
    29
moel@324
    30
    void CloseHandle(IntPtr handle);
moel@324
    31
moel@324
    32
    IntPtr InvalidHandle { get; }
moel@369
    33
moel@369
    34
    string[] GetLogicalDrives(int driveIndex);
moel@324
    35
  }
moel@324
    36
}