File : s-interr-dummy.adb


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
   4 --                                                                          --
   5 --                     S Y S T E M . I N T E R R U P T S                    --
   6 --                                                                          --
   7 --                                  B o d y                                 --
   8 --                                                                          --
   9 --             Copyright (C) 1991-1994, Florida State University            --
  10 --                     Copyright (C) 1995-2013, AdaCore                     --
  11 --                                                                          --
  12 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  13 -- terms of the  GNU General Public License as published  by the Free Soft- --
  14 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
  15 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  16 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  17 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
  18 --                                                                          --
  19 --                                                                          --
  20 --                                                                          --
  21 --                                                                          --
  22 --                                                                          --
  23 -- You should have received a copy of the GNU General Public License and    --
  24 -- a copy of the GCC Runtime Library Exception along with this program;     --
  25 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
  26 -- <http://www.gnu.org/licenses/>.                                          --
  27 --                                                                          --
  28 -- GNARL was developed by the GNARL team at Florida State University.       --
  29 -- Extensive contributions were provided by Ada Core Technologies, Inc.     --
  30 --                                                                          --
  31 ------------------------------------------------------------------------------
  32 
  33 --  This version is for systems that do not support interrupts (or signals)
  34 
  35 package body System.Interrupts is
  36 
  37    pragma Warnings (Off); -- kill warnings on unreferenced formals
  38 
  39    use System.Tasking;
  40 
  41    -----------------------
  42    -- Local Subprograms --
  43    -----------------------
  44 
  45    procedure Unimplemented;
  46    --  This procedure raises a Program_Error with an appropriate message
  47    --  indicating that an unimplemented feature has been used.
  48 
  49    --------------------
  50    -- Attach_Handler --
  51    --------------------
  52 
  53    procedure Attach_Handler
  54      (New_Handler : Parameterless_Handler;
  55       Interrupt   : Interrupt_ID;
  56       Static      : Boolean := False)
  57    is
  58    begin
  59       Unimplemented;
  60    end Attach_Handler;
  61 
  62    -----------------------------
  63    -- Bind_Interrupt_To_Entry --
  64    -----------------------------
  65 
  66    procedure Bind_Interrupt_To_Entry
  67      (T       : Task_Id;
  68       E       : Task_Entry_Index;
  69       Int_Ref : System.Address)
  70    is
  71    begin
  72       Unimplemented;
  73    end Bind_Interrupt_To_Entry;
  74 
  75    ---------------------
  76    -- Block_Interrupt --
  77    ---------------------
  78 
  79    procedure Block_Interrupt (Interrupt : Interrupt_ID) is
  80    begin
  81       Unimplemented;
  82    end Block_Interrupt;
  83 
  84    ---------------------
  85    -- Current_Handler --
  86    ---------------------
  87 
  88    function Current_Handler
  89      (Interrupt : Interrupt_ID) return Parameterless_Handler
  90    is
  91    begin
  92       Unimplemented;
  93       return null;
  94    end Current_Handler;
  95 
  96    --------------------
  97    -- Detach_Handler --
  98    --------------------
  99 
 100    procedure Detach_Handler
 101      (Interrupt : Interrupt_ID;
 102       Static    : Boolean := False)
 103    is
 104    begin
 105       Unimplemented;
 106    end Detach_Handler;
 107 
 108    ------------------------------
 109    -- Detach_Interrupt_Entries --
 110    ------------------------------
 111 
 112    procedure Detach_Interrupt_Entries (T : Task_Id) is
 113    begin
 114       Unimplemented;
 115    end Detach_Interrupt_Entries;
 116 
 117    ----------------------
 118    -- Exchange_Handler --
 119    ----------------------
 120 
 121    procedure Exchange_Handler
 122      (Old_Handler : out Parameterless_Handler;
 123       New_Handler : Parameterless_Handler;
 124       Interrupt   : Interrupt_ID;
 125       Static      : Boolean := False)
 126    is
 127    begin
 128       Old_Handler := null;
 129       Unimplemented;
 130    end Exchange_Handler;
 131 
 132    --------------
 133    -- Finalize --
 134    --------------
 135 
 136    procedure Finalize (Object : in out Static_Interrupt_Protection) is
 137    begin
 138       Unimplemented;
 139    end Finalize;
 140 
 141    -------------------------------------
 142    -- Has_Interrupt_Or_Attach_Handler --
 143    -------------------------------------
 144 
 145    function Has_Interrupt_Or_Attach_Handler
 146      (Object : access Dynamic_Interrupt_Protection)
 147       return   Boolean
 148    is
 149       pragma Warnings (Off, Object);
 150    begin
 151       Unimplemented;
 152       return True;
 153    end Has_Interrupt_Or_Attach_Handler;
 154 
 155    function Has_Interrupt_Or_Attach_Handler
 156      (Object : access Static_Interrupt_Protection)
 157       return   Boolean
 158    is
 159       pragma Warnings (Off, Object);
 160    begin
 161       Unimplemented;
 162       return True;
 163    end Has_Interrupt_Or_Attach_Handler;
 164 
 165    ----------------------
 166    -- Ignore_Interrupt --
 167    ----------------------
 168 
 169    procedure Ignore_Interrupt (Interrupt : Interrupt_ID) is
 170    begin
 171       Unimplemented;
 172    end Ignore_Interrupt;
 173 
 174    ----------------------
 175    -- Install_Handlers --
 176    ----------------------
 177 
 178    procedure Install_Handlers
 179      (Object       : access Static_Interrupt_Protection;
 180       New_Handlers : New_Handler_Array)
 181    is
 182    begin
 183       Unimplemented;
 184    end Install_Handlers;
 185 
 186    ---------------------------------
 187    -- Install_Restricted_Handlers --
 188    ---------------------------------
 189 
 190    procedure Install_Restricted_Handlers
 191      (Prio     : Any_Priority;
 192       Handlers : New_Handler_Array)
 193    is
 194    begin
 195       Unimplemented;
 196    end Install_Restricted_Handlers;
 197 
 198    ----------------
 199    -- Is_Blocked --
 200    ----------------
 201 
 202    function Is_Blocked (Interrupt : Interrupt_ID) return Boolean is
 203    begin
 204       Unimplemented;
 205       return True;
 206    end Is_Blocked;
 207 
 208    -----------------------
 209    -- Is_Entry_Attached --
 210    -----------------------
 211 
 212    function Is_Entry_Attached (Interrupt : Interrupt_ID) return Boolean is
 213    begin
 214       Unimplemented;
 215       return True;
 216    end Is_Entry_Attached;
 217 
 218    -------------------------
 219    -- Is_Handler_Attached --
 220    -------------------------
 221 
 222    function Is_Handler_Attached (Interrupt : Interrupt_ID) return Boolean is
 223    begin
 224       Unimplemented;
 225       return True;
 226    end Is_Handler_Attached;
 227 
 228    ----------------
 229    -- Is_Ignored --
 230    ----------------
 231 
 232    function Is_Ignored (Interrupt : Interrupt_ID) return Boolean is
 233    begin
 234       Unimplemented;
 235       return True;
 236    end Is_Ignored;
 237 
 238    -----------------
 239    -- Is_Reserved --
 240    -----------------
 241 
 242    function Is_Reserved (Interrupt : Interrupt_ID) return Boolean is
 243    begin
 244       Unimplemented;
 245       return True;
 246    end Is_Reserved;
 247 
 248    ---------------
 249    -- Reference --
 250    ---------------
 251 
 252    function Reference (Interrupt : Interrupt_ID) return System.Address is
 253    begin
 254       Unimplemented;
 255       return Interrupt'Address;
 256    end Reference;
 257 
 258    --------------------------------
 259    -- Register_Interrupt_Handler --
 260    --------------------------------
 261 
 262    procedure Register_Interrupt_Handler
 263      (Handler_Addr : System.Address)
 264    is
 265    begin
 266       Unimplemented;
 267    end Register_Interrupt_Handler;
 268 
 269    -----------------------
 270    -- Unblock_Interrupt --
 271    -----------------------
 272 
 273    procedure Unblock_Interrupt (Interrupt : Interrupt_ID) is
 274    begin
 275       Unimplemented;
 276    end Unblock_Interrupt;
 277 
 278    ------------------
 279    -- Unblocked_By --
 280    ------------------
 281 
 282    function Unblocked_By (Interrupt : Interrupt_ID)
 283      return System.Tasking.Task_Id is
 284    begin
 285       Unimplemented;
 286       return null;
 287    end Unblocked_By;
 288 
 289    ------------------------
 290    -- Unignore_Interrupt --
 291    ------------------------
 292 
 293    procedure Unignore_Interrupt (Interrupt : Interrupt_ID) is
 294    begin
 295       Unimplemented;
 296    end Unignore_Interrupt;
 297 
 298    -------------------
 299    -- Unimplemented; --
 300    -------------------
 301 
 302    procedure Unimplemented is
 303    begin
 304       raise Program_Error with "interrupts/signals not implemented";
 305    end Unimplemented;
 306 
 307 end System.Interrupts;