OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [ada/] [acats/] [support/] [f954a00.a] - Diff between revs 294 and 338

Only display areas with differences | Details | Blame | View Log

Rev 294 Rev 338
-- F954A00.A
-- F954A00.A
--
--
--
--
--                             Grant of Unlimited Rights
--                             Grant of Unlimited Rights
--
--
--     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--     F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
--     F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
--     unlimited rights in the software and documentation contained herein.
--     unlimited rights in the software and documentation contained herein.
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
--     this public release, the Government intends to confer upon all
--     this public release, the Government intends to confer upon all
--     recipients unlimited rights  equal to those held by the Government.
--     recipients unlimited rights  equal to those held by the Government.
--     These rights include rights to use, duplicate, release or disclose the
--     These rights include rights to use, duplicate, release or disclose the
--     released technical data and computer software in whole or in part, in
--     released technical data and computer software in whole or in part, in
--     any manner and for any purpose whatsoever, and to have or permit others
--     any manner and for any purpose whatsoever, and to have or permit others
--     to do so.
--     to do so.
--
--
--                                    DISCLAIMER
--                                    DISCLAIMER
--
--
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--     PARTICULAR PURPOSE OF SAID MATERIAL.
--     PARTICULAR PURPOSE OF SAID MATERIAL.
--*
--*
--
--
-- OBJECTIVE:
-- OBJECTIVE:
--      This file contains foundation code for tests covering the requeue
--      This file contains foundation code for tests covering the requeue
--      statement.
--      statement.
--
--
-- TEST DESCRIPTION:
-- TEST DESCRIPTION:
--      See prologues of specific tests.
--      See prologues of specific tests.
--
--
-- CHANGE HISTORY:
-- CHANGE HISTORY:
--      06 Dec 94   SAIC    ACVC 2.0
--      06 Dec 94   SAIC    ACVC 2.0
--
--
--!
--!
package F954A00 is  -- Printer device abstraction.
package F954A00 is  -- Printer device abstraction.
   -- Model a printer device driver as a protected type. A printer remains
   -- Model a printer device driver as a protected type. A printer remains
   -- unavailable while data is printing. The printer generates an interrupt
   -- unavailable while data is printing. The printer generates an interrupt
   -- when printing is complete, after which the printer is again made
   -- when printing is complete, after which the printer is again made
   -- available.
   -- available.
   type Printers_Info is tagged record
   type Printers_Info is tagged record
      Some_Info : Integer;
      Some_Info : Integer;
   end record;
   end record;
               --==============================================--
               --==============================================--
   protected type Printers is   -- Device driver for printer.
   protected type Printers is   -- Device driver for printer.
      procedure Start_Printing (File_Name : String);  -- Begin printing on
      procedure Start_Printing (File_Name : String);  -- Begin printing on
                                                      -- printer.
                                                      -- printer.
      procedure Handle_Interrupt;                     -- Handle interrupt from
      procedure Handle_Interrupt;                     -- Handle interrupt from
                                                      -- printer.
                                                      -- printer.
      entry Done_Printing;                            -- Wait until printer is
      entry Done_Printing;                            -- Wait until printer is
                                                      -- done.
                                                      -- done.
      function Available return Boolean;              -- Return value of Ready.
      function Available return Boolean;              -- Return value of Ready.
      function Is_Done return Boolean;                -- Return value of Done.
      function Is_Done return Boolean;                -- Return value of Done.
   private
   private
      Ready : Boolean := True;                        -- Entry barrier.
      Ready : Boolean := True;                        -- Entry barrier.
      Done  : Boolean := True;                        -- Testing flag.
      Done  : Boolean := True;                        -- Testing flag.
   end Printers;
   end Printers;
               --==============================================--
               --==============================================--
   Number_Of_Printers : constant := 2;
   Number_Of_Printers : constant := 2;
   type Printer_ID is range 1 .. Number_Of_Printers;
   type Printer_ID is range 1 .. Number_Of_Printers;
   type Printer_Array is array (Printer_ID) of Printers;
   type Printer_Array is array (Printer_ID) of Printers;
   type Info_Array    is array (Printer_ID) of Printers_Info;
   type Info_Array    is array (Printer_ID) of Printers_Info;
   Printer       : Printer_Array;
   Printer       : Printer_Array;
   Printer_Info  : constant Info_Array  := ( (Some_Info => 1),
   Printer_Info  : constant Info_Array  := ( (Some_Info => 1),
                                             (Some_Info => 2) );
                                             (Some_Info => 2) );
end F954A00;
end F954A00;
     --==================================================================--
     --==================================================================--
package body F954A00 is  -- Printer server abstraction.
package body F954A00 is  -- Printer server abstraction.
   protected body Printers is
   protected body Printers is
      procedure Start_Printing (File_Name : String) is
      procedure Start_Printing (File_Name : String) is
      begin
      begin
         Ready := False;                              -- Block other requests
         Ready := False;                              -- Block other requests
         Done  := False;                              -- for this printer
         Done  := False;                              -- for this printer
         -- Send data to the printer...               -- and begin printing.
         -- Send data to the printer...               -- and begin printing.
      end Start_Printing;
      end Start_Printing;
      -- Set the "not ready" one-shot
      -- Set the "not ready" one-shot
      entry Done_Printing when Ready is               -- Callers wait here
      entry Done_Printing when Ready is               -- Callers wait here
      begin                                           -- until printing is
      begin                                           -- until printing is
         Done := True;                                -- done (signaled by a
         Done := True;                                -- done (signaled by a
      end Done_Printing;                              -- printer interrupt).
      end Done_Printing;                              -- printer interrupt).
      procedure Handle_Interrupt is                   -- Called when the
      procedure Handle_Interrupt is                   -- Called when the
      begin                                           -- printer interrupts,
      begin                                           -- printer interrupts,
         Ready := True;                               -- indicating that
         Ready := True;                               -- indicating that
      end Handle_Interrupt;                           -- printing is done.
      end Handle_Interrupt;                           -- printing is done.
      function Available return Boolean is            -- Artifice for test
      function Available return Boolean is            -- Artifice for test
      begin                                           -- purposes: checks
      begin                                           -- purposes: checks
         return (Ready);                              -- whether printer is
         return (Ready);                              -- whether printer is
      end Available;                                  -- still printing.
      end Available;                                  -- still printing.
      function Is_Done return Boolean is              -- Artifice for test
      function Is_Done return Boolean is              -- Artifice for test
      begin                                           -- purposes: checks
      begin                                           -- purposes: checks
         return (Done);                               -- whether Done_Printing
         return (Done);                               -- whether Done_Printing
      end Is_Done;                                    -- entry was executed.
      end Is_Done;                                    -- entry was executed.
   end Printers;
   end Printers;
end F954A00;
end F954A00;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.