diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-07-21 04:38:20 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-07-21 04:38:20 +0000 |
commit | 9dd0d271568c6bf37987698c229d162b4d664281 (patch) | |
tree | e7deff432a2a47cd0d350ce1a117a45e2868bc6e /include/ruby | |
parent | 3f0308dbf13e831435f3958b51b4319533e01a03 (diff) | |
download | ruby-9dd0d271568c6bf37987698c229d162b4d664281.tar.gz |
* 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
Diffstat (limited to 'include/ruby')
-rw-r--r-- | include/ruby/win32.h | 17 |
1 files changed, 17 insertions, 0 deletions
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); |