/* Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _SYS_EPOLL_H #define _SYS_EPOLL_H 1 #include <stdint.h> #include <sys/types.h> #include <bits/types/sigset_t.h> /* Get the platform-dependent flags. */ #include <bits/epoll.h> #ifndef __EPOLL_PACKED # define __EPOLL_PACKED #endif enum EPOLL_EVENTS { EPOLLIN = 0x001, #define EPOLLIN EPOLLIN EPOLLPRI = 0x002, #define EPOLLPRI EPOLLPRI EPOLLOUT = 0x004, #define EPOLLOUT EPOLLOUT EPOLLRDNORM = 0x040, #define EPOLLRDNORM EPOLLRDNORM EPOLLRDBAND = 0x080, #define EPOLLRDBAND EPOLLRDBAND EPOLLWRNORM = 0x100, #define EPOLLWRNORM EPOLLWRNORM EPOLLWRBAND = 0x200, #define EPOLLWRBAND EPOLLWRBAND EPOLLMSG = 0x400, #define EPOLLMSG EPOLLMSG EPOLLERR = 0x008, #define EPOLLERR EPOLLERR EPOLLHUP = 0x010, #define EPOLLHUP EPOLLHUP EPOLLRDHUP = 0x2000, #define EPOLLRDHUP EPOLLRDHUP EPOLLEXCLUSIVE = 1u << 28, #define EPOLLEXCLUSIVE EPOLLEXCLUSIVE EPOLLWAKEUP = 1u << 29, #define EPOLLWAKEUP EPOLLWAKEUP EPOLLONESHOT = 1u << 30, #define EPOLLONESHOT EPOLLONESHOT EPOLLET = 1u << 31 #define EPOLLET EPOLLET }; /* Valid opcodes ( "op" parameter ) to issue to epoll_ctl(). */ #define EPOLL_CTL_ADD 1 /* Add a file descriptor to the interface. */ #define EPOLL_CTL_DEL 2 /* Remove a file descriptor from the interface. */ #define EPOLL_CTL_MOD 3 /* Change file descriptor epoll_event structure. */ typedef union epoll_data { void *ptr; int fd; uint32_t u32; uint64_t u64; } epoll_data_t; struct epoll_event { uint32_t events; /* Epoll events */ epoll_data_t data; /* User data variable */ } __EPOLL_PACKED; __BEGIN_DECLS /* Creates an epoll instance. Returns an fd for the new instance. The "size" parameter is a hint specifying the number of file descriptors to be associated with the new instance. The fd returned by epoll_create() should be closed with close(). */ extern int epoll_create (int __size) __THROW; /* Same as epoll_create but with an FLAGS parameter. The unused SIZE parameter has been dropped. */ extern int epoll_create1 (int __flags) __THROW; /* Manipulate an epoll instance "epfd". Returns 0 in case of success, -1 in case of error ( the "errno" variable will contain the specific error code ) The "op" parameter is one of the EPOLL_CTL_* constants defined above. The "fd" parameter is the target of the operation. The "event" parameter describes which events the caller is interested in and any associated user data. */ extern int epoll_ctl (int __epfd, int __op, int __fd, struct epoll_event *__event) __THROW; /* Wait for events on an epoll instance "epfd". Returns the number of triggered events returned in "events" buffer. Or -1 in case of error with the "errno" variable set to the specific error code. The "events" parameter is a buffer that will contain triggered events. The "maxevents" is the maximum number of events to be returned ( usually size of "events" ). The "timeout" parameter specifies the maximum wait time in milliseconds (-1 == infinite). This function is a cancellation point and therefore not marked with __THROW. */ extern int epoll_wait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout); /* Same as epoll_wait, but the thread's signal mask is temporarily and atomically replaced with the one provided as parameter. This function is a cancellation point and therefore not marked with __THROW. */ extern int epoll_pwait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout, const __sigset_t *__ss); __END_DECLS #endif /* sys/epoll.h */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
acct.h | File | 3.22 KB | 0644 |
|
auxv.h | File | 1.25 KB | 0644 |
|
bitypes.h | File | 86 B | 0644 |
|
cdefs.h | File | 17.21 KB | 0644 |
|
debugreg.h | File | 3.49 KB | 0644 |
|
dir.h | File | 921 B | 0644 |
|
elf.h | File | 1023 B | 0644 |
|
epoll.h | File | 4.31 KB | 0644 |
|
errno.h | File | 19 B | 0644 |
|
eventfd.h | File | 1.37 KB | 0644 |
|
fanotify.h | File | 1.26 KB | 0644 |
|
fcntl.h | File | 19 B | 0644 |
|
file.h | File | 1.68 KB | 0644 |
|
fsuid.h | File | 1.16 KB | 0644 |
|
gmon.h | File | 6.06 KB | 0644 |
|
gmon_out.h | File | 2.57 KB | 0644 |
|
inotify.h | File | 3.75 KB | 0644 |
|
io.h | File | 4.97 KB | 0644 |
|
ioctl.h | File | 1.7 KB | 0644 |
|
ipc.h | File | 1.43 KB | 0644 |
|
kd.h | File | 1.08 KB | 0644 |
|
klog.h | File | 1.17 KB | 0644 |
|
mman.h | File | 5.42 KB | 0644 |
|
mount.h | File | 5.48 KB | 0644 |
|
msg.h | File | 2.31 KB | 0644 |
|
mtio.h | File | 10.9 KB | 0644 |
|
param.h | File | 3.07 KB | 0644 |
|
pci.h | File | 922 B | 0644 |
|
perm.h | File | 1.1 KB | 0644 |
|
personality.h | File | 2.66 KB | 0644 |
|
poll.h | File | 2.49 KB | 0644 |
|
prctl.h | File | 1.03 KB | 0644 |
|
procfs.h | File | 4.87 KB | 0644 |
|
profil.h | File | 1.91 KB | 0644 |
|
ptrace.h | File | 5.85 KB | 0644 |
|
queue.h | File | 19.08 KB | 0644 |
|
quota.h | File | 5.05 KB | 0644 |
|
random.h | File | 1.41 KB | 0644 |
|
raw.h | File | 1.15 KB | 0644 |
|
reboot.h | File | 1.59 KB | 0644 |
|
reg.h | File | 1.78 KB | 0644 |
|
resource.h | File | 3.56 KB | 0644 |
|
select.h | File | 4.04 KB | 0644 |
|
sem.h | File | 1.99 KB | 0644 |
|
sendfile.h | File | 1.76 KB | 0644 |
|
shm.h | File | 1.83 KB | 0644 |
|
signal.h | File | 20 B | 0644 |
|
signalfd.h | File | 1.56 KB | 0644 |
|
socket.h | File | 9.96 KB | 0644 |
|
socketvar.h | File | 141 B | 0644 |
|
soundcard.h | File | 29 B | 0644 |
|
stat.h | File | 15.81 KB | 0644 |
|
statfs.h | File | 2.04 KB | 0644 |
|
statvfs.h | File | 2.75 KB | 0644 |
|
stropts.h | File | 21 B | 0644 |
|
swap.h | File | 1.55 KB | 0644 |
|
syscall.h | File | 1.3 KB | 0644 |
|
sysctl.h | File | 1.96 KB | 0644 |
|
sysinfo.h | File | 1.48 KB | 0644 |
|
syslog.h | File | 7.52 KB | 0644 |
|
sysmacros.h | File | 3.94 KB | 0644 |
|
termios.h | File | 74 B | 0644 |
|
time.h | File | 6.5 KB | 0644 |
|
timeb.h | File | 1.34 KB | 0644 |
|
timerfd.h | File | 1.83 KB | 0644 |
|
times.h | File | 1.56 KB | 0644 |
|
timex.h | File | 2.15 KB | 0644 |
|
ttychars.h | File | 2.44 KB | 0644 |
|
ttydefaults.h | File | 3.48 KB | 0644 |
|
types.h | File | 6.43 KB | 0644 |
|
ucontext.h | File | 5.62 KB | 0644 |
|
uio.h | File | 6.13 KB | 0644 |
|
un.h | File | 1.42 KB | 0644 |
|
unistd.h | File | 20 B | 0644 |
|
user.h | File | 5.08 KB | 0644 |
|
ustat.h | File | 1.11 KB | 0644 |
|
utsname.h | File | 2.42 KB | 0644 |
|
vfs.h | File | 161 B | 0644 |
|
vlimit.h | File | 1.83 KB | 0644 |
|
vm86.h | File | 1.17 KB | 0644 |
|
vt.h | File | 22 B | 0644 |
|
vtimes.h | File | 2.4 KB | 0644 |
|
wait.h | File | 5.19 KB | 0644 |
|
xattr.h | File | 4.17 KB | 0644 |
|