OSDN Git Service

Add NIOS2 support. Code from SourceyG++.
[pf3gnuchains/gcc-fork.git] / gcc / ada / 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;