blob: cfe2e0b9111e1d7286b08163bb58a29ff1478349 [file] [log] [blame]
--
-- Copyright (C) 2015-2016 secunet Security Networks AG
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
private package HW.Time.Timer
with
Abstract_State => ((Timer_State with Part_Of => HW.Time.State),
(Abstract_Time with
Part_Of => HW.Time.State,
External => Async_Writers)),
Initializes => (Timer_State)
is
-- Returns the highest point in time that has definitely passed.
function Raw_Value_Min return T
with
Volatile_Function,
Global => (Input => Abstract_Time),
Depends => (Raw_Value_Min'Result => Abstract_Time);
-- Returns the highest point in time that might have been reached yet.
function Raw_Value_Max return T
with
Volatile_Function,
Global => (Input => Abstract_Time),
Depends => (Raw_Value_Max'Result => Abstract_Time);
function Hz return T
with
Global => (Input => Timer_State);
end HW.Time.Timer;