github.com/afumu/libc@v0.0.6/musl/src/linux/eventfd.c (about) 1 #include <sys/eventfd.h> 2 #include <unistd.h> 3 #include <errno.h> 4 #include "syscall.h" 5 6 int eventfd(unsigned int count, int flags) 7 { 8 int r = __syscall(SYS_eventfd2, count, flags); 9 #ifdef SYS_eventfd 10 if (r==-ENOSYS && !flags) r = __syscall(SYS_eventfd, count); 11 #endif 12 return __syscall_ret(r); 13 } 14 15 int eventfd_read(int fd, eventfd_t *value) 16 { 17 return (sizeof(*value) == read(fd, value, sizeof(*value))) ? 0 : -1; 18 } 19 20 int eventfd_write(int fd, eventfd_t value) 21 { 22 return (sizeof(value) == write(fd, &value, sizeof(value))) ? 0 : -1; 23 }