1 /*
2 * Copyright (C) 2017 Waldemar Brodkorb <wbx@uclibc-ng.org>
3 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
4 */
5
6 #include <sys/socket.h>
7 #include <cancel.h>
8
9 #ifndef __NR_recvmsg
10 #error Missing definition of NR_recvmsg needed for cancellation.
11 #endif
12
13 ssize_t
recvmsg(int fd,const struct msghdr * msg,int flags)14 recvmsg (int fd, const struct msghdr *msg, int flags)
15 {
16 return _syscall3(ssize_t, __NC(recvmsg), int, fd, const struct msghdr*, msg,
17 int, flags);
18 }
19
20 CANCELLABLE_SYSCALL(ssize_t, recvmsg, (int fd, const struct msghdr *msg,
21 int flags), (fd, msg, flags))
22
23 lt_libc_hidden(recvmsg)
24