Files
rtems/c/src/ada/rtems-timer.ads
T
Joel Sherrill 1987020834 2011-02-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* ada/Makefile.am, ada/preinstall.am, ada/rtems.adb, ada/rtems.ads:
	Split RTEMS Ada95 binding into a master package and a child package
	per Manager. This is better Ada style.
	* ada/rtems-barrier.adb, ada/rtems-barrier.ads, ada/rtems-clock.adb,
	ada/rtems-clock.ads, ada/rtems-cpu_usage.ads, ada/rtems-debug.adb,
	ada/rtems-debug.ads, ada/rtems-event.adb, ada/rtems-event.ads,
	ada/rtems-extension.adb, ada/rtems-extension.ads,
	ada/rtems-fatal.adb, ada/rtems-fatal.ads, ada/rtems-interrupt.ads,
	ada/rtems-io.adb, ada/rtems-io.ads, ada/rtems-message_queue.adb,
	ada/rtems-message_queue.ads, ada/rtems-object.adb,
	ada/rtems-object.ads, ada/rtems-partition.adb,
	ada/rtems-partition.ads, ada/rtems-port.adb, ada/rtems-port.ads,
	ada/rtems-rate_monotonic.adb, ada/rtems-rate_monotonic.ads,
	ada/rtems-region.adb, ada/rtems-region.ads, ada/rtems-semaphore.adb,
	ada/rtems-semaphore.ads, ada/rtems-signal.adb, ada/rtems-signal.ads,
	ada/rtems-stack_checker.ads, ada/rtems-tasks.adb,
	ada/rtems-tasks.ads, ada/rtems-timer.adb, ada/rtems-timer.ads: New
	files.
2011-02-16 15:52:29 +00:00

109 lines
2.6 KiB
Ada

--
-- RTEMS / Specification
--
-- DESCRIPTION:
--
-- This package provides the interface to the RTEMS API.
--
-- DEPENDENCIES:
--
-- NOTES:
-- RTEMS initialization and configuration are called from
-- the BSP side, therefore should never be called from ADA.
--
-- COPYRIGHT (c) 1997-2008.
-- On-Line Applications Research Corporation (OAR).
--
-- The license and distribution terms for this file may in
-- the file LICENSE in this distribution or at
-- http://www.rtems.com/license/LICENSE.
--
-- $Id$
--
with RTEMS.Tasks;
package RTEMS.Timer is
--
-- The following type define a pointer to a watchdog/timer service routine.
--
type Service_Routine is access procedure (
ID : in RTEMS.ID;
User_Data : in RTEMS.Address
);
pragma Convention (C, Service_Routine);
--
-- Timer Manager
--
procedure Create (
Name : in RTEMS.Name;
ID : out RTEMS.ID;
Result : out RTEMS.Status_Codes
);
procedure Ident (
Name : in RTEMS.Name;
ID : out RTEMS.ID;
Result : out RTEMS.Status_Codes
);
procedure Delete (
ID : in RTEMS.ID;
Result : out RTEMS.Status_Codes
);
procedure Fire_After (
ID : in RTEMS.ID;
Ticks : in RTEMS.Interval;
Routine : in RTEMS.Timer.Service_Routine;
User_Data : in RTEMS.Address;
Result : out RTEMS.Status_Codes
);
procedure Server_Fire_After (
ID : in RTEMS.ID;
Ticks : in RTEMS.Interval;
Routine : in RTEMS.Timer.Service_Routine;
User_Data : in RTEMS.Address;
Result : out RTEMS.Status_Codes
);
procedure Fire_When (
ID : in RTEMS.ID;
Wall_Time : in RTEMS.Time_Of_Day;
Routine : in RTEMS.Timer.Service_Routine;
User_Data : in RTEMS.Address;
Result : out RTEMS.Status_Codes
);
procedure Server_Fire_When (
ID : in RTEMS.ID;
Wall_Time : in RTEMS.Time_Of_Day;
Routine : in RTEMS.Timer.Service_Routine;
User_Data : in RTEMS.Address;
Result : out RTEMS.Status_Codes
);
procedure Reset (
ID : in RTEMS.ID;
Result : out RTEMS.Status_Codes
);
procedure Cancel (
ID : in RTEMS.ID;
Result : out RTEMS.Status_Codes
);
procedure Initiate_Server (
Server_Priority : in RTEMS.Tasks.Priority;
Stack_Size : in Unsigned32;
Attribute_Set : in RTEMS.Attribute;
Result : out RTEMS.Status_Codes
);
end RTEMS.Timer;