diff options
Diffstat (limited to 'mainline/runtime/sdk/android/arm64/include/bionic/libc/include/sys/epoll.h')
-rw-r--r-- | mainline/runtime/sdk/android/arm64/include/bionic/libc/include/sys/epoll.h | 65 |
1 files changed, 61 insertions, 4 deletions
diff --git a/mainline/runtime/sdk/android/arm64/include/bionic/libc/include/sys/epoll.h b/mainline/runtime/sdk/android/arm64/include/bionic/libc/include/sys/epoll.h index 2091b909..2bad6552 100644 --- a/mainline/runtime/sdk/android/arm64/include/bionic/libc/include/sys/epoll.h +++ b/mainline/runtime/sdk/android/arm64/include/bionic/libc/include/sys/epoll.h @@ -26,8 +26,12 @@ * SUCH DAMAGE. */ -#ifndef _SYS_EPOLL_H_ -#define _SYS_EPOLL_H_ +#pragma once + +/** + * @file sys/epoll.h + * @brief I/O event file descriptors. + */ #include <sys/cdefs.h> #include <sys/types.h> @@ -37,14 +41,67 @@ __BEGIN_DECLS +/** + * [epoll_create(2)](http://man7.org/linux/man-pages/man2/epoll_create.2.html) + * creates a new [epoll](http://man7.org/linux/man-pages/man7/epoll.7.html) + * file descriptor. + * + * Returns a new file descriptor on success and returns -1 and sets `errno` on + * failure. + */ int epoll_create(int __size); + +/** + * [epoll_create1(2)](http://man7.org/linux/man-pages/man2/epoll_create1.2.html) + * creates a new [epoll](http://man7.org/linux/man-pages/man7/epoll.7.html) + * file descriptor with the given flags. + * + * Returns a new file descriptor on success and returns -1 and sets `errno` on + * failure. + */ int epoll_create1(int __flags); +/** + * [epoll_ctl(2)](http://man7.org/linux/man-pages/man2/epoll_ctl.2.html) + * adds/modifies/removes file descriptors from the given epoll file descriptor. + * + * Returns 0 on success and returns -1 and sets `errno` on failure. + */ int epoll_ctl(int __epoll_fd, int __op, int __fd, struct epoll_event* __BIONIC_COMPLICATED_NULLNESS __event); + +/** + * [epoll_wait(2)](http://man7.org/linux/man-pages/man2/epoll_wait.2.html) + * waits for an event on the given epoll file descriptor. + * + * Returns the number of ready file descriptors on success, 0 on timeout, + * or -1 and sets `errno` on failure. + */ int epoll_wait(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, int __timeout_ms); + +/** + * Like epoll_wait() but atomically applying the given signal mask. + */ int epoll_pwait(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, int __timeout_ms, const sigset_t* _Nullable __mask); + +/** + * Like epoll_pwait() but using a 64-bit signal mask even on 32-bit systems. + * + * Available since API level 28. + */ int epoll_pwait64(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, int __timeout_ms, const sigset64_t* _Nullable __mask) __INTRODUCED_IN(28); -__END_DECLS +/** + * Like epoll_pwait() but with a `struct timespec` timeout, for nanosecond resolution. + * + * Available since API level 35. + */ +int epoll_pwait2(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, const struct timespec* _Nullable __timeout, const sigset_t* _Nullable __mask) __INTRODUCED_IN(35); + +/** + * Like epoll_pwait2() but using a 64-bit signal mask even on 32-bit systems. + * + * Available since API level 35. + */ +int epoll_pwait2_64(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, const struct timespec* _Nullable __timeout, const sigset64_t* _Nullable __mask) __INTRODUCED_IN(35); -#endif +__END_DECLS |