[Ada] GNAT.Sockets: add support for RAW sockets
authorDmitriy Anisimkov <anisimko@adacore.com>
Thu, 11 Jul 2019 08:02:26 +0000 (08:02 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 11 Jul 2019 08:02:26 +0000 (08:02 +0000)
2019-07-11  Dmitriy Anisimkov  <anisimko@adacore.com>

gcc/ada/

* libgnat/g-socket.ads (Mode_Type): Add a Socket_Raw enumerator.
* libgnat/g-socket.adb (Modes): Handle Socket_Raw.

From-SVN: r273393

gcc/ada/ChangeLog
gcc/ada/libgnat/g-socket.adb
gcc/ada/libgnat/g-socket.ads

index b51a3ccba7aab362bf614e264e479e2af8735429..e20d10cb525446edc9f91c68ce38ed540e179cdb 100644 (file)
@@ -1,3 +1,8 @@
+2019-07-11  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-socket.ads (Mode_Type): Add a Socket_Raw enumerator.
+       * libgnat/g-socket.adb (Modes): Handle Socket_Raw.
+
 2019-07-11  Justin Squirek  <squirek@adacore.com>
 
        * exp_ch9.adb (Build_Private_Protected_Declaration): Add
index 2c9b8c76afd93fce934b3ae5dd66f73024d19ee6..689389f9cc885ec94ac5fc15dac4c02cb4f095fa 100644 (file)
@@ -77,7 +77,8 @@ package body GNAT.Sockets is
 
    Modes : constant array (Mode_Type) of C.int :=
              (Socket_Stream   => SOSC.SOCK_STREAM,
-              Socket_Datagram => SOSC.SOCK_DGRAM);
+              Socket_Datagram => SOSC.SOCK_DGRAM,
+              Socket_Raw      => SOSC.SOCK_RAW);
 
    Shutmodes : constant array (Shutmode_Type) of C.int :=
                  (Shut_Read       => SOSC.SHUT_RD,
index 6db3c5422a926bf1b58fe4db82502abb7225f5d7..342577a4ae3888d5230686fcd9bce1b40c5ff3ff 100644 (file)
@@ -475,16 +475,17 @@ package GNAT.Sockets is
    --  The order of the enumeration elements should not be changed unilaterally
    --  because the IPv6_TCP_Preferred routine rely on it.
 
-   type Mode_Type is (Socket_Stream, Socket_Datagram);
+   type Mode_Type is (Socket_Stream, Socket_Datagram, Socket_Raw);
    --  Stream sockets provide connection-oriented byte streams. Datagram
-   --  sockets support unreliable connectionless message based communication.
+   --  sockets support unreliable connectionless message-based communication.
+   --  Raw sockets provide raw network-protocol access.
    --  The order of the enumeration elements should not be changed unilaterally
-   --  because the IPv6_TCP_Preferred routine rely on it.
+   --  because the IPv6_TCP_Preferred routine relies on it.
 
    type Shutmode_Type is (Shut_Read, Shut_Write, Shut_Read_Write);
    --  When a process closes a socket, the policy is to retain any data queued
    --  until either a delivery or a timeout expiration (in this case, the data
-   --  are discarded). A finer control is available through shutdown. With
+   --  are discarded). Finer control is available through shutdown. With
    --  Shut_Read, no more data can be received from the socket. With_Write, no
    --  more data can be transmitted. Neither transmission nor reception can be
    --  performed with Shut_Read_Write.