]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/ada/i-os2thr.ads
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / ada / i-os2thr.ads
diff --git a/gcc/ada/i-os2thr.ads b/gcc/ada/i-os2thr.ads
deleted file mode 100644 (file)
index d64f657..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                         GNAT COMPILER COMPONENTS                         --
---                                                                          --
---             I N T E R F A C E S . O S 2 L I B . T H R E A D S            --
---                                                                          --
---                                  S p e c                                 --
---                                                                          --
---                             $Revision: 1.1.16.2 $
---                                                                          --
---          Copyright (C) 1993-1997 Free Software Foundation, Inc.          --
---                                                                          --
--- GNAT 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.  GNAT 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 GNAT;  see file COPYING.  If not, write --
--- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
--- MA 02111-1307, 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.                                      --
---                                                                          --
--- GNAT was originally developed  by the GNAT team at  New York University. --
--- Extensive contributions were provided by Ada Core Technologies Inc.      --
---                                                                          --
-------------------------------------------------------------------------------
-
-with Interfaces.C;
-
-package Interfaces.OS2Lib.Threads is
-pragma Preelaborate (Threads);
-
-   package IC renames Interfaces.C;
-
-   type PID is new IC.unsigned_long;
-   type PPID is access all PID;
-   --  Process ID, and pointer to process ID
-
-   type TID is new IC.unsigned_long;
-   type PTID is access all TID;
-   --  Thread ID, and pointer to thread ID
-
-   -------------------------------------------------------------
-   -- Thread Creation, Activation, Suspension And Termination --
-   -------------------------------------------------------------
-
-   --  Note: <bsedos.h> defines the "Informations" and "param" parameter below
-   --  as a ULONG, but everyone knows that in general an address will be passed
-   --  to it. We declared it here with type PVOID (which it should have had)
-   --  because Ada is a bit more sensitive to mixing integers and addresses.
-
-   type PFNTHREAD is access procedure (Informations : System.Address);
-   --  TBSL should use PVOID instead of Address as per above node ???
-
-   function DosCreateThread
-     (F_ptid  : PTID;
-      pfn     : PFNTHREAD;
-      param   : PVOID;
-      flag    : ULONG;
-      cbStack : ULONG)
-      return    APIRET;
-   pragma Import (C, DosCreateThread, "DosCreateThread");
-
-   Block_Child     : constant := 1;
-   No_Block_Child  : constant := 0;
-   Commit_Stack    : constant := 2;
-   No_Commit_Stack : constant := 0;
-   --  Values for "flag" parameter in DosCreateThread call
-
-   procedure DosExit (Action : ULONG; Result : ULONG);
-   pragma Import (C, DosExit, "DosExit");
-
-   EXIT_THREAD  : constant := 0;
-   EXIT_PROCESS : constant := 1;
-   --  Values for "Action" parameter in Dos_Exit call
-
-   function DosResumeThread (Id : TID) return APIRET;
-   pragma Import (C, DosResumeThread, "DosResumeThread");
-
-   function DosSuspendThread (Id : TID) return APIRET;
-   pragma Import (C, DosSuspendThread, "DosSuspendThread");
-
-   procedure DosWaitThread (Thread_Ptr : PTID; Option : ULONG);
-   pragma Import (C, DosWaitThread, "DosWaitThread");
-
-   function DosKillThread (Id : TID) return APIRET;
-   pragma Import (C, DosKillThread, "DosKillThread");
-
-
-   DCWW_WAIT   : constant := 0;
-   DCWW_NOWAIT : constant := 1;
-   --  Values for "Option" parameter in DosWaitThread call
-
-   ---------------------------------------------------
-   -- Accessing properties of Threads and Processes --
-   ---------------------------------------------------
-
-   --  Structures translated from BSETIB.H
-
-   --  Thread Information Block (TIB)
-   --  Need documentation clarifying distinction between TIB, TIB2 ???
-
-   --  GB970409: Changed TIB2 structure, because the tib2_ulprio field
-   --            is not the actual priority but contains two byte fields
-   --            that hold the priority class and rank respectively.
-   --            A proper Ada style record with explicit representation
-   --            avoids this kind of errors.
-
-   type TIB2 is record
-      Thread_ID           : TID;
-      Prio_Rank           : UCHAR;
-      Prio_Class          : UCHAR;
-      Version             : ULONG;  -- Version number for this structure
-      Must_Complete_Count : USHORT; -- Must Complete count
-      Must_Complete_Force : USHORT; -- Must Complete force flag
-   end record;
-
-   type PTIB2 is access all TIB2;
-
-   --  Thread Information Block (TIB)
-
-   type TIB is record
-      tib_pexchain      : PVOID;  -- Head of exception handler chain
-      tib_pstack        : PVOID;  -- Pointer to base of stack
-      tib_pstacklimit   : PVOID;  -- Pointer to end of stack
-      System            : PTIB2;  -- Pointer to system specific TIB
-      tib_version       : ULONG;  -- Version number for this TIB structure
-      tib_ordinal       : ULONG;  -- Thread ordinal number
-   end record;
-
-   type PTIB is access all TIB;
-
-   --  Process Information Block (PIB)
-
-   type PIB is record
-      pib_ulpid         : ULONG;   -- Process I.D.
-      pib_ulppid        : ULONG;   -- Parent process I.D.
-      pib_hmte          : ULONG;   -- Program (.EXE) module handle
-      pib_pchcmd        : PCHAR;   -- Command line pointer
-      pib_pchenv        : PCHAR;   -- Environment pointer
-      pib_flstatus      : ULONG;   -- Process' status bits
-      pib_ultype        : ULONG;   -- Process' type code
-   end record;
-
-   type PPIB is access all PIB;
-
-   function DosGetInfoBlocks
-     (Pptib : access PTIB;
-      Pppib : access PPIB)
-      return  APIRET;
-   pragma Import (C, DosGetInfoBlocks, "DosGetInfoBlocks");
-
-   --  Thread local memory
-
-   --  This function allocates a block of memory that is unique, or local, to
-   --  a thread.
-
-   function DosAllocThreadLocalMemory
-     (cb : ULONG;               -- Number of 4-byte DWORDs to allocate
-      p  : access PVOID)        -- Address of the memory block
-   return
-      APIRET;                   -- Return Code (rc)
-   pragma Import
-     (Convention => C,
-      Entity     => DosAllocThreadLocalMemory,
-      Link_Name  => "_DosAllocThreadLocalMemory");
-
-   -----------------
-   --  Priorities --
-   -----------------
-
-   function DosSetPriority
-     (Scope   : ULONG;
-      Class   : ULONG;
-      Delta_P : IC.long;
-      PorTid  : TID)
-      return    APIRET;
-   pragma Import (C, DosSetPriority, "DosSetPriority");
-
-   PRTYS_PROCESS     : constant := 0;
-   PRTYS_PROCESSTREE : constant := 1;
-   PRTYS_THREAD      : constant := 2;
-   --  Values for "Scope" parameter in DosSetPriority call
-
-   PRTYC_NOCHANGE         : constant := 0;
-   PRTYC_IDLETIME         : constant := 1;
-   PRTYC_REGULAR          : constant := 2;
-   PRTYC_TIMECRITICAL     : constant := 3;
-   PRTYC_FOREGROUNDSERVER : constant := 4;
-   --  Values for "class" parameter in DosSetPriority call
-
-end Interfaces.OS2Lib.Threads;