1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
/*
* SYSCALL_DEFINE5(recvmmsg, int, fd, struct mmsghdr __user *, mmsg,
unsigned int, vlen, unsigned int, flags,
struct timespec __user *, timeout)
*/
#include <sys/socket.h>
#include "compat.h"
#include "sanitise.h"
struct syscall syscall_recvmmsg = {
.name = "recvmmsg",
.num_args = 5,
.arg1name = "fd",
.arg1type = ARG_FD,
.arg2name = "mmsg",
.arg2type = ARG_ADDRESS,
.arg3name = "vlen",
.arg3type = ARG_LEN,
.arg4name = "flags",
.arg4type = ARG_LIST,
.arg4list = {
.num = 20,
.values = { MSG_OOB, MSG_PEEK, MSG_DONTROUTE, MSG_CTRUNC,
MSG_PROBE, MSG_TRUNC, MSG_DONTWAIT, MSG_EOR,
MSG_WAITALL, MSG_FIN, MSG_SYN, MSG_CONFIRM,
MSG_RST, MSG_ERRQUEUE, MSG_NOSIGNAL, MSG_MORE,
MSG_WAITFORONE, MSG_CMSG_CLOEXEC, MSG_FASTOPEN, MSG_CMSG_COMPAT },
},
.arg5name = "timeout",
.arg5type = ARG_ADDRESS,
.flags = NEED_ALARM,
};
|