OSDN Git Service

Add eventfd_read() and eventfd_write()
[uclinux-h8/uclibc-ng.git] / libc / sysdeps / linux / common / eventfd.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * eventfd() for uClibc
4  *
5  * Copyright (C) 2011 Jean-Christian de Rivaz <jc@eclis.ch>
6  *
7  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
8  */
9
10 #include <errno.h>
11 #include <sys/syscall.h>
12 #include <sys/eventfd.h>
13
14 /*
15  * eventfd()
16  */
17 #if defined __NR_eventfd || defined __NR_eventfd2
18 int eventfd (unsigned int count, int flags)
19 {
20 #if defined __NR_eventfd2
21   return INLINE_SYSCALL (eventfd2, 2, count, flags);
22 #elif defined __NR_eventfd
23   if (flags != 0) {
24      __set_errno (EINVAL);
25     return -1;
26   }
27   return INLINE_SYSCALL (eventfd, 1, count);
28 #endif
29 }
30 #endif