aboutsummaryrefslogtreecommitdiffstats
path: root/ext/socket/constants.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-09 13:56:43 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-09 13:56:43 +0000
commitf5da7031b91426f362e8ec2101bf794976ecc590 (patch)
tree4d360cb11fc6daa19f831c1a30baecad4351515a /ext/socket/constants.c
parent2092fbcc3ad4437f066dc79a64a80236afcbdf50 (diff)
downloadruby-f5da7031b91426f362e8ec2101bf794976ecc590.tar.gz
* ext/socket/rubysocket.h (level_arg): add family argument.
(optname_arg): ditto. (cmsg_type_arg): ditto. (rb_sock_getfamily): declared. * ext/socket/constants.c (level_arg): add family argument. (optname_arg): ditto. (cmsg_type_arg): ditto. * ext/socket/init.c (rb_sock_getfamily): defined. * ext/socket/option.c (sockopt_initialize): give family for level_arg and optname_arg. (sockopt_s_int): ditto. * ext/socket/basicsocket.c (bsock_setsockopt): ditto. (bsock_getsockopt): ditto. * ext/socket/ancdata.c (ancillary_initialize): ditto. (ancillary_s_int): ditto. (ancillary_cmsg_is_p): ditto. (bsock_sendmsg_internal): ditto. (bsock_recvmsg_internal): use rb_sock_getfamily. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket/constants.c')
-rw-r--r--ext/socket/constants.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/ext/socket/constants.c b/ext/socket/constants.c
index bb817e70d9..3b7906f890 100644
--- a/ext/socket/constants.c
+++ b/ext/socket/constants.c
@@ -58,14 +58,14 @@ socktype_arg(VALUE type)
}
int
-level_arg(VALUE level)
+level_arg(int family, VALUE level)
{
/* convert SOL_SOCKET, IPPROTO_TCP, etc. */
return constant_arg(level, level_to_int, "unknown protocol level");
}
int
-optname_arg(int level, VALUE optname)
+optname_arg(int family, int level, VALUE optname)
{
switch (level) {
case SOL_SOCKET:
@@ -93,23 +93,23 @@ shutdown_how_arg(VALUE how)
}
int
-cmsg_type_arg(int level, VALUE optname)
+cmsg_type_arg(int family, int level, VALUE type)
{
switch (level) {
case SOL_SOCKET:
- return constant_arg(optname, scm_optname_to_int, "unknown UNIX control message");
+ return constant_arg(type, scm_optname_to_int, "unknown UNIX control message");
case IPPROTO_IP:
- return constant_arg(optname, ip_optname_to_int, "unknown IP control message");
+ return constant_arg(type, ip_optname_to_int, "unknown IP control message");
#ifdef INET6
case IPPROTO_IPV6:
- return constant_arg(optname, ipv6_optname_to_int, "unknown IPv6 control message");
+ return constant_arg(type, ipv6_optname_to_int, "unknown IPv6 control message");
#endif
case IPPROTO_TCP:
- return constant_arg(optname, tcp_optname_to_int, "unknown TCP control message");
+ return constant_arg(type, tcp_optname_to_int, "unknown TCP control message");
case IPPROTO_UDP:
- return constant_arg(optname, udp_optname_to_int, "unknown UDP control message");
+ return constant_arg(type, udp_optname_to_int, "unknown UDP control message");
default:
- return NUM2INT(optname);
+ return NUM2INT(type);
}
}