From 9dd0d271568c6bf37987698c229d162b4d664281 Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 21 Jul 2009 04:38:20 +0000 Subject: * win32/win32.[ch] (recvmsg, sendmsg): new functions to support recvmsg/ sendmsg like UNIX. these functions are experimental and not tested well. bug reports are welcome. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/win32.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'include') diff --git a/include/ruby/win32.h b/include/ruby/win32.h index 7c0da1f49f..d468bb2664 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -203,6 +203,21 @@ struct timezone { #undef isascii #define isascii __isascii #endif + +struct iovec { + void *iov_base; + size_t iov_len; +}; +struct msghdr { + void *msg_name; + int msg_namelen; + struct iovec *msg_iov; + int msg_iovlen; + void *msg_control; + int msg_controllen; + int msg_flags; +}; + #define NtInitialize ruby_sysinit extern int rb_w32_cmdvector(const char *, char ***); extern rb_pid_t rb_w32_pipe_exec(const char *, const char *, int, int *, int *); @@ -224,6 +239,8 @@ extern int WSAAPI rb_w32_recv(int, char *, int, int); extern int WSAAPI rb_w32_recvfrom(int, char *, int, int, struct sockaddr *, int *); extern int WSAAPI rb_w32_send(int, const char *, int, int); extern int WSAAPI rb_w32_sendto(int, const char *, int, int, const struct sockaddr *, int); +extern int recvmsg(int, struct msghdr *, int); +extern int sendmsg(int, const struct msghdr *, int); extern int WSAAPI rb_w32_setsockopt(int, int, int, const char *, int); extern int WSAAPI rb_w32_shutdown(int, int); extern int WSAAPI rb_w32_socket(int, int, int); -- cgit v1.2.3