X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Fada%2Fi-os2syn.ads;fp=gcc%2Fada%2Fi-os2syn.ads;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=ae5c016e2a92817437678930ae24ee3dfaf1f0da;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/ada/i-os2syn.ads b/gcc/ada/i-os2syn.ads deleted file mode 100644 index ae5c016e..00000000 --- a/gcc/ada/i-os2syn.ads +++ /dev/null @@ -1,269 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT COMPILER COMPONENTS -- --- -- --- I N T E R F A C E S . O S 2 L I B . S Y N C H R O N I Z A T I O N -- --- -- --- S p e c -- --- -- --- $Revision: 1.1.16.2 $ --- -- --- Copyright (C) 1993-1998 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.OS2Lib.Threads; - -package Interfaces.OS2Lib.Synchronization is -pragma Preelaborate (Synchronization); - - package IC renames Interfaces.C; - package IOT renames Interfaces.OS2Lib.Threads; - package S renames System; - - -- Semaphore Attributes - - DC_SEM_SHARED : constant := 16#01#; - -- DosCreateMutex, DosCreateEvent, and DosCreateMuxWait use it to indicate - -- whether the semaphore is shared or private when the PSZ is null - - SEM_INDEFINITE_WAIT : constant ULONG := -1; - SEM_IMMEDIATE_RETURN : constant ULONG := 0; - - type HSEM is new LHANDLE; - type PHSEM is access all HSEM; - - type SEMRECORD is record - hsemCur : HSEM; - ulUser : ULONG; - end record; - - type PSEMRECORD is access all SEMRECORD; - - -- Quad word structure - - -- Originally QWORD is defined as a record containing two ULONGS, - -- the first containing low word and the second for the high word, - -- but it is cleaner to define it as follows: - - type QWORD is delta 1.0 range -2.0**63 .. 2.0**63 - 1.0; - type PQWORD is access all QWORD; - - type HEV is new HSEM; - type PHEV is access all HEV; - - type HMTX is new HSEM; - type PHMTX is access all HMTX; - - type HMUX is new HSEM; - type PHMUX is access all HMUX; - - type HTIMER is new LHANDLE; - type PHTIMER is access all HTIMER; - - ----------------------- - -- Critical sections -- - ----------------------- - - function DosEnterCritSec return APIRET; - pragma Import (C, DosEnterCritSec, "DosEnterCritSec"); - - function DosExitCritSec return APIRET; - pragma Import (C, DosExitCritSec, "DosExitCritSec"); - - -------------- - -- EventSem -- - -------------- - - function DosCreateEventSem - (pszName : PSZ; - f_phev : PHEV; - flAttr : ULONG; - fState : BOOL32) - return APIRET; - pragma Import (C, DosCreateEventSem, "DosCreateEventSem"); - - function DosOpenEventSem - (pszName : PSZ; - F_phev : PHEV) - return APIRET; - pragma Import (C, DosOpenEventSem, "DosOpenEventSem"); - - function DosCloseEventSem - (F_hev : HEV) - return APIRET; - pragma Import (C, DosCloseEventSem, "DosCloseEventSem"); - - function DosResetEventSem - (F_hev : HEV; - pulPostCt : PULONG) - return APIRET; - pragma Import (C, DosResetEventSem, "DosResetEventSem"); - - function DosPostEventSem - (F_hev : HEV) - return APIRET; - pragma Import (C, DosPostEventSem, "DosPostEventSem"); - - function DosWaitEventSem - (F_hev : HEV; - ulTimeout : ULONG) - return APIRET; - pragma Import (C, DosWaitEventSem, "DosWaitEventSem"); - - function DosQueryEventSem - (F_hev : HEV; - pulPostCt : PULONG) - return APIRET; - pragma Import (C, DosQueryEventSem, "DosQueryEventSem"); - - -------------- - -- MutexSem -- - -------------- - - function DosCreateMutexSem - (pszName : PSZ; - F_phmtx : PHMTX; - flAttr : ULONG; - fState : BOOL32) - return APIRET; - pragma Import (C, DosCreateMutexSem, "DosCreateMutexSem"); - - function DosOpenMutexSem - (pszName : PSZ; - F_phmtx : PHMTX) - return APIRET; - pragma Import (C, DosOpenMutexSem, "DosOpenMutexSem"); - - function DosCloseMutexSem - (F_hmtx : HMTX) - return APIRET; - pragma Import (C, DosCloseMutexSem, "DosCloseMutexSem"); - - function DosRequestMutexSem - (F_hmtx : HMTX; - ulTimeout : ULONG) - return APIRET; - pragma Import (C, DosRequestMutexSem, "DosRequestMutexSem"); - - function DosReleaseMutexSem - (F_hmtx : HMTX) - return APIRET; - pragma Import (C, DosReleaseMutexSem, "DosReleaseMutexSem"); - - function DosQueryMutexSem - (F_hmtx : HMTX; - F_ppid : IOT.PPID; - F_ptid : IOT.PTID; - pulCount : PULONG) - return APIRET; - pragma Import (C, DosQueryMutexSem, "DosQueryMutexSem"); - - ---------------- - -- MuxWaitSem -- - ---------------- - - function DosCreateMuxWaitSem - (pszName : PSZ; - F_phmux : PHMUX; - cSemRec : ULONG; - pSemRec : PSEMRECORD; - flAttr : ULONG) - return APIRET; - pragma Import (C, DosCreateMuxWaitSem, "DosCreateMuxWaitSem"); - - DCMW_WAIT_ANY : constant := 16#02#; -- wait on any event/mutex to occur - DCMW_WAIT_ALL : constant := 16#04#; -- wait on all events/mutexes to occur - -- Values for "flAttr" parameter in DosCreateMuxWaitSem call - - function DosOpenMuxWaitSem - (pszName : PSZ; - F_phmux : PHMUX) - return APIRET; - pragma Import (C, DosOpenMuxWaitSem, "DosOpenMuxWaitSem"); - - function DosCloseMuxWaitSem - (F_hmux : HMUX) - return APIRET; - pragma Import (C, DosCloseMuxWaitSem, "DosCloseMuxWaitSem"); - - function DosWaitMuxWaitSem - (F_hmux : HMUX; - ulTimeout : ULONG; - pulUser : PULONG) - return APIRET; - pragma Import (C, DosWaitMuxWaitSem, "DosWaitMuxWaitSem"); - - function DosAddMuxWaitSem - (F_hmux : HMUX; - pSemRec : PSEMRECORD) - return APIRET; - pragma Import (C, DosAddMuxWaitSem, "DosAddMuxWaitSem"); - - function DosDeleteMuxWaitSem - (F_hmux : HMUX; - F_hsem : HSEM) - return APIRET; - pragma Import (C, DosDeleteMuxWaitSem, "DosDeleteMuxWaitSem"); - - function DosQueryMuxWaitSem - (F_hmux : HMUX; - pcSemRec : PULONG; - pSemRec : PSEMRECORD; - pflAttr : PULONG) - return APIRET; - pragma Import (C, DosQueryMuxWaitSem, "DosQueryMuxWaitSem"); - - ----------- - -- Timer -- - ----------- - - function DosAsyncTimer - (msec : ULONG; - F_hsem : HSEM; - F_phtimer : PHTIMER) - return APIRET; - pragma Import (C, DosAsyncTimer, "DosAsyncTimer"); - - function DosStartTimer - (msec : ULONG; - F_hsem : HSEM; - F_phtimer : PHTIMER) - return APIRET; - pragma Import (C, DosStartTimer, "DosStartTimer"); - - function DosStopTimer - (F_htimer : HTIMER) - return APIRET; - pragma Import (C, DosStopTimer, "DosStopTimer"); - - -- DosTmrQueryTime provides a snapshot of the time - -- from the IRQ0 high resolution timer (Intel 8254) - - function DosTmrQueryTime - (pqwTmrTime : access QWORD) -- Time in 8254 ticks (1_192_755.2 Hz) - return APIRET; - pragma Import (C, DosTmrQueryTime, "DosTmrQueryTime"); - -end Interfaces.OS2Lib.Synchronization;