111
|
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;
|