2016-10-26 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / gcc / ada / a-disedf.ads
blob4b28a6db333fb54b2df66964af29b50eb2ac4250
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT RUN-TIME COMPONENTS --
4 -- --
5 -- A D A . D I S P A T C H I N G . E D F --
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 ------------------------------------------------------------------------------
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.
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.
24 with Ada.Real_Time;
25 with Ada.Task_Identification;
27 package Ada.Dispatching.EDF is
28 pragma Preelaborate;
30 pragma Unimplemented_Unit;
32 subtype Deadline is Ada.Real_Time.Time;
34 Default_Deadline : constant Deadline := Ada.Real_Time.Time_Last;
36 procedure Set_Deadline
37 (D : Deadline;
38 T : Ada.Task_Identification.Task_Id :=
39 Ada.Task_Identification.Current_Task);
41 procedure Delay_Until_And_Set_Deadline
42 (Delay_Until_Time : Ada.Real_Time.Time;
43 Deadline_Offset : Ada.Real_Time.Time_Span);
45 function Get_Deadline
46 (T : Ada.Task_Identification.Task_Id :=
47 Ada.Task_Identification.Current_Task)
48 return Deadline
49 with
50 SPARK_Mode,
51 Volatile_Function,
52 Global => Ada.Task_Identification.Tasking_State;
54 end Ada.Dispatching.EDF;