Make sure the most common IPPROTO_* constants are always available.
authorGisle Aas <gisle@activestate.com>
Wed, 18 Jan 2006 11:57:07 +0000 (11:57 +0000)
committerGisle Aas <gisle@activestate.com>
Wed, 18 Jan 2006 11:57:07 +0000 (11:57 +0000)
These are well known numbers so it should not be a problem to
hardcode values when no constant is provided by the C library.
Ref <http://www.iana.org/assignments/protocol-numbers>.

On some old glibc systems (eg Redhat 6) IPPROTO_TCP is an enum only
and this change workaround that problem as well.

p4raw-id: //depot/perl@26897

ext/Socket/Makefile.PL

index 485b456..073c3db 100644 (file)
@@ -15,7 +15,7 @@ my @names = (qw(AF_802 AF_AAL AF_APPLETALK AF_CCITT AF_CHAOS AF_CTF
                AF_LAST AF_LAT AF_LINK AF_MAX AF_NBS AF_NIT AF_NS
                AF_OSI AF_OSINET AF_PUP AF_ROUTE AF_SNA
                AF_UNIX AF_UNSPEC AF_USER AF_WAN AF_X25
-               IOV_MAX IPPROTO_TCP
+               IOV_MAX
                MSG_BCAST MSG_BTAG MSG_CTLFLAGS MSG_CTLIGNORE MSG_DONTWAIT
                MSG_EOF MSG_EOR MSG_ERRQUEUE MSG_ETAG MSG_FIN
                MSG_MAXIOVLEN MSG_MCAST MSG_NOSIGNAL MSG_RST MSG_SYN
@@ -45,6 +45,9 @@ my @names = (qw(AF_802 AF_AAL AF_APPLETALK AF_CCITT AF_CHAOS AF_CTF
                TCP_KEEPALIVE TCP_MAXRT TCP_MAXSEG TCP_NODELAY TCP_STDURG
                UIO_MAXIOV
                ),
+            {name=>"IPPROTO_ICMP", type=>"IV", default=>["IV", 1]},
+            {name=>"IPPROTO_TCP",  type=>"IV", default=>["IV", 6]},
+            {name=>"IPPROTO_UDP",  type=>"IV", default=>["IV", 17]},
             {name=>"SHUT_RD", type=>"IV", default=>["IV", "0"]},
             {name=>"SHUT_WR", type=>"IV", default=>["IV", "1"]},
             {name=>"SHUT_RDWR", type=>"IV", default=>["IV", "2"]},