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------------------------------------------------------------------------------ 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 24with Ada.Real_Time; 25with Ada.Task_Identification; 26 27package Ada.Dispatching.EDF is 28 pragma Preelaborate; 29 30 pragma Unimplemented_Unit; 31 32 subtype Deadline is Ada.Real_Time.Time; 33 34 Default_Deadline : constant Deadline := Ada.Real_Time.Time_Last; 35 36 procedure Set_Deadline 37 (D : Deadline; 38 T : Ada.Task_Identification.Task_Id := 39 Ada.Task_Identification.Current_Task); 40 41 procedure Delay_Until_And_Set_Deadline 42 (Delay_Until_Time : Ada.Real_Time.Time; 43 Deadline_Offset : Ada.Real_Time.Time_Span); 44 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; 53 54end Ada.Dispatching.EDF; 55