moel@324: /* moel@324: moel@344: This Source Code Form is subject to the terms of the Mozilla Public moel@344: License, v. 2.0. If a copy of the MPL was not distributed with this moel@344: file, You can obtain one at http://mozilla.org/MPL/2.0/. moel@324: moel@344: Copyright (C) 2011-2012 Michael Möller moel@344: moel@324: */ moel@324: moel@324: using System; moel@324: using System.Collections.Generic; moel@324: moel@324: moel@324: namespace OpenHardwareMonitor.Hardware.HDD { moel@324: moel@324: public interface ISmart { moel@324: moel@324: IntPtr OpenDrive(int driveNumber); moel@324: moel@324: bool EnableSmart(IntPtr handle, int driveNumber); moel@324: moel@324: DriveAttributeValue[] ReadSmartData(IntPtr handle, int driveNumber); moel@324: moel@324: DriveThresholdValue[] ReadSmartThresholds(IntPtr handle, int driveNumber); moel@324: moel@325: bool ReadNameAndFirmwareRevision(IntPtr handle, int driveNumber, moel@325: out string name, out string firmwareRevision); moel@324: moel@324: void CloseHandle(IntPtr handle); moel@324: moel@324: IntPtr InvalidHandle { get; } moel@369: moel@369: string[] GetLogicalDrives(int driveIndex); moel@324: } moel@324: }