From f5764cf03f7ba94249a0e517f12d7918bb1ecd42 Mon Sep 17 00:00:00 2001
From: mekolat <mekolat@users.noreply.github.com>
Date: Wed, 29 Jul 2015 16:18:04 -0400
Subject: add more syscalls to io::FD

---
 src/io/fd.cpp | 26 ++++++++++++++++++++++++++
 src/io/fd.hpp |  9 +++++++++
 2 files changed, 35 insertions(+)

diff --git a/src/io/fd.cpp b/src/io/fd.cpp
index 43bf7c4..918fd5e 100644
--- a/src/io/fd.cpp
+++ b/src/io/fd.cpp
@@ -79,6 +79,32 @@ namespace io
     {
         return ::send(fd, buf, count, flags);
     }
+    ssize_t FD::sendmsg(const struct msghdr *msg, int flags)
+    {
+        return ::sendmsg(fd, msg, flags);
+    }
+    int FD::sendmmsg(struct mmsghdr *msgvec, unsigned int vlen, unsigned int flags)
+    {
+        return ::sendmmsg(fd, msgvec, vlen, flags);
+    }
+    ssize_t FD::sendto(const void *buf, size_t count, int flags,
+               const struct sockaddr *dest_addr, socklen_t addrlen)
+    {
+        return ::sendto(fd, buf, count, flags, dest_addr, addrlen);
+    }
+    ssize_t FD::recv(void *buf, size_t count, int flags)
+    {
+        return ::recv(fd, buf, count, flags);
+    }
+    ssize_t FD::recvfrom(void *buf, size_t count, int flags,
+             struct sockaddr *src_addr, socklen_t *addrlen)
+    {
+        return ::recvfrom(fd, buf, count, flags, src_addr, addrlen);
+    }
+    ssize_t FD::recvmsg(struct msghdr *msg, int flags)
+    {
+        return ::recvmsg(fd, msg, flags);
+    }
     ssize_t FD::pread(void *buf, size_t count, off_t offset)
     {
         return ::pread(fd, buf, count, offset);
diff --git a/src/io/fd.hpp b/src/io/fd.hpp
index 00aad8f..517c7af 100644
--- a/src/io/fd.hpp
+++ b/src/io/fd.hpp
@@ -78,6 +78,15 @@ namespace io
         ssize_t read(void *buf, size_t count);
         ssize_t write(const void *buf, size_t count);
         ssize_t send(const void *buf, size_t count, int flags);
+        ssize_t sendto(const void *buf, size_t count, int flags,
+                   const struct sockaddr *dest_addr, socklen_t addrlen);
+        ssize_t sendmsg(const struct msghdr *msg, int flags);
+        int sendmmsg(struct mmsghdr *msgvec, unsigned int vlen,
+             unsigned int flags);
+        ssize_t recv(void *buf, size_t len, int flags);
+        ssize_t recvfrom(void *buf, size_t len, int flags,
+                 struct sockaddr *src_addr, socklen_t *addrlen);
+        ssize_t recvmsg(struct msghdr *msg, int flags);
         ssize_t pread(void *buf, size_t count, off_t offset);
         ssize_t pwrite(const void *buf, size_t count, off_t offset);
         ssize_t readv(const struct iovec *iov, int iovcnt);
-- 
cgit v1.2.3-70-g09d2