diff --git a/include/sys/timerfd.h b/include/sys/timerfd.h new file mode 100644 index 00000000..0afa7b0e --- /dev/null +++ b/include/sys/timerfd.h @@ -0,0 +1,18 @@ +#ifndef _SYS_TIMERFD_H +#define _SYS_TIMERFD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +int timerfd_create(int, int); +int timerfd_settime(int, int, const struct itimerspec *, struct itimerspec *); +int timerfd_gettime(int, struct itimerspec *); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/linux/timerfd.c b/src/linux/timerfd.c new file mode 100644 index 00000000..62cc2773 --- /dev/null +++ b/src/linux/timerfd.c @@ -0,0 +1,17 @@ +#include +#include "syscall.h" + +int timerfd_create(int clockid, int flags) +{ + return syscall(SYS_timerfd_create, clockid, flags); +} + +int timerfd_settime(int fd, int flags, const struct itimerspec *new, struct itimerspec *old) +{ + return syscall(SYS_timerfd_settime, fd, flags, new, old); +} + +int timerfd_gettime(int fd, struct itimerspec *cur) +{ + return syscall(SYS_timerfd_gettime, fd, cur); +}