54 lines
1.3 KiB
C
54 lines
1.3 KiB
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/*
|
|
* Copyright (c) 2018 Google, Inc.
|
|
*/
|
|
|
|
#ifndef SENDMMSG_VAR__
|
|
#define SENDMMSG_VAR__
|
|
|
|
#include "tst_timer.h"
|
|
#include "lapi/syscalls.h"
|
|
|
|
static inline int libc_sendmmsg(int sockfd, struct mmsghdr *msgvec,
|
|
unsigned int vlen, unsigned int flags)
|
|
{
|
|
#ifdef HAVE_SENDMMSG
|
|
return sendmmsg(sockfd, msgvec, vlen, flags);
|
|
#else
|
|
tst_brk(TCONF, "libc sendmmsg not present");
|
|
return -1;
|
|
#endif
|
|
}
|
|
|
|
static inline int sys_sendmmsg(int sockfd, struct mmsghdr *msgvec,
|
|
unsigned int vlen, unsigned int flags)
|
|
{
|
|
return tst_syscall(__NR_sendmmsg, sockfd, msgvec, vlen, flags);
|
|
}
|
|
|
|
static inline int libc_recvmmsg(int sockfd, struct mmsghdr *msgvec,
|
|
unsigned int vlen, unsigned int flags, void *timeout)
|
|
{
|
|
#ifdef HAVE_RECVMMSG
|
|
return recvmmsg(sockfd, msgvec, vlen, flags, timeout);
|
|
#else
|
|
tst_brk(TCONF, "libc recvmmsg not present");
|
|
return -1;
|
|
#endif
|
|
}
|
|
|
|
static inline int sys_recvmmsg(int sockfd, struct mmsghdr *msgvec,
|
|
unsigned int vlen, unsigned int flags, void *timeout)
|
|
{
|
|
return tst_syscall(__NR_recvmmsg, sockfd, msgvec, vlen, flags, timeout);
|
|
}
|
|
|
|
static inline int sys_recvmmsg64(int sockfd, struct mmsghdr *msgvec,
|
|
unsigned int vlen, unsigned int flags, void *timeout)
|
|
{
|
|
return tst_syscall(__NR_recvmmsg_time64, sockfd, msgvec, vlen, flags,
|
|
timeout);
|
|
}
|
|
|
|
#endif /* SENDMMSG_VAR__ */
|