summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/internal_recvmmsg.S
blob: 6b776b9d6a78d2f6a2bb1886f732d1ae43d8715f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <kernel-features.h>
#include <sys/syscall.h>

/* Do not use the recvmmsg syscall on socketcall architectures unless
   it was added at the same time as the socketcall support or can be
   assumed to be present.  */
#if defined __ASSUME_SOCKETCALL \
    && !defined __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL \
    && !defined __ASSUME_RECVMMSG_SYSCALL
# undef __NR_recvmmsg
#endif

#if !defined __NR_recvmmsg && defined __NR_socketcall
# define socket	recvmmsg
# ifdef __ASSUME_RECVMMSG_SOCKETCALL
#  define __socket recvmmsg
# else
#  define __socket __internal_recvmmsg
# endif
# define NARGS 5
# define NEED_CANCELLATION
# define NO_WEAK_ALIAS
# include <socket.S>
#endif