/usr/include/sys
/* Copyright (C) 2002-2021 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 <https://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 */
.
Edit
..
Edit
acct.h
Edit
auxv.h
Edit
bitypes.h
Edit
capability.h
Edit
cdefs.h
Edit
debugreg.h
Edit
dir.h
Edit
elf.h
Edit
epoll.h
Edit
errno.h
Edit
eventfd.h
Edit
fanotify.h
Edit
fcntl.h
Edit
file.h
Edit
fsuid.h
Edit
gmon.h
Edit
gmon_out.h
Edit
inotify.h
Edit
io.h
Edit
ioctl.h
Edit
ipc.h
Edit
kd.h
Edit
klog.h
Edit
mman.h
Edit
mount.h
Edit
msg.h
Edit
mtio.h
Edit
param.h
Edit
pci.h
Edit
perm.h
Edit
personality.h
Edit
platform
Edit
poll.h
Edit
prctl.h
Edit
procfs.h
Edit
profil.h
Edit
psx_syscall.h
Edit
ptrace.h
Edit
queue.h
Edit
quota.h
Edit
random.h
Edit
raw.h
Edit
reboot.h
Edit
reg.h
Edit
resource.h
Edit
rseq.h
Edit
sdt-config.h
Edit
sdt.h
Edit
select.h
Edit
sem.h
Edit
sendfile.h
Edit
shm.h
Edit
signal.h
Edit
signalfd.h
Edit
single_threaded.h
Edit
socket.h
Edit
socketvar.h
Edit
soundcard.h
Edit
stat.h
Edit
statfs.h
Edit
statvfs.h
Edit
swap.h
Edit
syscall.h
Edit
sysinfo.h
Edit
syslog.h
Edit
sysmacros.h
Edit
termios.h
Edit
time.h
Edit
timeb.h
Edit
timerfd.h
Edit
times.h
Edit
timex.h
Edit
ttychars.h
Edit
ttydefaults.h
Edit
types.h
Edit
ucontext.h
Edit
uio.h
Edit
un.h
Edit
unistd.h
Edit
user.h
Edit
utsname.h
Edit
vfs.h
Edit
vlimit.h
Edit
vm86.h
Edit
vt.h
Edit
wait.h
Edit
xattr.h
Edit