summaryrefslogtreecommitdiffstats
path: root/ext/socket
Commit message (Collapse)AuthorAgeFilesLines
* revert useless change part in the previous commit.akr2009-02-031-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb: fix struct in_pktinfo and struct in6_pktinfoakr2009-02-031-4/+4
| | | | | | | | detection. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): skipakr2009-02-031-1/+5
| | | | | | | | socket creation error. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): newakr2009-02-031-19/+67
| | | | | | | | private function for allocating same port both IPv4 and IPv6. (Socket.tcp_server_sockets): use tcp_server_sockets_port0 for port 0. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/lib/socket.rb (Socket.tcp_server_sockets): extracted fromakr2009-02-021-43/+96
| | | | | | | | | | | Socket.tcp_server_loop. (Socket.accept_loop): ditto. (Socket.unix_server_socket): extracted from Socket.unix_server_loop. (Socket.unix_server_loop): use Socket.accept_loop. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb (in_pktinfo, in6_pktinfo),nobu2009-02-022-5/+13
| | | | | | | | ext/socket/ancdata.c: defined in w32api/ws2tcpip.h on cygwin but cannot compile for some reason. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc update.akr2009-02-021-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (Init_addrinfo): add AddrInfo#to_s as anakr2009-02-022-0/+3
| | | | | | | | | | | alias of AddrInfo#to_sockaddr. * ext/socket/option.c (Init_sockopt): add Socket::Option#to_s as an alias of Socket::Option#data. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (cmsg_type_to_sym): add #ifdef for no IPv6akr2009-02-021-0/+2
| | | | | | | | environment. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sock_initialize): make 3rd argument, protocol,akr2009-02-021-8/+14
| | | | | | | optional. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/constants.c (cmsg_type_arg): INET6 check.usa2009-02-021-0/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: use INET6 instead of IPV6.akr2009-02-021-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/{options,raddrinfo}.c: use INET6 instead of AF_INET6 forusa2009-02-022-2/+4
| | | | | | | | VC++6. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/rubysocket.h (cmsg_type_arg): declared.akr2009-02-027-0/+1127
| | | | | | | | | | | | | | | | | | | | | | (Init_ancdata): ditto. * ext/socket/init.c (Init_socket_init): call Init_ancdata. * ext/socket/constants.c (cmsg_type_arg): defined. * ext/socket/depend: add dependency for ancdata.o. * ext/socket/mkconstants.rb: generate scm_optname_to_int. more constants. * ext/socket/extconf.rb: add ancdata.o. * ext/socket/ancdata.c: new file. new method BasicSocket#{sendmsg,sendmsg_nonblock,recvmsg,recvmsg_nonblock} git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/rubysocket.h (rb_cSockOpt): declared.akr2009-02-027-3/+400
| | | | | | | | | | | | | | | | | | | | | | | (sockopt_new): ditto. (Init_sockopt): ditto. * ext/socket/init.c (Init_socket_init): call Init_sockopt. * ext/socket/depend: add dependency for option.o * ext/socket/mkconstants.rb: generate intern_level, intern_so_optname, intern_ip_optname, intern_ipv6_optname, intern_tcp_optname, intern_udp_optname and intern_scm_optname. * ext/socket/extconf.rb: add option.o. * ext/socket/basicsocket.c (bsock_setsockopt): accept Socket::Option object. (bsock_getsockopt): return Socket::Option object. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_ipv4_private_p): new method.akr2009-02-011-0/+58
| | | | | | | | (addrinfo_ipv4_loopback_p): ditto. (addrinfo_ipv4_multicast_p): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_ipv6_unspecified_p): new method.akr2009-01-311-3/+177
| | | | | | | | | | | | | | | | | (addrinfo_ipv6_loopback_p): ditto. (addrinfo_ipv6_multicast_p): ditto. (addrinfo_ipv6_linklocal_p): ditto. (addrinfo_ipv6_sitelocal_p): ditto. (addrinfo_ipv6_v4mapped_p): ditto. (addrinfo_ipv6_v4compat_p): ditto. (addrinfo_ipv6_mc_nodelocal_p): ditto. (addrinfo_ipv6_mc_linklocal_p): ditto. (addrinfo_ipv6_mc_sitelocal_p): ditto. (addrinfo_ipv6_mc_orglocal_p): ditto. (addrinfo_ipv6_mc_global_p): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/spclet.c (socket_s_ip_address_list): support Windows XPusa2009-01-292-2/+93
| | | | | | | | or later. (Win2k or earlier is still not supported) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/init.c (socks_connect_blocking): moved fromakr2009-01-272-10/+10
| | | | | | | | | | sockssocket.c. [ruby-dev:37834] * sockssocket.c (socks_init): don't omit "int" type. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (socket_s_ip_address_list): renamed fromakr2009-01-251-4/+4
| | | | | | | socket_s_list_ip_address. [ruby-dev:37806] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (socket_s_list_ip_address): constified.nobu2009-01-251-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb ($distcleanfiles): fixed typo.nobu2009-01-221-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb ($distcleanfiles): removes constdefs.[ch].nobu2009-01-221-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (socket_s_list_ip_address): new method.akr2009-01-204-1/+255
| | | | | | | | | | | | | | | | | (sockaddr_obj): new function. * ext/socket/rubysocket.h: include ifaddrs.h, sys/ioctl.h, sys/sockio.h, net/if.h if available. (addrinfo_new): declared. * ext/socket/raddrinfo.c (addrinfo_new): exported. * ext/socket/extconf.rb: check ifaddrs.h, sys/ioctl.h, sys/sockio.h, net/if.h and getifaddrs. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/rubysocket.h (pseudo_AF_FTIP): moved from mkconstants.rb.akr2009-01-202-4/+16
| | | | | | | | * ext/socket/mkconstants.rb: prepend header if -H is not given. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb (SOMAXCONN): defined.akr2009-01-191-0/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb: use erb for generating code.akr2009-01-191-7/+10
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/rubysocket.h (rb_cUNIXSocket, rb_cUNIXServer),nobu2009-01-191-1/+3
| | | | | | | (unixpath, unixaddr): UNIX domain sockets depend on sys/un.h. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_ip_port): use AF_INET6 only whennobu2009-01-191-2/+10
| | | | | | | defined, as well as addrinfo_ipv6_p(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/depend: workaround for nmake. files in depend withoutusa2009-01-191-2/+2
| | | | | | | | | paths should converted by RULE_SUBST, but mkmf.rb cannot recognize macros currently. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_mdump, addrinfo_mload): supportusa2009-01-192-6/+10
| | | | | | | | UNIX socket only on platforms which support it. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_inspect_sockaddr): newakr2009-01-181-16/+44
| | | | | | | | | | method AddrInfo#inspect_sockaddr. (inspect_sockaddr): extracted from addrinfo_inspect. (addrinfo_inspect): use inspect_sockaddr. (Init_addrinfo): define the new method. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_ip_address): new methodakr2009-01-181-0/+66
| | | | | | | | | AddrInfo#ip_address. (addrinfo_ip_port): new method AddrInfo#ip_port. (Init_addrinfo): define the methods above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/unixsocket.c: redandant #ifdef removed.akr2009-01-181-4/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_mdump): don't use symbol.akr2009-01-171-21/+12
| | | | | | | (addrinfo_mload): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (addrinfo_mdump): new method.akr2009-01-174-10/+204
| | | | | | | | | | | | | | | | | | | | (addrinfo_mload): new method. (Init_addrinfo): define the method above. * ext/socket/constants.c (constant_arg): str_to_int's first argument constified. * ext/socket/mkconstants.rb (gen_name_to_int_decl): generated function's first argument constified. (gen_name_to_int_func_in_guard): ditto. (ipproto_to_int): generated. * ext/socket/rubysocket.h (IS_IP_FAMILY): moved from raddrinfo.c. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sock_s_getnameinfo): accept AddrInfo object.akr2009-01-173-1/+10
| | | | | | | | | | * ext/socket/raddrinfo.c (rb_check_sockaddr_string_type): defined. * ext/socket/rubysocket.h (rb_check_sockaddr_string_type): declared. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc update.akr2009-01-171-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/lib/socket.rb: new file.akr2009-01-171-0/+373
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb: generate a header file for generatedakr2009-01-174-28/+62
| | | | | | | | | | | | | | | functions. * ext/socket/rubysocket.h: include constdefs.h. don't declare generated functions. * ext/socket/constants.c: include constdefs.c instead of constants.h. * ext/socket/depend: dependency updated. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (make_inspectname): add a res argument toakr2009-01-171-5/+25
| | | | | | | | | | | suppress numeric inspectname. (init_addrinfo_getaddrinfo): call make_inspectname here. (addrinfo_firstonly_new): follow make_inspectname change. (addrinfo_list_new): ditto. (addrinfo_initialize): follow init_addrinfo_getaddrinfo change. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb: don't cause an error for duplicate names.akr2009-01-171-1/+5
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc update.akr2009-01-171-1/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket: split files for each class.akr2009-01-1716-4207/+4530
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ext/socket/rubysocket.h: common header. * ext/socket/basicsocket.c: new file for BasicSocket. * ext/socket/ipsocket.c: new file for IPSocket. * ext/socket/tcpsocket.c: new file for TCPSocket. * ext/socket/tcpserver.c: new file for TCPServer. * ext/socket/sockssocket.c: new file for SOCKSSocket. * ext/socket/udpsocket.c: new file for UDPSocket. * ext/socket/unixsocket.c: new file for UNIXSocket. * ext/socket/unixserver.c: new file for UNIXServer. * ext/socket/socket.c: now for Socket. * ext/socket/raddrinfo.c: new file for AddrInfo and name resolution. * ext/socket/constants.c: new file for constants. * ext/socket/init.c: new file for utilities. * ext/socket/mkconstants.rb: export *_to_int. * ext/socket/extconf.rb: add new object files. * ext/socket/depend: add dependencies for new files. * ext/.document: add new files. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c: move addrinfo code.akr2009-01-161-1026/+1030
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (addrinfo_s_ip): new method AddrInfo.ip.akr2009-01-151-2/+24
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb (gai_strerror): checks if available and ifnobu2009-01-142-2/+18
| | | | | | | | | | returns const pointer. * ext/socket/getaddrinfo.c (gai_strerror): defines only if non available. [ruby-core:21328] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/addrinfo.h (AI_NUMERICSERV): defined.akr2009-01-132-1/+5
| | | | | | | | | | (AI_MASK): add AI_NUMERICSERV. * ext/socket/getaddrinfo.c (getaddrinfo): support AI_NUMERICSERV. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (rb_getaddrinfo): use getaddrinfo with GVL ifakr2009-01-132-0/+13
| | | | | | | | | | | | | getaddrinfo.c/getnameinfo.c is used. They are not thread safe because gethostbyname/gethostbyaddr is used. (rb_getnameinfo): ditto. * extconf.rb: define GETADDRINFO_EMU if getaddrinfo.c/getnameinfo.c is used. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/{getaddrinfo,getnameinfo}.c: need to include ws2tcpip.husa2009-01-132-0/+2
| | | | | | | | on Windows. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e