1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 3 #include <netinet/ip.h> 4 #include <stdio.h> 5 #include <stdlib.h> 6 #include <string.h> 7 #include <sys/types.h> 8 9 #include "time64_variants.h" 10 #include "tst_test.h" 11 #include "lapi/socket.h" 12 #include "tst_safe_macros.h" 13 #include "sendmmsg_var.h" 14 15 #define BUFSIZE 16 16 17 static struct time64_variants variants[] = { 18 { .recvmmsg = libc_recvmmsg, .sendmmsg = libc_sendmmsg, .ts_type = TST_LIBC_TIMESPEC, .desc = "vDSO or syscall with libc spec"}, 19 20 #if (__NR_recvmmsg != __LTP__NR_INVALID_SYSCALL) 21 { .recvmmsg = sys_recvmmsg, .sendmmsg = sys_sendmmsg, .ts_type = TST_KERN_OLD_TIMESPEC, .desc = "syscall with old kernel spec"}, 22 #endif 23 24 #if (__NR_recvmmsg_time64 != __LTP__NR_INVALID_SYSCALL) 25 { .recvmmsg = sys_recvmmsg64, .sendmmsg = sys_sendmmsg, .ts_type = TST_KERN_TIMESPEC, .desc = "syscall time64 with kernel spec"}, 26 #endif 27 }; 28