Ruby  3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
Data Structures | Macros | Functions | Variables
init.c File Reference

(b76ad15ed0da636161de0243c547ee1e6fc95681)

#include "rubysocket.h"
Include dependency graph for init.c:

Go to the source code of this file.

Data Structures

struct  recvfrom_arg
 
struct  connect_arg
 
struct  accept_arg
 

Macros

#define do_write_retry(code)   ret = code
 

Functions

void rsock_raise_socket_error (const char *reason, int error)
 
VALUE rsock_init_sock (VALUE sock, int fd)
 
VALUE rsock_sendto_blocking (void *data)
 
VALUE rsock_send_blocking (void *data)
 
VALUE rsock_s_recvfrom (VALUE socket, int argc, VALUE *argv, enum sock_recv_type from)
 
VALUE rsock_s_recvfrom_nonblock (VALUE sock, VALUE len, VALUE flg, VALUE str, VALUE ex, enum sock_recv_type from)
 
int rsock_socket (int domain, int type, int proto)
 
int rsock_connect (int fd, const struct sockaddr *sockaddr, int len, int socks, struct timeval *timeout)
 
void rsock_make_fd_nonblock (int fd)
 
VALUE rsock_s_accept_nonblock (VALUE klass, VALUE ex, rb_io_t *fptr, struct sockaddr *sockaddr, socklen_t *len)
 
VALUE rsock_s_accept (VALUE klass, VALUE io, struct sockaddr *sockaddr, socklen_t *len)
 
int rsock_getfamily (rb_io_t *fptr)
 
void rsock_init_socket_init (void)
 

Variables

VALUE rb_cBasicSocket
 
VALUE rb_cIPSocket
 
VALUE rb_cTCPSocket
 
VALUE rb_cTCPServer
 
VALUE rb_cUDPSocket
 
VALUE rb_cSocket
 
VALUE rb_cAddrinfo
 
VALUE rb_eSocket
 
int rsock_do_not_reverse_lookup = 1
 

Macro Definition Documentation

◆ do_write_retry

#define do_write_retry (   code)    ret = code

Definition at line 60 of file init.c.

Function Documentation

◆ rsock_connect()

int rsock_connect ( int  fd,
const struct sockaddr *  sockaddr,
int  len,
int  socks,
struct timeval timeout 
)

Definition at line 552 of file init.c.

◆ rsock_getfamily()

int rsock_getfamily ( rb_io_t fptr)

◆ rsock_init_sock()

VALUE rsock_init_sock ( VALUE  sock,
int  fd 
)

◆ rsock_init_socket_init()

void rsock_init_socket_init ( void  )

◆ rsock_make_fd_nonblock()

void rsock_make_fd_nonblock ( int  fd)

Definition at line 583 of file init.c.

References F_SETFL, fcntl(), connect_arg::fd, O_NONBLOCK, and rb_sys_fail().

◆ rsock_raise_socket_error()

void rsock_raise_socket_error ( const char *  reason,
int  error 
)

Definition at line 39 of file init.c.

References EAI_SYSTEM, rb_default_internal_encoding(), rb_encoding, and rb_syserr_fail().

Referenced by rsock_inspect_sockaddr(), and rsock_ipaddr().

◆ rsock_s_accept()

VALUE rsock_s_accept ( VALUE  klass,
VALUE  io,
struct sockaddr *  sockaddr,
socklen_t len 
)

◆ rsock_s_accept_nonblock()

VALUE rsock_s_accept_nonblock ( VALUE  klass,
VALUE  ex,
rb_io_t fptr,
struct sockaddr *  sockaddr,
socklen_t len 
)

Definition at line 636 of file init.c.

References rb_io_set_nonblock().

◆ rsock_s_recvfrom()

VALUE rsock_s_recvfrom ( VALUE  socket,
int  argc,
VALUE argv,
enum sock_recv_type  from 
)

Definition at line 151 of file init.c.

References argc, argv, recvfrom_arg::flags, len, NUM2INT, Qnil, rb_scan_args(), and str.

◆ rsock_s_recvfrom_nonblock()

VALUE rsock_s_recvfrom_nonblock ( VALUE  sock,
VALUE  len,
VALUE  flg,
VALUE  str,
VALUE  ex,
enum sock_recv_type  from 
)

Definition at line 224 of file init.c.

References recvfrom_arg::alen, buf, recvfrom_arg::fd, recvfrom_arg::flags, len, NUM2INT, Qnil, and str.

◆ rsock_send_blocking()

VALUE rsock_send_blocking ( void *  data)

◆ rsock_sendto_blocking()

VALUE rsock_sendto_blocking ( void *  data)

◆ rsock_socket()

int rsock_socket ( int  domain,
int  type,
int  proto 
)

Definition at line 430 of file init.c.

References recvfrom_arg::fd.

Variable Documentation

◆ rb_cAddrinfo

VALUE rb_cAddrinfo

Definition at line 27 of file init.c.

◆ rb_cBasicSocket

VALUE rb_cBasicSocket

◆ rb_cIPSocket

VALUE rb_cIPSocket

Definition at line 18 of file init.c.

Referenced by rsock_init_ipsocket(), rsock_init_tcpsocket(), and rsock_init_udpsocket().

◆ rb_cSocket

VALUE rb_cSocket

Definition at line 26 of file init.c.

Referenced by Init_socket(), rsock_init_ancdata(), rsock_init_sockifaddr(), and rsock_init_sockopt().

◆ rb_cTCPServer

VALUE rb_cTCPServer

Definition at line 20 of file init.c.

Referenced by rsock_init_tcpserver().

◆ rb_cTCPSocket

VALUE rb_cTCPSocket

Definition at line 19 of file init.c.

Referenced by rsock_init_sockssocket(), rsock_init_tcpserver(), and rsock_init_tcpsocket().

◆ rb_cUDPSocket

VALUE rb_cUDPSocket

Definition at line 21 of file init.c.

Referenced by rsock_init_udpsocket().

◆ rb_eSocket

VALUE rb_eSocket

Definition at line 29 of file init.c.

Referenced by rsock_init_socket_init().

◆ rsock_do_not_reverse_lookup

int rsock_do_not_reverse_lookup = 1

Definition at line 35 of file init.c.

Referenced by rsock_init_sock().