///////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: HalTimer.csi
//
// Note:
//
using System;
using System.Runtime.CompilerServices;
namespace Microsoft.Singularity.Hal
{
public class HalTimer
{
///
/// Clear interrupt associated with timer.
///
[NoHeapAllocation]
public void ClearInterrupt();
///
/// Maximum value accepted by SetNextInterrupt (in units of 100ns).
///
public long MaxInterruptInterval {
[NoHeapAllocation]
get;
}
///
/// Minimum value accepted by SetNextInterrupt (in units of 100ns).
///
public long MinInterruptInterval {
[NoHeapAllocation]
get;
}
///
/// Granularity of interrupt timeout (in units of 100ns).
///
public long InterruptIntervalGranularity {
[NoHeapAllocation]
get;
}
///
/// Set relative time of next interrupt.
///
/// Relative time of next interrupt in units
/// of 100ns. The time should be with the range between
/// from SetNextInterruptMinDelta to
/// SetNextInterruptMaxDelta.
/// true on success.
///
[NoHeapAllocation]
public bool SetNextInterrupt(long delta);
}
} // namespace Microsoft.Singularity.Hal