diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-09 13:56:43 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-09 13:56:43 +0000 |
commit | f5da7031b91426f362e8ec2101bf794976ecc590 (patch) | |
tree | 4d360cb11fc6daa19f831c1a30baecad4351515a /ext/socket/constants.c | |
parent | 2092fbcc3ad4437f066dc79a64a80236afcbdf50 (diff) | |
download | ruby-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.c | 18 |
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); } } |