summaryrefslogtreecommitdiff
path: root/ext/socket
AgeCommit message (Collapse)Author
2009-01-09 * ext/socket/mkconstants.rb: define macro if default_value is passed.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-08* ext/socket/socket.c (bsock_shutdown): accept symbol/string as how.akr
(shutdown_how_arg): new function. * ext/socket/mkconstants.rb: generate shutdown_how_to_int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-08* ext/socket/mkconstants.rb (gen_name_to_int_func): generateakr
name_to_int functions, not only body. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-08* ext/socket/socket.c: don't use AI_NUMERICSERV for platforms whichakr
not define it as old Windows. [ruby-dev:37736] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07* ext/socket/socket.c (init_unix_addrinfo): don't return a value.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07* ext/socket/socket.c (addrinfo_getnameinfo): use NI_DGRAM if socktypeakr
is SOCK_DGRAM. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07* ext/socket/socket.c (host_str): add flags_ptr argument to specifyakr
AI_NUMERICHOST if host is numeric form. (port_str): add flags_ptr argument to specify AI_NUMERICSERV if port is numeric form. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07* ext/socket/socket.c (rb_cAddrInfo): new class AddrInfo.akr
(s_recvfrom): return AddrInfo as address. (s_recvfrom_nonblock): ditto. (sock_accept): ditto. (sock_accept_nonblock): ditto. (sock_sysaccept): ditto. (bsock_send): accept AddrInfo as address argument. (sock_connect): ditto. (sock_connect_nonblock): ditto. (sock_bind): ditto. (sock_s_unpack_sockaddr_in): ditto. (sock_s_unpack_sockaddr_un): ditto. (bsock_local_address): new method BasicSocket#local_address. (bsock_remote_address): new method BasicSocket#remote_address. (addrinfo_initialize): new method AddrInfo#initialize. (addrinfo_inspect): new method AddrInfo#inspect. (addrinfo_afamily): new method AddrInfo#afamily. (addrinfo_pfamily): new method AddrInfo#pfamily. (addrinfo_socktype): new method AddrInfo#socktype. (addrinfo_protocol): new method AddrInfo#protocol. (addrinfo_to_sockaddr): new method AddrInfo#to_sockaddr. (addrinfo_canonname): new method AddrInfo#canonname. (addrinfo_ip_p): new method AddrInfo#ip?. (addrinfo_ipv4_p): new method AddrInfo#ipv4?. (addrinfo_ipv6_p): new method AddrInfo#ipv6?. (addrinfo_unix_p): new method AddrInfo#unix?. (addrinfo_getnameinfo): new method AddrInfo#getnameinfo. (addrinfo_s_getaddrinfo): new method AddrInfo.getaddrinfo. (addrinfo_s_tcp): new method AddrInfo.tcp. (addrinfo_s_udp): new method AddrInfo.udp. (addrinfo_s_unix): new method AddrInfo.unix. (Init_socket): define new class and methods. (sock_getaddrinfo): apply socktype hack regardless of ai_flags. (addrinfo_new): defined. (get_afamily): ditto. (fd_socket_addrinfo): ditto. (io_socket_addrinfo): ditto. (SockAddrStringValue): ditto. (SockAddrStringValuePtr): ditto. (sockaddr_string_value): ditto. (sockaddr_string_value_ptr): ditto. (rb_addrinfo_t): ditto. (addrinfo_mark): ditto. (addrinfo_free): ditto. (addrinfo_s_allocate): ditto. (IS_ADDRINFO): ditto. (check_addrinfo): ditto. (get_addrinfo): ditto. (alloc_addrinfo): ditto. (init_addrinfo): ditto. (addrinfo_new): ditto. (call_getaddrinfo): ditto. (init_addrinfo_getaddrinfo): ditto. (make_inspectname): ditto. (addrinfo_firstonly_new): ditto. (addrinfo_list_new): ditto. (init_unix_addrinfo): ditto. (ai_get_afamily): ditto. * ext/socket/mkconstants.rb: generate intern_protocol_family, intern_socktype and intern_ipproto. [ruby-dev:37692] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07* ext/socket/socket.c (ruby_getaddrinfo, ruby_getaddrinfo__aix):nobu
constified. * ext/socket/socket.c (ruby_getnameinfo__aix): protoized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-06* ext/socket/socket.c (io_call_close, io_close, pair_yield):nobu
unused unless socketpair exists. * ext/socket/getnameinfo.c (getnameinfo): moved conditinally used variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04* ext/socket/socket.c (rb_getaddrinfo): defined for address lookup without GVL.akr
(struct getaddrinfo_arg): defined. (nogvl_getaddrinfo): defined. (rb_getnameinfo): defined for name lookup without GVL. (getnameinfo_arg): defined. (nogvl_getnameinfo): defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04* ext/socket/socket.c (constant_arg): constified.nobu
* ext/socket/socket.c (optname_arg): cygwin does not have IPPROTO_IPV6. * ext/socket/mkconstants.rb (ipv6_optname_to_int): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-03* ext/socket/socket.c: redundant #ifdef removed.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/socket.c: don't apply socktype hack [ruby-core:184] forakr
sock_s_getaddrinfo. (sock_getaddrinfo): add socktype_hack argument. (sock_addrinfo): call sock_getaddrinfo with socktype_hack. (sock_s_getaddrinfo): call sock_getaddrinfo without socktype_hack. [ruby-dev:37674] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb: rename family_to_str to intern_family.akr
it returns ID now. * ext/socket/socket.c (ipaddr): use intern_family. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb: use ID in the values ofakr
family_to_str_hash. family_to_str returns a VALUE. * ext/socket/socket.c (ipaddr): follow family_to_str change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb: refactored to gather stringizerakr
description. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb: make common prefix optional.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb: use hash for family_to_str to avoidakr
linear search. lenp argument removed. * ext/socket/socket.c (ipaddr): call family_to_str without lenp argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb (gen_int_to_name): don't compare constantsakr
in preprocessor because the constants may be enum. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02* ext/socket/mkconstants.rb (gen_int_to_name): add lenp argument.akr
* ext/socket/socket.c (ipaddr): follow argument change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: check duplicates.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (optname_arg): defined.akr
(bsock_setsockopt): use optname_arg. (bsock_getsockopt): ditto. * ext/socket/mkconstants.rb: generate so_optname_to_int, ip_optname_to_int, ipv6_optname_to_int, tcp_optname_to_int and udp_optname_to_int. more constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (constant_arg): extracted from family_arg.akr
(family_arg): use constant_arg. (socktype_arg): ditto. (level_arg): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (level_arg): defined.akr
(bsock_setsockopt): use level_arg. (bsock_getsockopt): ditto. * ext/socket/mkconstants.rb: generate level_to_int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (family_arg): accept symbols as well.akr
(socktype_arg): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (sock_s_getaddrinfo): use socktype_arg.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (family_arg): extracted fromakr
setup_domain_and_type. (socktype_arg): ditto. (udp_init): use family_arg. (sock_s_gethostbyaddr): ditto. (sock_s_getaddrinfo): ditto. (sock_s_getnameinfo): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (sock_s_getnameinfo): use family_to_int.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: check all alias possibility. akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: more possible aliases.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: AF_ISO and AF_OSI may be aliased.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (sock_s_getaddrinfo): use family_to_int.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c: include constants.h at top.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: add valp argument for family_to_int andakr
socktype_to_int. * ext/socket/socket.c (setup_domain_and_type): use valp argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: generate family_to_str.akr
* ext/socket/socket.c (ipaddr): use family_to_str. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: generate socktype_to_int.akr
* ext/socket/socket.c (setup_domain_and_type): use socktype_to_int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/socket.c (setup_domain_and_type): initialize ptr.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: refine family_to_int.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: generate family_to_int().akr
* ext/socket/socket.c (setup_domain_and_type): use family_to_int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: generate init_constants function.akr
* ext/socket/socket.c (Init_socket): call init_constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb (Socket::AF_INET6): moved from socket.c.akr
(Socket::PF_INET6): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: use erb.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01* ext/socket/mkconstants.rb: add -o option.akr
* ext/socket/depend: use mkconstants.rb with -o option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31* ext/socket/socket.c (sock_s_socketpair): yield if a block is given.akr
(io_call_close): defined. (io_close): defined. (pair_yield): defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-30* ext/socket/mkconstants.rb: use sock_define_uconst for INADDR_*akr
constants because Socket::INADDR_LOOPBACK should be 0x7f000001 instead of -0xffffff. * ext/socket/socket.c (sock_define_uconst): defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29* ext/socket/socket.c (s_recvfrom_nonblock): revert r21162.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29* ext/socket/socket.c (s_recvfrom_nonblock): fixed awesome typo.matz
sorry. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29* ext/socket/socket.c (s_recvfrom_nonblock): default maxlen to bematz
65536. suggested by akr in [ruby-core:20918]. response to feature request #936 in [ruby-core:20917]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-17* ext/socket/socket.c (unix_recv_io): relax msg_controllen errorakr
check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e