120 for (res = res0->
ai; res; res = res->
ai_next) {
166 if (argc == 2 || argc == 3) {
176 for (res = res0->
ai; res; res = res->
ai_next) {
static VALUE udp_send(int argc, VALUE *argv, VALUE sock)
VALUE rsock_sendto_blocking(void *data)
VALUE rsock_init_sock(VALUE sock, int fd)
#define GetOpenFile(obj, fp)
static VALUE udp_bind(VALUE sock, VALUE host, VALUE port)
static VALUE udp_connect_internal(struct udp_arg *arg)
static VALUE udp_connect(VALUE sock, VALUE host, VALUE port)
VALUE rsock_bsock_send(int argc, VALUE *argv, VALUE sock)
void rb_freeaddrinfo(struct rb_addrinfo *ai)
struct rb_addrinfo * rsock_addrinfo(VALUE host, VALUE port, int socktype, int flags)
static VALUE udp_recvfrom_nonblock(int argc, VALUE *argv, VALUE sock)
static VALUE udp_init(int argc, VALUE *argv, VALUE sock)
int rsock_family_arg(VALUE domain)
int rsock_socket(int domain, int type, int proto)
VALUE rb_define_class(const char *name, VALUE super)
Defines a top-level class.
int rb_io_wait_writable(int)
VALUE rsock_freeaddrinfo(VALUE arg)
int rb_scan_args(int argc, const VALUE *argv, const char *fmt,...)
void rsock_init_udpsocket(void)
void rsock_sys_fail_host_port(const char *mesg, VALUE host, VALUE port)
VALUE rb_ensure(VALUE(*b_proc)(ANYARGS), VALUE data1, VALUE(*e_proc)(ANYARGS), VALUE data2)
void rb_sys_fail(const char *mesg)
int rsock_connect(int fd, const struct sockaddr *sockaddr, int len, int socks)
struct addrinfo * ai_next
VALUE rsock_s_recvfrom_nonblock(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
void rb_define_method(VALUE klass, const char *name, VALUE(*func)(ANYARGS), int argc)
int rb_thread_fd_writable(int)
struct sockaddr * ai_addr
#define BLOCKING_REGION_FD(func, arg)