summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJoshua Pritikin <joshua.pritikin@db.com>1999-05-11 07:10:13 -0400
committerGurusamy Sarathy <gsar@cpan.org>1999-05-11 16:32:05 +0000
commit1494e794755363d23b7bca66c4a024ccc839e963 (patch)
tree524db0f8d0a121dd0727b59a64d964f5a898e4b9 /ext
parent0d0c0d42fe2aa4166c71f4cca8101e39e114387b (diff)
downloadperl-1494e794755363d23b7bca66c4a024ccc839e963.tar.gz
Socket IPPROTO_TCP [PATCH 5.005_5x]
Message-ID: <Pine.GSO.4.02.9905111106460.1418-100000@eq1062.wks.na.deuba.com> p4raw-id: //depot/perl@3391
Diffstat (limited to 'ext')
-rw-r--r--ext/Socket/Socket.pm11
-rw-r--r--ext/Socket/Socket.xs38
2 files changed, 47 insertions, 2 deletions
diff --git a/ext/Socket/Socket.pm b/ext/Socket/Socket.pm
index 1654b164bb..a0bb95d6e4 100644
--- a/ext/Socket/Socket.pm
+++ b/ext/Socket/Socket.pm
@@ -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)],
diff --git a/ext/Socket/Socket.xs b/ext/Socket/Socket.xs
index 4a8d8765c9..51825871b7 100644
--- a/ext/Socket/Socket.xs
+++ b/ext/Socket/Socket.xs
@@ -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"))