summaryrefslogtreecommitdiff
path: root/gcc/ada/dec-io.ads
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-02 14:08:34 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-02 14:08:34 +0000
commitee6ba406bdc83a0b016ec0099d84035d7fd26fd7 (patch)
tree133a71d6793865f2028234c0125afcfa4c7afc76 /gcc/ada/dec-io.ads
parent1fac938ee5fb71eb038b3b33e393a02d5ea33190 (diff)
downloadgcc-ee6ba406bdc83a0b016ec0099d84035d7fd26fd7.tar.gz
New Language: Ada
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45954 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/dec-io.ads')
-rw-r--r--gcc/ada/dec-io.ads125
1 files changed, 125 insertions, 0 deletions
diff --git a/gcc/ada/dec-io.ads b/gcc/ada/dec-io.ads
new file mode 100644
index 00000000000..ab1e6932747
--- /dev/null
+++ b/gcc/ada/dec-io.ads
@@ -0,0 +1,125 @@
+------------------------------------------------------------------------------
+-- --
+-- GNAT RUNTIME COMPONENTS --
+-- --
+-- D E C . I O --
+-- --
+-- S p e c --
+-- --
+-- $Revision: 1.2 $
+-- --
+-- Copyright (C) 1996-2001 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. --
+-- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- --
+------------------------------------------------------------------------------
+
+-- This is an AlphaVMS package that contains the declarations and
+-- function specifications needed by the DECLib IO packages.
+
+with System.Task_Primitives;
+package DEC.IO is
+private
+
+ type Exception_Number is (
+ GNAT_EN_LOCK_ERROR,
+ GNAT_EN_EXISTENCE_ERROR,
+ GNAT_EN_KEY_ERROR,
+ GNAT_EN_KEYSIZERR,
+ GNAT_EN_STAOVF,
+ GNAT_EN_CONSTRAINT_ERRO,
+ GNAT_EN_IOSYSFAILED,
+ GNAT_EN_LAYOUT_ERROR,
+ GNAT_EN_STORAGE_ERROR,
+ GNAT_EN_DATA_ERROR,
+ GNAT_EN_DEVICE_ERROR,
+ GNAT_EN_END_ERROR,
+ GNAT_EN_MODE_ERROR,
+ GNAT_EN_NAME_ERROR,
+ GNAT_EN_STATUS_ERROR,
+ GNAT_EN_NOT_OPEN,
+ GNAT_EN_ALREADY_OPEN,
+ GNAT_EN_USE_ERROR,
+ GNAT_EN_UNSUPPORTED,
+ GNAT_EN_FAC_MODE_MISMAT,
+ GNAT_EN_ORG_MISMATCH,
+ GNAT_EN_RFM_MISMATCH,
+ GNAT_EN_RAT_MISMATCH,
+ GNAT_EN_MRS_MISMATCH,
+ GNAT_EN_MRN_MISMATCH,
+ GNAT_EN_KEY_MISMATCH,
+ GNAT_EN_MAXLINEXC,
+ GNAT_EN_LINEXCMRS);
+
+ for Exception_Number'Size use 32;
+
+ for Exception_Number use (
+ GNAT_EN_LOCK_ERROR => 1,
+ GNAT_EN_EXISTENCE_ERROR => 2,
+ GNAT_EN_KEY_ERROR => 3,
+ GNAT_EN_KEYSIZERR => 4,
+ GNAT_EN_STAOVF => 5,
+ GNAT_EN_CONSTRAINT_ERRO => 6,
+ GNAT_EN_IOSYSFAILED => 7,
+ GNAT_EN_LAYOUT_ERROR => 8,
+ GNAT_EN_STORAGE_ERROR => 9,
+ GNAT_EN_DATA_ERROR => 10,
+ GNAT_EN_DEVICE_ERROR => 11,
+ GNAT_EN_END_ERROR => 12,
+ GNAT_EN_MODE_ERROR => 13,
+ GNAT_EN_NAME_ERROR => 14,
+ GNAT_EN_STATUS_ERROR => 15,
+ GNAT_EN_NOT_OPEN => 16,
+ GNAT_EN_ALREADY_OPEN => 17,
+ GNAT_EN_USE_ERROR => 18,
+ GNAT_EN_UNSUPPORTED => 19,
+ GNAT_EN_FAC_MODE_MISMAT => 20,
+ GNAT_EN_ORG_MISMATCH => 21,
+ GNAT_EN_RFM_MISMATCH => 22,
+ GNAT_EN_RAT_MISMATCH => 23,
+ GNAT_EN_MRS_MISMATCH => 24,
+ GNAT_EN_MRN_MISMATCH => 25,
+ GNAT_EN_KEY_MISMATCH => 26,
+ GNAT_EN_MAXLINEXC => 27,
+ GNAT_EN_LINEXCMRS => 28);
+
+ procedure Raise_IO_Exception (EN : Exception_Number);
+ pragma Export_Procedure (Raise_IO_Exception, "GNAT$RAISE_IO_EXCEPTION",
+ Mechanism => Value);
+
+ package IO_Locking is
+ type Access_Mutex is private;
+ function Create_Mutex return Access_Mutex;
+ procedure Acquire (M : Access_Mutex);
+ procedure Release (M : Access_Mutex);
+
+ private
+ type Access_Mutex is access System.Task_Primitives.RTS_Lock;
+ pragma Export_Function (Create_Mutex, "GNAT$CREATE_MUTEX",
+ Mechanism => Value);
+ pragma Export_Procedure (Acquire, "GNAT$ACQUIRE_MUTEX",
+ Mechanism => Value);
+ pragma Export_Procedure (Release, "GNAT$RELEASE_MUTEX",
+ Mechanism => Value);
+ end IO_Locking;
+
+end DEC.IO;