GNAT.Sockets.Inet_Addr ("255.255.255.255") raises an socket error because inet_addr returns -1 which is the same as error indication.
I think there are two ways of resolving this problem: 1) Make a special case for "255.255.255.255" inside GNAT.Sockets.Inet_Addr and return Inet_Addr_Type'(Family_Inet, (others => 255)) in that case (the same should be done for the equivalent IPv6 case as well, I think). 2) I think there is no harm in making the Inet_Addr*Type types public in g-socket.ads so the address can be set directly without using GNAT.Sockets.Inet_Addr. -- Summary: IP address 255.255.255.255 cannot be set with GNAT.Sockets Product: gcc Version: 3.4.4 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sbellon at sbellon dot de CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20615