1234567891011121314151617181920212223 |
- #include <sys/eventfd.h>
- #include <unistd.h>
- #include <errno.h>
- #include "syscall.h"
- int eventfd(unsigned int count, int flags)
- {
- int r = __syscall(SYS_eventfd2, count, flags);
- #ifdef SYS_eventfd
- if (r==-ENOSYS && !flags) r = __syscall(SYS_eventfd, count);
- #endif
- return __syscall_ret(r);
- }
- int eventfd_read(int fd, eventfd_t *value)
- {
- return (sizeof(*value) == read(fd, value, sizeof(*value))) ? 0 : -1;
- }
- int eventfd_write(int fd, eventfd_t value)
- {
- return (sizeof(value) == write(fd, &value, sizeof(value))) ? 0 : -1;
- }
|