OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [ada/] [s-osinte-os2.ads] - Rev 20

Go to most recent revision | Compare with Previous | Blame | View Log

------------------------------------------------------------------------------
--                                                                          --
--                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
--                                                                          --
--                   S Y S T E M . O S _ I N T E R F A C E                  --
--                                                                          --
--                                  S p e c                                 --
--                                                                          --
--             Copyright (C) 1991-1994, Florida State University            --
--             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
--                                                                          --
-- GNARL is free software; you can  redistribute it  and/or modify it under --
-- terms of the  GNU General Public License as published  by the Free Soft- --
-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
-- sion. GNARL is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
-- for  more details.  You should have  received  a copy of the GNU General --
-- Public License  distributed with GNARL; see file COPYING.  If not, write --
-- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
-- Boston, MA 02110-1301, USA.                                              --
--                                                                          --
-- As a special exception,  if other files  instantiate  generics from this --
-- unit, or you link  this unit with other files  to produce an executable, --
-- this  unit  does not  by itself cause  the resulting  executable  to  be --
-- covered  by the  GNU  General  Public  License.  This exception does not --
-- however invalidate  any other reasons why  the executable file  might be --
-- covered by the  GNU Public License.                                      --
--                                                                          --
-- GNARL was developed by the GNARL team at Florida State University.       --
-- Extensive contributions were provided by Ada Core Technologies, Inc.     --
--                                                                          --
------------------------------------------------------------------------------
 
--  This is the OS/2 version of this package
 
--  This package encapsulates all direct interfaces to OS services
--  that are needed by children of System.
 
--  PLEASE DO NOT add any with-clauses to this package or remove the pragma
--  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
with Interfaces.C;
 
package System.OS_Interface is
   pragma Preelaborate;
 
   package C renames Interfaces.C;
 
   subtype int            is C.int;
   subtype unsigned_long  is C.unsigned_long;
 
   type Duration_In_Millisec is new C.long;
   --  New type to prevent confusing time functions in this package
   --  with time functions returning seconds or other units.
 
   type Thread_Id is new unsigned_long;
 
   -----------
   -- Errno --
   -----------
 
   function errno return int;
   pragma Import (C, errno, "__get_errno");
 
   EAGAIN   : constant := 5;
   EINTR    : constant := 13;
   EINVAL   : constant := 14;
   ENOMEM   : constant := 25;
 
   -------------
   -- Signals --
   -------------
 
   Max_Interrupt : constant := 15;
   type Signal is new int range 0 .. Max_Interrupt;
 
   --  Signals for OS/2, only SIGTERM used currently. The values are
   --  fake, since OS/2 uses 32 bit exception numbers that cannot be
   --  used to index arrays etc. The GNULLI maps these Unix-like signals
   --  to OS/2 exception numbers.
 
   --  SIGTERM is used for the abort interrupt.
 
   SIGHUP     : constant := 1;  --  hangup
   SIGINT     : constant := 2;  --  interrupt (rubout)
   SIGQUIT    : constant := 3;  --  quit (ASCD FS)
   SIGILL     : constant := 4;  --  illegal instruction (not reset)
   SIGTRAP    : constant := 5;  --  trace trap (not reset)
   SIGIOT     : constant := 6;  --  IOT instruction
   SIGEMT     : constant := 0;  --  EMT instruction
   SIGFPE     : constant := 8;  --  floating point exception
   SIGKILL    : constant := 9;  --  kill (cannot be caught or ignored)
   SIGBUS     : constant := 10; --  bus error
   SIGSEGV    : constant := 11; --  segmentation violation
   SIGSYS     : constant := 12; --  bad argument to system call
   SIGPIPE    : constant := 13; --  write on a pipe with no one to read it
   SIGALRM    : constant := 14; --  alarm clock
   SIGTERM    : constant := 15; --  software termination signal from kill
 
   subtype sigset_t is unsigned_long;
 
   ----------
   -- Time --
   ----------
 
   function Clock return Duration;
   pragma Inline (Clock);
   --  Clock measuring time since the epoch, which is the boot-time.
   --  The clock resolution is approximately 838 ns.
 
   procedure Delay_For (Period : in Duration_In_Millisec);
   pragma Inline (Delay_For);
   --  Changed Sleep to Delay_For, for consistency with System.Time_Operations
 
   ----------------
   -- Scheduling --
   ----------------
 
   --  Put the calling task at the end of the ready queue for its priority
 
   procedure Yield;
   pragma Inline (Yield);
 
end System.OS_Interface;
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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