Ruby
2.4.2p198(2017-09-14revision59899)
|
#include "rubysocket.h"
Go to the source code of this file.
Macros | |
#define | rsock_sock_s_socketpair rb_f_notimplement |
#define | sock_gethostname rb_f_notimplement |
#define | socket_s_ip_address_list rb_f_notimplement |
Variables | |
static VALUE | sym_wait_writable |
#define rsock_sock_s_socketpair rb_f_notimplement |
Definition at line 308 of file socket.c.
Referenced by Init_socket(), and sock_initialize().
#define sock_gethostname rb_f_notimplement |
Definition at line 932 of file socket.c.
Referenced by Init_socket(), and sock_sysaccept().
#define socket_s_ip_address_list rb_f_notimplement |
Definition at line 1899 of file socket.c.
Referenced by Init_socket(), and sock_s_unpack_sockaddr_in().
void Init_socket | ( | void | ) |
Definition at line 1903 of file socket.c.
References ID2SYM, rb_cBasicSocket, rb_cSocket, rb_define_class(), rb_define_method(), rb_define_private_method(), rb_define_singleton_method(), rb_intern, rsock_init_basicsocket(), rsock_init_socket_init(), rsock_sock_listen(), rsock_sock_s_socketpair, sock_accept(), sock_accept_nonblock(), sock_bind(), sock_connect(), sock_connect_nonblock(), sock_gethostname, sock_initialize(), sock_recvfrom(), sock_recvfrom_nonblock(), sock_s_getaddrinfo(), sock_s_gethostbyaddr(), sock_s_gethostbyname(), sock_s_getnameinfo(), sock_s_getservbyname(), sock_s_getservbyport(), sock_s_pack_sockaddr_in(), sock_s_unpack_sockaddr_in(), sock_sysaccept(), socket_s_ip_address_list, and sym_wait_writable.
|
static |
Definition at line 937 of file socket.c.
References rb_addrinfo::ai, addrinfo::ai_addr, addrinfo::ai_addrlen, addrinfo::ai_canonname, addrinfo::ai_family, addrinfo::ai_next, addrinfo::ai_protocol, addrinfo::ai_socktype, INT2FIX, NULL, RARRAY_ASET, rb_ary_new(), rb_ary_push(), rb_eSocket, rb_raise(), rb_str_new2, and rsock_ipaddr().
Referenced by sock_s_getaddrinfo().
Definition at line 644 of file socket.c.
References rb_io_t::fd, GetOpenFile, INT2FIX, NUM2INT, and rb_sys_fail().
Referenced by Init_socket(), rsock_init_tcpserver(), and rsock_init_unixserver().
Definition at line 18 of file socket.c.
References errno, and rsock_syserr_fail_host_port().
Referenced by udp_bind(), udp_connect(), and udp_send().
Definition at line 35 of file socket.c.
References errno, and rsock_syserr_fail_path().
Referenced by bsock_getsockopt(), and bsock_setsockopt().
Definition at line 71 of file socket.c.
References errno, and rsock_syserr_fail_raddrinfo().
Definition at line 88 of file socket.c.
References errno, and rsock_syserr_fail_raddrinfo_or_sockaddr().
Referenced by sock_bind(), and sock_connect().
Definition at line 55 of file socket.c.
References errno, and rsock_syserr_fail_sockaddr().
Definition at line 24 of file socket.c.
References PRIsVALUE, rb_sprintf(), and rb_syserr_fail_str().
Referenced by init_inetsock_internal(), and rsock_sys_fail_host_port().
Definition at line 41 of file socket.c.
References PRIsVALUE, rb_sprintf(), rb_syserr_fail(), rb_syserr_fail_str(), RB_TYPE_P, and T_STRING.
Referenced by rsock_sys_fail_path().
Definition at line 77 of file socket.c.
References PRIsVALUE, rb_sprintf(), rb_syserr_fail_str(), and rsock_addrinfo_inspect_sockaddr().
Referenced by rsock_sys_fail_raddrinfo(), rsock_syserr_fail_raddrinfo_or_sockaddr(), and rsock_syserr_fail_sockaddr().
Definition at line 94 of file socket.c.
References NIL_P, rsock_syserr_fail_raddrinfo(), rsock_syserr_fail_sockaddr(), RSTRING_LEN, RSTRING_PTR, and StringValue.
Referenced by rsock_sys_fail_raddrinfo_or_sockaddr(), and sock_connect_nonblock().
void rsock_syserr_fail_sockaddr | ( | int | err, |
const char * | mesg, | ||
struct sockaddr * | addr, | ||
socklen_t | len | ||
) |
Definition at line 61 of file socket.c.
References PF_UNSPEC, Qnil, rsock_addrinfo_new(), and rsock_syserr_fail_raddrinfo().
Referenced by rsock_sys_fail_sockaddr(), and rsock_syserr_fail_raddrinfo_or_sockaddr().
Definition at line 108 of file socket.c.
References rsock_family_arg(), and rsock_socktype_arg().
Referenced by sock_initialize().
Definition at line 790 of file socket.c.
References union_sockaddr::addr, buf, rb_io_t::fd, GetOpenFile, len, rb_assoc_new(), rb_cSocket, rsock_io_socket_addrinfo(), and rsock_s_accept().
Referenced by Init_socket().
Definition at line 805 of file socket.c.
References union_sockaddr::addr, buf, GetOpenFile, len, rb_assoc_new(), rb_cSocket, rsock_io_socket_addrinfo(), rsock_s_accept_nonblock(), and SYMBOL_P.
Referenced by Init_socket().
Definition at line 560 of file socket.c.
References rb_io_t::fd, GetOpenFile, INT2FIX, rsock_sys_fail_raddrinfo_or_sockaddr(), RSTRING_PTR, RSTRING_SOCKLEN, and SockAddrStringValueWithAddrinfo.
Referenced by Init_socket().
Definition at line 423 of file socket.c.
References rb_io_t::fd, GetOpenFile, INT2FIX, rb_str_new4, rsock_connect(), rsock_sys_fail_raddrinfo_or_sockaddr(), RSTRING_PTR, RSTRING_SOCKLEN, and SockAddrStringValueWithAddrinfo.
Referenced by Init_socket().
Definition at line 443 of file socket.c.
References EINPROGRESS, EISCONN, errno, rb_io_t::fd, GetOpenFile, INT2FIX, Qfalse, rb_io_set_nonblock(), RB_IO_WAIT_WRITABLE, rb_readwrite_syserr_fail(), rb_str_new4, rsock_syserr_fail_raddrinfo_or_sockaddr(), RSTRING_PTR, RSTRING_SOCKLEN, SockAddrStringValueWithAddrinfo, and sym_wait_writable.
Referenced by Init_socket().
Definition at line 133 of file socket.c.
References argc, argv, errno, INT2FIX, io_call_close(), io_close(), NIL_P, NUM2INT, rb_ary_entry(), rb_assoc_new(), rb_block_given_p(), rb_ensure(), rb_fd_fix_cloexec(), rb_funcallv, rb_gc_for_fd(), rb_intern, rb_maygvl_fd_fix_cloexec(), rb_obj_alloc(), rb_rescue(), rb_scan_args(), rb_sys_fail(), rb_update_max_fd(), rb_yield(), rsock_detect_cloexec(), rsock_init_sock(), rsock_sock_s_socketpair, rsock_socket(), setup_domain_and_type(), and socketpair().
Referenced by Init_socket().
Definition at line 763 of file socket.c.
References RECV_SOCKET, and rsock_s_recvfrom().
Referenced by Init_socket().
|
static |
Definition at line 770 of file socket.c.
References RECV_SOCKET, and rsock_s_recvfrom_nonblock().
Referenced by Init_socket().
Definition at line 1167 of file socket.c.
References addrinfo::ai_family, addrinfo::ai_flags, addrinfo::ai_protocol, addrinfo::ai_socktype, make_addrinfo(), MEMZERO, NIL_P, NUM2INT, PF_UNSPEC, rb_freeaddrinfo(), rb_scan_args(), rsock_do_not_reverse_lookup, rsock_family_arg(), rsock_getaddrinfo(), rsock_revlookup_flag(), and rsock_socktype_arg().
Referenced by Init_socket().
Definition at line 1009 of file socket.c.
References INT2NUM, names, NIL_P, NULL, rb_ary_new(), rb_ary_push(), rb_eSocket, rb_raise(), rb_scan_args(), rb_str_new(), rb_str_new2, rsock_family_arg(), RSTRING_LEN, RSTRING_PTR, RSTRING_SOCKLEN, and StringValue.
Referenced by Init_socket().
Definition at line 992 of file socket.c.
References AF_UNSPEC, AI_CANONNAME, Qnil, rsock_addrinfo(), rsock_make_hostent(), and sock_sockaddr().
Referenced by Init_socket().
Definition at line 1221 of file socket.c.
References union_sockaddr::addr, rb_addrinfo::ai, addrinfo::ai_addr, addrinfo::ai_addrlen, addrinfo::ai_family, addrinfo::ai_flags, addrinfo::ai_next, AI_NUMERICHOST, addrinfo::ai_socktype, errno, FIXNUM_P, memcpy, MEMZERO, NI_DGRAM, NIL_P, NULL, NUM2INT, NUM2LONG, PF_UNSPEC, Qnil, RARRAY_AREF, RARRAY_LEN, rb_assoc_new(), rb_check_array_type(), rb_check_sockaddr_string_type(), rb_eArgError, rb_eSocket, rb_eTypeError, rb_freeaddrinfo(), rb_getaddrinfo(), rb_getnameinfo(), rb_raise(), rb_scan_args(), rb_str_new2, rsock_family_arg(), rsock_raise_socket_error(), RSTRING_LEN, RSTRING_PTR, RSTRING_SOCKLEN, snprintf, StringValuePtr, UNREACHABLE, and VALIDATE_SOCKLEN.
Referenced by Init_socket().
Definition at line 1071 of file socket.c.
References INT2FIX, NIL_P, proto, rb_eSocket, rb_raise(), rb_scan_args(), StringValue, StringValueCStr, and STRTOUL.
Referenced by Init_socket().
Definition at line 1112 of file socket.c.
References NIL_P, NUM2LONG, proto, rb_eRangeError, rb_eSocket, rb_raise(), rb_scan_args(), rb_tainted_str_new2, and StringValueCStr.
Referenced by Init_socket().
Definition at line 1372 of file socket.c.
References AF_UNSPEC, rb_addrinfo::ai, addrinfo::ai_addr, addrinfo::ai_addrlen, OBJ_INFECT, rb_freeaddrinfo(), rb_str_new(), and rsock_addrinfo().
Referenced by Init_socket().
Definition at line 1398 of file socket.c.
References AF_UNSPEC, ALLOCA_N, buf, errno, freeifaddrs(), getifaddrs(), ifaddrs::ifa_addr, ifaddrs::ifa_name, ifaddrs::ifa_next, INT2NUM, ioctl(), IS_IP_FAMILY, len, list, memcpy, Next, NULL, OBJ_INFECT, offsetof, PRIuSIZE, Qnil, rb_ary_new(), rb_ary_push(), rb_assoc_new(), rb_eArgError, rb_eTypeError, rb_notimplement(), rb_raise(), rb_str_new(), rb_sys_fail(), rb_syserr_fail(), rb_w32_map_errno(), rsock_addrinfo_new(), rsock_make_ipaddr(), rsock_sockaddr_len(), rsock_sockaddr_obj(), RSTRING_LEN, RSTRING_PTR, RSTRING_SOCKLEN, SockAddrStringValuePtr, socket_s_ip_address_list, StringValue, ULONG(), xfree(), xmalloc, and xrealloc.
Referenced by Init_socket().
Definition at line 960 of file socket.c.
References rb_eSocket, rb_raise(), and rb_str_new().
Referenced by sock_s_gethostbyname().
Definition at line 860 of file socket.c.
References union_sockaddr::addr, buf, errno, rb_io_t::fd, GetOpenFile, len, name, rb_assoc_new(), rb_str_modify_expand(), rb_str_new(), rb_str_new2, rb_str_resize(), rb_syserr_fail(), rsock_io_socket_addrinfo(), rsock_s_accept(), RSTRING_PTR, sock_gethostname, and strlen().
Referenced by Init_socket().
|
static |
Definition at line 13 of file socket.c.
Referenced by Init_socket(), and sock_connect_nonblock().