diff --git a/internal/sys.cpp b/internal/sys.cpp
index db843ac..b4a1ffc 100644
--- a/internal/sys.cpp
+++ b/internal/sys.cpp
@@ -19,6 +19,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <sys/mman.h>
+#include <sys/sendfile.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
@@ -92,6 +93,35 @@
     return ::poll(fds, nfds, timeout);
 }
 
+int SysImpl::socket(int domain, int type, int protocol) const
+{
+    return ::socket(domain, type, protocol);
+}
+
+int SysImpl::connect(int sockfd, const struct sockaddr* addr,
+                     socklen_t addrlen) const
+{
+    return ::connect(sockfd, addr, addrlen);
+}
+
+ssize_t SysImpl::sendfile(int out_fd, int in_fd, off_t* offset,
+                          size_t count) const
+{
+    return ::sendfile(out_fd, in_fd, offset, count);
+}
+
+int SysImpl::getaddrinfo(const char* node, const char* service,
+                         const struct addrinfo* hints,
+                         struct addrinfo** res) const
+{
+    return ::getaddrinfo(node, service, hints, res);
+}
+
+void SysImpl::freeaddrinfo(struct addrinfo* res) const
+{
+    ::freeaddrinfo(res);
+}
+
 SysImpl sys_impl;
 
 } // namespace internal
