diff options
author | Thomas Quinot <quinot@adacore.com> | 2009-11-30 09:31:28 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-11-30 10:31:28 +0100 |
commit | 5da0f2d96bbf59c8fe666d9e7c3a2983e3003f8a (patch) | |
tree | 9a67a2e2419bf357e4dd63ff87001bddf3abf00f /gcc/ada/s-commun.ads | |
parent | 948bf10686a16b92f8c413bb3f1440f0f770b087 (diff) | |
download | gcc-5da0f2d96bbf59c8fe666d9e7c3a2983e3003f8a.zip gcc-5da0f2d96bbf59c8fe666d9e7c3a2983e3003f8a.tar.gz gcc-5da0f2d96bbf59c8fe666d9e7c3a2983e3003f8a.tar.bz2 |
s-commun.adb, [...]: New internal support unit...
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-commun.adb, s-commun.ads: New internal support unit,
allowing code sharing between GNAT.Sockets and
GNAT.Serial_Communication.
* g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
(GNAT.Serial_Communication.Read): Handle correctly the case where no
data was read, and Buffer'First = Stream_Element_Offset'First.
* Makefile.rtl: Add entry for s-commun
* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
Reimplement in terms of System.CRTL.strerror.
From-SVN: r154758
Diffstat (limited to 'gcc/ada/s-commun.ads')
-rw-r--r-- | gcc/ada/s-commun.ads | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gcc/ada/s-commun.ads b/gcc/ada/s-commun.ads new file mode 100644 index 0000000..84f6665 --- /dev/null +++ b/gcc/ada/s-commun.ads @@ -0,0 +1,51 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT COMPILER COMPONENTS -- +-- -- +-- S Y S T E M . C O M M U N I C A T I O N -- +-- -- +-- S p e c -- +-- -- +-- Copyright (C) 2001-2009, AdaCore -- +-- -- +-- 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 3, 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. -- +-- -- +-- As a special exception under Section 7 of GPL version 3, you are granted -- +-- additional permissions described in the GCC Runtime Library Exception, -- +-- version 3.1, as published by the Free Software Foundation. -- +-- -- +-- You should have received a copy of the GNU General Public License and -- +-- a copy of the GCC Runtime Library Exception along with this program; -- +-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- +-- <http://www.gnu.org/licenses/>. -- +-- -- +-- GNAT was originally developed by the GNAT team at New York University. -- +-- Extensive contributions were provided by Ada Core Technologies Inc. -- +-- -- +------------------------------------------------------------------------------ + +-- Common support unit for GNAT.Sockets and GNAT.Serial_Communication + +with Ada.Streams; +with Interfaces.C; + +package System.Communication is + + package C renames Interfaces.C; + + use type C.int; + + function Last_Index + (First : Ada.Streams.Stream_Element_Offset; + Count : C.int) return Ada.Streams.Stream_Element_Offset; + -- Compute the Last OUT parameter for the various Read / Receive + -- subprograms: returns First + Count - 1, except for the case + -- where First = Stream_Element_Offset'First and Res = 0, in which + -- case Stream_Element_Offset'Last is returned instead. + +end System.Communication; |