third_party: Update socket_wrapper to version 1.4.0
[samba.git] / third_party / socket_wrapper / wscript
index b87072038f849d435cc6871868589b78626b6834..af6eb303e0a6c99d6371928b2f80fe6afca084f3 100644 (file)
@@ -53,6 +53,7 @@ def configure(conf):
         conf.CHECK_FUNCS('bindresvport')
         conf.CHECK_FUNCS('pledge')
         conf.CHECK_FUNCS('accept4')
+        conf.CHECK_FUNCS('sendmmsg recvmmsg')
         conf.CHECK_FUNCS('__close_nocancel')
 
         conf.CHECK_FUNCS_IN('bind',
@@ -64,6 +65,19 @@ def configure(conf):
                                'int accept(int s, struct sockaddr *addr, Psocklen_t addrlen)',
                                define='HAVE_ACCEPT_PSOCKLEN_T', headers='sys/types.h sys/socket.h')
 
+        # Linux legacy glibc < 2.21
+        conf.CHECK_C_PROTOTYPE('recvmmsg',
+                               'int recvmmsg(int __fd, struct mmsghdr *__vmessages, unsigned int __vlen, int __flags, const struct timespec *__tmo)',
+                               define='HAVE_RECVMMSG_CONST_TIMEOUT', headers='sys/types.h sys/socket.h')
+        # FreeBSD
+        conf.CHECK_C_PROTOTYPE('recvmmsg',
+                               'ssize_t recvmmsg(int __fd, struct mmsghdr * __restrict __vmessages, size_t __vlen, int __flags, const struct timespec * __restrict __tmo)',
+                               define='HAVE_RECVMMSG_SSIZE_T_CONST_TIMEOUT', headers='sys/types.h sys/socket.h')
+        # FreeBSD
+        conf.CHECK_C_PROTOTYPE('sendmmsg',
+                               'ssize_t sendmmsg(int __fd, struct mmsghdr * __restrict __vmessages, size_t __vlen, int __flags)',
+                               define='HAVE_SENDMMSG_SSIZE_T', headers='sys/types.h sys/socket.h')
+
         conf.CHECK_C_PROTOTYPE('ioctl',
                                'int ioctl(int s, int r, ...)',
                                define='HAVE_IOCTL_INT', headers='unistd.h sys/ioctl.h')