File : a-extiti.ads
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT RUN-TIME COMPONENTS --
4 -- --
5 -- A D A . E X E C U T I O N _ T I M E . T I M E R S --
6 -- --
7 -- S p e c --
8 -- --
9 -- This specification is derived from the Ada Reference Manual for use with --
10 -- GNAT. In accordance with the copyright of that document, you can freely --
11 -- copy and modify this specification, provided that if you redistribute a --
12 -- modified version, any changes that you have made are clearly indicated. --
13 -- --
14 ------------------------------------------------------------------------------
15
16 -- This unit is not implemented in typical GNAT implementations that lie on
17 -- top of operating systems, because it is infeasible to implement in such
18 -- environments.
19
20 -- If a target environment provides appropriate support for this package,
21 -- then the Unimplemented_Unit pragma should be removed from this spec and
22 -- an appropriate body provided.
23
24 with System;
25
26 package Ada.Execution_Time.Timers is
27 pragma Preelaborate;
28
29 pragma Unimplemented_Unit;
30
31 type Timer (T : not null access constant Ada.Task_Identification.Task_Id) is
32 tagged limited private;
33
34 type Timer_Handler is access protected procedure (TM : in out Timer);
35
36 Min_Handler_Ceiling : constant System.Any_Priority := System.Priority'Last;
37
38 procedure Set_Handler
39 (TM : in out Timer;
40 In_Time : Ada.Real_Time.Time_Span;
41 Handler : Timer_Handler);
42
43 procedure Set_Handler
44 (TM : in out Timer;
45 At_Time : CPU_Time;
46 Handler : Timer_Handler);
47
48 function Current_Handler (TM : Timer) return Timer_Handler;
49
50 procedure Cancel_Handler
51 (TM : in out Timer;
52 Cancelled : out Boolean);
53
54 function Time_Remaining (TM : Timer) return Ada.Real_Time.Time_Span;
55
56 Timer_Resource_Error : exception;
57
58 private
59 type Timer (T : access Ada.Task_Identification.Task_Id) is
60 tagged limited null record;
61 end Ada.Execution_Time.Timers;