1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/socket: add rsock_prefix.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-03-01 06:30:41 +00:00
parent faabbf230a
commit c49f05dd79
17 changed files with 285 additions and 281 deletions

View file

@ -28,10 +28,10 @@ VALUE rb_eSocket;
VALUE rb_cSOCKSSocket;
#endif
int do_not_reverse_lookup = 0;
int rsock_do_not_reverse_lookup = 0;
void
raise_socket_error(const char *reason, int error)
rsock_raise_socket_error(const char *reason, int error)
{
#ifdef EAI_SYSTEM
if (error == EAI_SYSTEM) rb_sys_fail(reason);
@ -40,7 +40,7 @@ raise_socket_error(const char *reason, int error)
}
VALUE
init_sock(VALUE sock, int fd)
rsock_init_sock(VALUE sock, int fd)
{
rb_io_t *fp;
@ -48,7 +48,7 @@ init_sock(VALUE sock, int fd)
fp->fd = fd;
fp->mode = FMODE_READWRITE|FMODE_DUPLEX;
rb_io_ascii8bit_binmode(sock);
if (do_not_reverse_lookup) {
if (rsock_do_not_reverse_lookup) {
fp->mode |= FMODE_NOREVLOOKUP;
}
rb_io_synchronized(fp);
@ -57,18 +57,18 @@ init_sock(VALUE sock, int fd)
}
VALUE
sendto_blocking(void *data)
rsock_sendto_blocking(void *data)
{
struct send_arg *arg = data;
struct rsock_send_arg *arg = data;
VALUE mesg = arg->mesg;
return (VALUE)sendto(arg->fd, RSTRING_PTR(mesg), RSTRING_LEN(mesg),
arg->flags, arg->to, arg->tolen);
}
VALUE
send_blocking(void *data)
rsock_send_blocking(void *data)
{
struct send_arg *arg = data;
struct rsock_send_arg *arg = data;
VALUE mesg = arg->mesg;
return (VALUE)send(arg->fd, RSTRING_PTR(mesg), RSTRING_LEN(mesg),
arg->flags);
@ -90,7 +90,7 @@ recvfrom_blocking(void *data)
}
VALUE
s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
rsock_s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
{
rb_io_t *fptr;
VALUE str, klass;
@ -142,23 +142,23 @@ s_recvfrom(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
}
#endif
if (arg.alen && arg.alen != sizeof(arg.buf)) /* OSX doesn't return a from result for connection-oriented sockets */
return rb_assoc_new(str, ipaddr((struct sockaddr*)&arg.buf, fptr->mode & FMODE_NOREVLOOKUP));
return rb_assoc_new(str, rsock_ipaddr((struct sockaddr*)&arg.buf, fptr->mode & FMODE_NOREVLOOKUP));
else
return rb_assoc_new(str, Qnil);
#ifdef HAVE_SYS_UN_H
case RECV_UNIX:
return rb_assoc_new(str, unixaddr((struct sockaddr_un*)&arg.buf, arg.alen));
return rb_assoc_new(str, rsock_unixaddr((struct sockaddr_un*)&arg.buf, arg.alen));
#endif
case RECV_SOCKET:
return rb_assoc_new(str, io_socket_addrinfo(sock, (struct sockaddr*)&arg.buf, arg.alen));
return rb_assoc_new(str, rsock_io_socket_addrinfo(sock, (struct sockaddr*)&arg.buf, arg.alen));
default:
rb_bug("s_recvfrom called with bad value");
rb_bug("rsock_s_recvfrom called with bad value");
}
}
VALUE
s_recvfrom_nonblock(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
rsock_s_recvfrom_nonblock(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
{
rb_io_t *fptr;
VALUE str;
@ -214,15 +214,15 @@ s_recvfrom_nonblock(VALUE sock, int argc, VALUE *argv, enum sock_recv_type from)
case RECV_IP:
if (alen && alen != sizeof(buf)) /* connection-oriented socket may not return a from result */
addr = ipaddr((struct sockaddr*)&buf, fptr->mode & FMODE_NOREVLOOKUP);
addr = rsock_ipaddr((struct sockaddr*)&buf, fptr->mode & FMODE_NOREVLOOKUP);
break;
case RECV_SOCKET:
addr = io_socket_addrinfo(sock, (struct sockaddr*)&buf, alen);
addr = rsock_io_socket_addrinfo(sock, (struct sockaddr*)&buf, alen);
break;
default:
rb_bug("s_recvfrom_nonblock called with bad value");
rb_bug("rsock_s_recvfrom_nonblock called with bad value");
}
return rb_assoc_new(str, addr);
}
@ -455,7 +455,7 @@ make_fd_nonblock(int fd)
}
VALUE
s_accept_nonblock(VALUE klass, rb_io_t *fptr, struct sockaddr *sockaddr, socklen_t *len)
rsock_s_accept_nonblock(VALUE klass, rb_io_t *fptr, struct sockaddr *sockaddr, socklen_t *len)
{
int fd2;
@ -477,7 +477,7 @@ s_accept_nonblock(VALUE klass, rb_io_t *fptr, struct sockaddr *sockaddr, socklen
rb_sys_fail("accept(2)");
}
make_fd_nonblock(fd2);
return init_sock(rb_obj_alloc(klass), fd2);
return rsock_init_sock(rb_obj_alloc(klass), fd2);
}
struct accept_arg {
@ -494,7 +494,7 @@ accept_blocking(void *data)
}
VALUE
s_accept(VALUE klass, int fd, struct sockaddr *sockaddr, socklen_t *len)
rsock_s_accept(VALUE klass, int fd, struct sockaddr *sockaddr, socklen_t *len)
{
int fd2;
int retry = 0;
@ -523,7 +523,7 @@ s_accept(VALUE klass, int fd, struct sockaddr *sockaddr, socklen_t *len)
rb_sys_fail(0);
}
if (!klass) return INT2NUM(fd2);
return init_sock(rb_obj_alloc(klass), fd2);
return rsock_init_sock(rb_obj_alloc(klass), fd2);
}
int rb_sock_getfamily(int sockfd)