summaryrefslogtreecommitdiff
path: root/include/ruby
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-21 04:38:20 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-21 04:38:20 +0000
commit9dd0d271568c6bf37987698c229d162b4d664281 (patch)
treee7deff432a2a47cd0d350ce1a117a45e2868bc6e /include/ruby
parent3f0308dbf13e831435f3958b51b4319533e01a03 (diff)
* 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.h17
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);