summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads')
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads155
1 files changed, 0 insertions, 155 deletions
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads
deleted file mode 100644
index 5c8db3e0ec..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads
+++ /dev/null
@@ -1,155 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S --
--- --
--- S p e c --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT 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 AdaSockets; 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. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Streams;
-with Interfaces.C;
-
-package Sockets is
-
- type Socket_FD is tagged private;
- -- A socket
-
- type Socket_Domain is (AF_INET);
- -- AF_INET: Internet sockets (yes, should be PF_INET, but they hold the
- -- same value)
-
- type Socket_Type is (SOCK_STREAM, SOCK_DGRAM);
- -- SOCK_STREAM: Stream mode (TCP)
- -- SOCK_DGRAM: Datagram mode (UDP, Multicast)
-
- procedure Socket
- (Sock : out Socket_FD;
- Domain : in Socket_Domain := AF_INET;
- Typ : in Socket_Type := SOCK_STREAM);
- -- Create a socket of the given mode
-
- Connection_Refused : exception;
-
- procedure Connect
- (Socket : in Socket_FD;
- Host : in String;
- Port : in Positive);
- -- Connect a socket on a given host/port. Raise Connection_Refused if
- -- the connection has not been accepted by the other end.
-
- procedure Bind
- (Socket : in Socket_FD;
- Port : in Positive);
- -- Bind a socket on a given port
-
- procedure Listen
- (Socket : in Socket_FD;
- Queue_Size : in Positive := 5);
- -- Create a socket's listen queue
-
- type Socket_Level is (SOL_SOCKET, IPPROTO_IP);
-
- type Socket_Option is (SO_REUSEADDR, IP_MULTICAST_TTL,
- IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP,
- IP_MULTICAST_LOOP);
-
- procedure Setsockopt
- (Socket : in Socket_FD'Class;
- Level : in Socket_Level := SOL_SOCKET;
- Optname : in Socket_Option;
- Optval : in Integer);
- -- Set a socket option
-
- generic
- Level : Socket_Level;
- Optname : Socket_Option;
- type Opt_Type is private;
- procedure Customized_Setsockopt (Socket : in Socket_FD'Class;
- Optval : in Opt_Type);
- -- Low level control on setsockopt
-
- procedure Accept_Socket (Socket : in Socket_FD;
- New_Socket : out Socket_FD);
- -- Accept a connection on a socket
-
- Connection_Closed : exception;
-
- procedure Send (Socket : in Socket_FD;
- Data : in Ada.Streams.Stream_Element_Array);
- -- Send data on a socket. Raise Connection_Closed if the socket
- -- has been closed.
-
- function Receive (Socket : Socket_FD;
- Max : Ada.Streams.Stream_Element_Count := 4096)
- return Ada.Streams.Stream_Element_Array;
- -- Receive data from a socket. May raise Connection_Closed
-
- procedure Receive (Socket : in Socket_FD'Class;
- Data : out Ada.Streams.Stream_Element_Array);
- -- Fill data from a socket. Raise Connection_Closed if the socket has
- -- been closed before the end of the array.
-
- type Shutdown_Type is (Receive, Send, Both);
-
- procedure Shutdown (Socket : in Socket_FD;
- How : in Shutdown_Type := Both);
- -- Close a previously opened socket
-
- ---------------------------------
- -- String-oriented subprograms --
- ---------------------------------
-
- procedure Put (Socket : in Socket_FD'Class;
- Str : in String);
- -- Send a string on the socket
-
- procedure New_Line (Socket : in Socket_FD'Class;
- Count : in Natural := 1);
- -- Send CR/LF sequences on the socket
-
- procedure Put_Line (Socket : in Socket_FD'Class;
- Str : in String);
- -- Send a string + CR/LF on the socket
-
- function Get (Socket : Socket_FD'Class) return String;
- -- Get a string from the socket
-
- function Get_Line (Socket : Socket_FD'Class) return String;
- -- Get a full line from the socket. CR is ignored and LF is considered
- -- as an end-of-line marker.
-
-private
-
- type Socket_FD is tagged record
- FD : Interfaces.C.int;
- end record;
-
-end Sockets;