summaryrefslogtreecommitdiff
path: root/ext/socket
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-25 08:10:14 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-25 08:10:14 +0000
commit4e8fbe17787fe3d46431087f791ed443b1010e19 (patch)
tree23ae15e50f541be515f8c972c749fd25877d26c5 /ext/socket
parent526b12964f5ff09e671a2faf69bc6ca69db8bb54 (diff)
* ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state,
but it is a dummy. * ext/socket/option.c: Solaris 11 doesn't have u_intN_t. * ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec. * ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have related macros. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket')
-rw-r--r--ext/socket/extconf.rb4
-rw-r--r--ext/socket/option.c10
-rw-r--r--ext/socket/raddrinfo.c2
3 files changed, 9 insertions, 7 deletions
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb
index 931ff99..9a6af8b 100644
--- a/ext/socket/extconf.rb
+++ b/ext/socket/extconf.rb
@@ -384,7 +384,9 @@ if have_type("struct tcp_info", headers)
have_const("TCP_LISTEN", headers)
have_const("TCP_CLOSING", headers)
have_struct_member('struct tcp_info', 'tcpi_state', headers)
- have_struct_member('struct tcp_info', 'tcpi_ca_state', headers)
+ if /solaris/ !~ RUBY_PLATFORM
+ have_struct_member('struct tcp_info', 'tcpi_ca_state', headers)
+ end
have_struct_member('struct tcp_info', 'tcpi_retransmits', headers)
have_struct_member('struct tcp_info', 'tcpi_probes', headers)
have_struct_member('struct tcp_info', 'tcpi_backoff', headers)
diff --git a/ext/socket/option.c b/ext/socket/option.c
index 98f0ddc..b00ffb9 100644
--- a/ext/socket/option.c
+++ b/ext/socket/option.c
@@ -883,14 +883,14 @@ inspect_ipv6_mreq(int level, int optname, VALUE data, VALUE ret)
#endif
static void
-inspect_tcpi_options(VALUE ret, u_int8_t options)
+inspect_tcpi_options(VALUE ret, uint8_t options)
{
int sep = '=';
rb_str_cat2(ret, " options");
#define INSPECT_TCPI_OPTION(optval, name) \
if (options & (optval)) { \
- options &= ~(u_int8_t)(optval); \
+ options &= ~(uint8_t)(optval); \
rb_str_catf(ret, "%c%s", sep, name); \
sep = ','; \
}
@@ -923,14 +923,14 @@ inspect_tcpi_options(VALUE ret, u_int8_t options)
}
static void
-inspect_tcpi_usec(VALUE ret, const char *prefix, u_int32_t t)
+inspect_tcpi_usec(VALUE ret, const char *prefix, uint32_t t)
{
rb_str_catf(ret, "%s%u.%06us", prefix, t / 1000000, t % 1000000);
}
-#ifdef __linux__
+#if defined(__linux__) || defined(__sun)
static void
-inspect_tcpi_msec(VALUE ret, const char *prefix, u_int32_t t)
+inspect_tcpi_msec(VALUE ret, const char *prefix, uint32_t t)
{
rb_str_catf(ret, "%s%u.%03us", prefix, t / 1000, t % 1000);
}
diff --git a/ext/socket/raddrinfo.c b/ext/socket/raddrinfo.c
index e13684a..ac36743 100644
--- a/ext/socket/raddrinfo.c
+++ b/ext/socket/raddrinfo.c
@@ -1210,7 +1210,7 @@ rsock_inspect_sockaddr(struct sockaddr *sockaddr_arg, socklen_t socklen, VALUE r
}
#endif
-#ifdef AF_PACKET
+#if defined(AF_PACKET) && defined(__linux__)
/* GNU/Linux */
case AF_PACKET:
{