Ruby  2.4.2p198(2017-09-14revision59899)
Macros | Functions | Variables
socket.c File Reference
#include "rubysocket.h"
Include dependency graph for socket.c:

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
 

Functions

static VALUE sock_s_unpack_sockaddr_in (VALUE, VALUE)
 
void rsock_sys_fail_host_port (const char *mesg, VALUE host, VALUE port)
 
void rsock_syserr_fail_host_port (int err, const char *mesg, VALUE host, VALUE port)
 
void rsock_sys_fail_path (const char *mesg, VALUE path)
 
void rsock_syserr_fail_path (int err, const char *mesg, VALUE path)
 
void rsock_sys_fail_sockaddr (const char *mesg, struct sockaddr *addr, socklen_t len)
 
void rsock_syserr_fail_sockaddr (int err, const char *mesg, struct sockaddr *addr, socklen_t len)
 
void rsock_sys_fail_raddrinfo (const char *mesg, VALUE rai)
 
void rsock_syserr_fail_raddrinfo (int err, const char *mesg, VALUE rai)
 
void rsock_sys_fail_raddrinfo_or_sockaddr (const char *mesg, VALUE addr, VALUE rai)
 
void rsock_syserr_fail_raddrinfo_or_sockaddr (int err, const char *mesg, VALUE addr, VALUE rai)
 
static void setup_domain_and_type (VALUE domain, int *dv, VALUE type, int *tv)
 
static VALUE sock_initialize (int argc, VALUE *argv, VALUE sock)
 
static VALUE sock_connect (VALUE sock, VALUE addr)
 
static VALUE sock_connect_nonblock (VALUE sock, VALUE addr, VALUE ex)
 
static VALUE sock_bind (VALUE sock, VALUE addr)
 
VALUE rsock_sock_listen (VALUE sock, VALUE log)
 
static VALUE sock_recvfrom (int argc, VALUE *argv, VALUE sock)
 
static VALUE sock_recvfrom_nonblock (VALUE sock, VALUE len, VALUE flg, VALUE str, VALUE ex)
 
static VALUE sock_accept (VALUE sock)
 
static VALUE sock_accept_nonblock (VALUE sock, VALUE ex)
 
static VALUE sock_sysaccept (VALUE sock)
 
static VALUE make_addrinfo (struct rb_addrinfo *res0, int norevlookup)
 
static VALUE sock_sockaddr (struct sockaddr *addr, socklen_t len)
 
static VALUE sock_s_gethostbyname (VALUE obj, VALUE host)
 
static VALUE sock_s_gethostbyaddr (int argc, VALUE *argv)
 
static VALUE sock_s_getservbyname (int argc, VALUE *argv)
 
static VALUE sock_s_getservbyport (int argc, VALUE *argv)
 
static VALUE sock_s_getaddrinfo (int argc, VALUE *argv)
 
static VALUE sock_s_getnameinfo (int argc, VALUE *argv)
 
static VALUE sock_s_pack_sockaddr_in (VALUE self, VALUE port, VALUE host)
 
void Init_socket (void)
 

Variables

static VALUE sym_wait_writable
 

Macro Definition Documentation

◆ rsock_sock_s_socketpair

#define rsock_sock_s_socketpair   rb_f_notimplement

Definition at line 308 of file socket.c.

Referenced by Init_socket(), and sock_initialize().

◆ sock_gethostname

#define sock_gethostname   rb_f_notimplement

Definition at line 932 of file socket.c.

Referenced by Init_socket(), and sock_sysaccept().

◆ socket_s_ip_address_list

#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().

Function Documentation

◆ Init_socket()

void Init_socket ( void  )

◆ make_addrinfo()

static VALUE make_addrinfo ( struct rb_addrinfo res0,
int  norevlookup 
)
static

◆ rsock_sock_listen()

VALUE rsock_sock_listen ( VALUE  sock,
VALUE  log 
)

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().

◆ rsock_sys_fail_host_port()

void rsock_sys_fail_host_port ( const char *  mesg,
VALUE  host,
VALUE  port 
)

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().

◆ rsock_sys_fail_path()

void rsock_sys_fail_path ( const char *  mesg,
VALUE  path 
)

Definition at line 35 of file socket.c.

References errno, and rsock_syserr_fail_path().

Referenced by bsock_getsockopt(), and bsock_setsockopt().

◆ rsock_sys_fail_raddrinfo()

void rsock_sys_fail_raddrinfo ( const char *  mesg,
VALUE  rai 
)

Definition at line 71 of file socket.c.

References errno, and rsock_syserr_fail_raddrinfo().

◆ rsock_sys_fail_raddrinfo_or_sockaddr()

void rsock_sys_fail_raddrinfo_or_sockaddr ( const char *  mesg,
VALUE  addr,
VALUE  rai 
)

Definition at line 88 of file socket.c.

References errno, and rsock_syserr_fail_raddrinfo_or_sockaddr().

Referenced by sock_bind(), and sock_connect().

◆ rsock_sys_fail_sockaddr()

void rsock_sys_fail_sockaddr ( const char *  mesg,
struct sockaddr *  addr,
socklen_t  len 
)

Definition at line 55 of file socket.c.

References errno, and rsock_syserr_fail_sockaddr().

◆ rsock_syserr_fail_host_port()

void rsock_syserr_fail_host_port ( int  err,
const char *  mesg,
VALUE  host,
VALUE  port 
)

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().

◆ rsock_syserr_fail_path()

void rsock_syserr_fail_path ( int  err,
const char *  mesg,
VALUE  path 
)

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().

◆ rsock_syserr_fail_raddrinfo()

void rsock_syserr_fail_raddrinfo ( int  err,
const char *  mesg,
VALUE  rai 
)

◆ rsock_syserr_fail_raddrinfo_or_sockaddr()

void rsock_syserr_fail_raddrinfo_or_sockaddr ( int  err,
const char *  mesg,
VALUE  addr,
VALUE  rai 
)

◆ rsock_syserr_fail_sockaddr()

void rsock_syserr_fail_sockaddr ( int  err,
const char *  mesg,
struct sockaddr *  addr,
socklen_t  len 
)

◆ setup_domain_and_type()

static void setup_domain_and_type ( VALUE  domain,
int *  dv,
VALUE  type,
int *  tv 
)
static

Definition at line 108 of file socket.c.

References rsock_family_arg(), and rsock_socktype_arg().

Referenced by sock_initialize().

◆ sock_accept()

static VALUE sock_accept ( VALUE  sock)
static

◆ sock_accept_nonblock()

static VALUE sock_accept_nonblock ( VALUE  sock,
VALUE  ex 
)
static

◆ sock_bind()

static VALUE sock_bind ( VALUE  sock,
VALUE  addr 
)
static

◆ sock_connect()

static VALUE sock_connect ( VALUE  sock,
VALUE  addr 
)
static

◆ sock_connect_nonblock()

static VALUE sock_connect_nonblock ( VALUE  sock,
VALUE  addr,
VALUE  ex 
)
static

◆ sock_initialize()

static VALUE sock_initialize ( int  argc,
VALUE argv,
VALUE  sock 
)
static

◆ sock_recvfrom()

static VALUE sock_recvfrom ( int  argc,
VALUE argv,
VALUE  sock 
)
static

Definition at line 763 of file socket.c.

References RECV_SOCKET, and rsock_s_recvfrom().

Referenced by Init_socket().

◆ sock_recvfrom_nonblock()

static VALUE sock_recvfrom_nonblock ( VALUE  sock,
VALUE  len,
VALUE  flg,
VALUE  str,
VALUE  ex 
)
static

Definition at line 770 of file socket.c.

References RECV_SOCKET, and rsock_s_recvfrom_nonblock().

Referenced by Init_socket().

◆ sock_s_getaddrinfo()

static VALUE sock_s_getaddrinfo ( int  argc,
VALUE argv 
)
static

◆ sock_s_gethostbyaddr()

static VALUE sock_s_gethostbyaddr ( int  argc,
VALUE argv 
)
static

◆ sock_s_gethostbyname()

static VALUE sock_s_gethostbyname ( VALUE  obj,
VALUE  host 
)
static

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().

◆ sock_s_getnameinfo()

static VALUE sock_s_getnameinfo ( int  argc,
VALUE argv 
)
static

◆ sock_s_getservbyname()

static VALUE sock_s_getservbyname ( int  argc,
VALUE argv 
)
static

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().

◆ sock_s_getservbyport()

static VALUE sock_s_getservbyport ( int  argc,
VALUE argv 
)
static

◆ sock_s_pack_sockaddr_in()

static VALUE sock_s_pack_sockaddr_in ( VALUE  self,
VALUE  port,
VALUE  host 
)
static

◆ sock_s_unpack_sockaddr_in()

static VALUE sock_s_unpack_sockaddr_in ( VALUE  self,
VALUE  addr 
)
static

◆ sock_sockaddr()

static VALUE sock_sockaddr ( struct sockaddr *  addr,
socklen_t  len 
)
static

Definition at line 960 of file socket.c.

References rb_eSocket, rb_raise(), and rb_str_new().

Referenced by sock_s_gethostbyname().

◆ sock_sysaccept()

static VALUE sock_sysaccept ( VALUE  sock)
static

Variable Documentation

◆ sym_wait_writable

VALUE sym_wait_writable
static

Definition at line 13 of file socket.c.

Referenced by Init_socket(), and sock_connect_nonblock().