Socket IPPROTO_TCP [PATCH 5.005_5x]
Joshua Pritikin [Tue, 11 May 1999 11:10:13 +0000 (07:10 -0400)]
Message-ID: <Pine.GSO.4.02.9905111106460.1418-100000@eq1062.wks.na.deuba.com>

p4raw-id: //depot/perl@3391

ext/Socket/Socket.pm
ext/Socket/Socket.xs

index 1654b16..a0bb95d 100644 (file)
@@ -1,7 +1,7 @@
 package Socket;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-$VERSION = "1.7";
+$VERSION = "1.71";
 
 =head1 NAME
 
@@ -272,7 +272,14 @@ require DynaLoader;
        UIO_MAXIOV
 );
 
-@EXPORT_OK = qw(CR LF CRLF $CR $LF $CRLF);
+@EXPORT_OK = qw(CR LF CRLF $CR $LF $CRLF
+
+              IPPROTO_TCP
+              TCP_KEEPALIVE
+              TCP_MAXRT
+              TCP_MAXSEG
+              TCP_NODELAY
+              TCP_STDURG);
 
 %EXPORT_TAGS = (
     crlf    => [qw(CR LF CRLF $CR $LF $CRLF)],
index 4a8d876..5182587 100644 (file)
@@ -26,6 +26,8 @@
 #include "sockadapt.h"
 #endif
 
+#include <netinet/tcp.h>
+
 #ifdef I_SYSUIO
 # include <sys/uio.h>
 #endif
@@ -332,6 +334,12 @@ constant(char *name, int arg)
 #else
            goto not_there;
 #endif
+       if (strEQ(name, "IPPROTO_TCP"))
+#ifdef IPPROTO_TCP
+           return IPPROTO_TCP;
+#else
+           goto not_there;
+#endif
        break;
     case 'J':
        break;
@@ -804,6 +812,36 @@ constant(char *name, int arg)
 #endif
        break;
     case 'T':
+       if (strEQ(name, "TCP_KEEPALIVE"))
+#ifdef TCP_KEEPALIVE
+           return TCP_KEEPALIVE;
+#else
+           goto not_there;
+#endif
+       if (strEQ(name, "TCP_MAXRT"))
+#ifdef TCP_MAXRT
+           return TCP_MAXRT;
+#else
+           goto not_there;
+#endif
+       if (strEQ(name, "TCP_MAXSEG"))
+#ifdef TCP_MAXSEG
+           return TCP_MAXSEG;
+#else
+           goto not_there;
+#endif
+       if (strEQ(name, "TCP_NODELAY"))
+#ifdef TCP_NODELAY
+           return TCP_NODELAY;
+#else
+           goto not_there;
+#endif
+       if (strEQ(name, "TCP_STDURG"))
+#ifdef TCP_STDURG
+           return TCP_STDURG;
+#else
+           goto not_there;
+#endif
        break;
     case 'U':
        if (strEQ(name, "UIO_MAXIOV"))