| Ruby
    3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
    | 
 
 
 
Go to the documentation of this file.
   27 inetsock_cleanup(
VALUE v)
 
   45 init_inetsock_internal(
VALUE v)
 
   51     int fd, status = 0, local = 0;
 
   53     const char *syscall = 0;
 
   58     if (!
NIL_P(connect_timeout)) {
 
   74                                         family, SOCK_STREAM, 0);
 
   79 #if !defined(INET6) && defined(AF_INET6) 
   98         syscall = 
"socket(2)";
 
  106 #if !defined(_WIN32) && !defined(__CYGWIN__) 
  108             setsockopt(fd, SOL_SOCKET, SO_REUSEADDR,
 
  109                        (
char*)&status, (
socklen_t)
sizeof(status));
 
  116 #if !defined(_WIN32) && !defined(__CYGWIN__) 
  118                 setsockopt(fd, SOL_SOCKET, SO_REUSEADDR,
 
  119                            (
char*)&status, (
socklen_t)
sizeof(status));
 
  129                 syscall = 
"connect(2)";
 
  158         status = listen(fd, SOMAXCONN);
 
  188                      inetsock_cleanup, (
VALUE)&arg);
 
  191 static ID id_numeric, id_hostname;
 
  196 #define return_norevlookup(x) {*norevlookup = (x); return 1;} 
  211 #undef return_norevlookup 
  228     if (fptr && fptr->
fd >= 0 &&
 
  229         getsockname(fptr->
fd, &addr.
addr, &
len) >= 0 &&
 
  230         (
id = rsock_intern_family(addr.
addr.sa_family)) != 0) {
 
  232         char hbuf[1024], pbuf[1024];
 
  286     if (getsockname(fptr->
fd, &addr.
addr, &
len) < 0)
 
  327     if (getpeername(fptr->
fd, &addr.
addr, &
len) < 0)
 
  401     id_numeric = rb_intern_const(
"numeric");
 
  402     id_hostname = rb_intern_const(
"hostname");
 
  
VALUE rb_str_subseq(VALUE, long, long)
VALUE rb_define_class(const char *name, VALUE super)
Defines a top-level class.
struct timeval rb_time_interval(VALUE num)
#define rb_define_singleton_method(klass, mid, func, arity)
Defines klass.mid.
int rsock_connect(int fd, const struct sockaddr *sockaddr, int len, int socks, struct timeval *timeout)
int rsock_socket(int domain, int type, int proto)
const char * rb_id2name(ID)
#define RSTRING_LEN(string)
VALUE rb_str_append(VALUE, VALUE)
void rb_undef_method(VALUE klass, const char *name)
void rb_raise(VALUE exc, const char *fmt,...)
int rsock_revlookup_flag(VALUE revlookup, int *norevlookup)
VALUE rsock_make_ipaddr(struct sockaddr *addr, socklen_t addrlen)
void rsock_syserr_fail_host_port(int err, const char *mesg, VALUE host, VALUE port)
void rb_syserr_fail(int e, const char *mesg)
VALUE rsock_init_sock(VALUE sock, int fd)
struct inetsock_arg::@58 remote
struct sockaddr * ai_addr
VALUE rsock_init_inetsock(VALUE sock, VALUE remote_host, VALUE remote_serv, VALUE local_host, VALUE local_serv, int type, VALUE resolv_timeout, VALUE connect_timeout)
void rb_sys_fail(const char *mesg)
VALUE rsock_ipaddr(struct sockaddr *sockaddr, socklen_t sockaddrlen, int norevlookup)
VALUE rb_call_super(int, const VALUE *)
int rb_getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags)
void rb_freeaddrinfo(struct rb_addrinfo *ai)
struct addrinfo * ai_next
VALUE rb_str_cat(VALUE, const char *, long)
void rsock_init_ipsocket(void)
#define FMODE_NOREVLOOKUP
#define RSTRING_PTR(string)
char str[HTML_ESCAPE_MAX_LEN+1]
#define rb_str_cat_cstr(buf, str)
struct rb_addrinfo * rsock_addrinfo(VALUE host, VALUE port, int family, int socktype, int flags)
#define rb_define_method(klass, mid, func, arity)
Defines klass#mid.
VALUE rb_ensure(VALUE(*b_proc)(VALUE), VALUE data1, VALUE(*e_proc)(VALUE), VALUE data2)
An equivalent to ensure clause.
#define return_norevlookup(x)
VALUE type(ANYARGS)
ANYARGS-ed function type.
struct inetsock_arg::@58 local
VALUE rsock_s_recvfrom(VALUE socket, int argc, VALUE *argv, enum sock_recv_type from)