PATH:
usr
/
include
/
sys
/* Copyright (C) 2002-2012 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> /* Get __sigset_t. */ #include <bits/sigset.h> #ifndef __sigset_t_defined # define __sigset_t_defined typedef __sigset_t sigset_t; #endif /* 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 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 */
[-] sysinfo.h
[edit]
[-] profil.h
[edit]
[-] file.h
[edit]
[-] raw.h
[edit]
[-] mman.h
[edit]
[-] reboot.h
[edit]
[-] socket.h
[edit]
[-] unistd.h
[edit]
[-] eventfd.h
[edit]
[-] pci.h
[edit]
[-] vm86.h
[edit]
[-] mount.h
[edit]
[-] vfs.h
[edit]
[-] ipc.h
[edit]
[-] perm.h
[edit]
[-] personality.h
[edit]
[-] resource.h
[edit]
[+]
..
[-] shm.h
[edit]
[-] sysctl.h
[edit]
[-] syscall.h
[edit]
[-] errno.h
[edit]
[-] ttydefaults.h
[edit]
[-] fcntl.h
[edit]
[-] socketvar.h
[edit]
[-] stat.h
[edit]
[-] procfs.h
[edit]
[-] ttychars.h
[edit]
[-] swap.h
[edit]
[-] msg.h
[edit]
[-] kdaemon.h
[edit]
[-] select.h
[edit]
[-] timex.h
[edit]
[-] kd.h
[edit]
[-] time.h
[edit]
[-] quota.h
[edit]
[-] ultrasound.h
[edit]
[-] types.h
[edit]
[-] prctl.h
[edit]
[-] sdt-config.h
[edit]
[-] gmon.h
[edit]
[-] syslog.h
[edit]
[-] uio.h
[edit]
[-] ioctl.h
[edit]
[-] klog.h
[edit]
[-] inotify.h
[edit]
[-] statvfs.h
[edit]
[-] poll.h
[edit]
[-] vtimes.h
[edit]
[-] io.h
[edit]
[-] fanotify.h
[edit]
[-] fsuid.h
[edit]
[-] sysmacros.h
[edit]
[-] statfs.h
[edit]
[-] vt.h
[edit]
[-] ptrace.h
[edit]
[-] times.h
[edit]
[-] sem.h
[edit]
[-] xattr.h
[edit]
[-] un.h
[edit]
[-] termios.h
[edit]
[-] elf.h
[edit]
[-] param.h
[edit]
[-] timeb.h
[edit]
[-] ustat.h
[edit]
[-] wait.h
[edit]
[-] sdt.h
[edit]
[-] reg.h
[edit]
[-] utsname.h
[edit]
[-] timerfd.h
[edit]
[-] epoll.h
[edit]
[-] gmon_out.h
[edit]
[-] vlimit.h
[edit]
[-] soundcard.h
[edit]
[-] ucontext.h
[edit]
[-] acct.h
[edit]
[-] signal.h
[edit]
[-] signalfd.h
[edit]
[-] cdefs.h
[edit]
[-] debugreg.h
[edit]
[-] user.h
[edit]
[-] dir.h
[edit]
[-] queue.h
[edit]
[-] mtio.h
[edit]
[-] sendfile.h
[edit]
[-] bitypes.h
[edit]
[-] auxv.h
[edit]