singrdk/base/Interfaces/Hal/HalTimer.csi

63 lines
1.7 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// 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
{
/// <summary>
/// Clear interrupt associated with timer.
/// </summary>
[NoHeapAllocation]
public void ClearInterrupt();
/// <value>
/// Maximum value accepted by SetNextInterrupt (in units of 100ns).
/// </value>
public long MaxInterruptInterval {
[NoHeapAllocation]
get;
}
/// <value>
/// Minimum value accepted by SetNextInterrupt (in units of 100ns).
/// </value>
public long MinInterruptInterval {
[NoHeapAllocation]
get;
}
/// <value>
/// Granularity of interrupt timeout (in units of 100ns).
/// </value>
public long InterruptIntervalGranularity {
[NoHeapAllocation]
get;
}
/// <summary>
/// Set relative time of next interrupt.
///
/// <param name="delta">Relative time of next interrupt in units
/// of 100ns. The time should be with the range between
/// from <c>SetNextInterruptMinDelta</c> to
/// <c>SetNextInterruptMaxDelta</c></param>.
/// <returns> true on success.</returns>
/// </summary>
[NoHeapAllocation]
public bool SetNextInterrupt(long delta);
}
} // namespace Microsoft.Singularity.Hal