Where Online Learning is simpler!
The C and C++ Include Header Files
cat -n /usr/include/x86_64-linux-gnu/bits/poll2.h
1 /* Checking macros for poll functions. 2 Copyright (C) 2012-2026 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #ifndef _SYS_POLL_H 20 # error "Never include <bits/poll2.h> directly; use <sys/poll.h> instead." 21 #endif 22 23 24 __BEGIN_DECLS 25 26 extern int __REDIRECT (__poll_alias, (struct pollfd *__fds, nfds_t __nfds, 27 int __timeout), poll); 28 extern int __poll_chk (struct pollfd *__fds, nfds_t __nfds, int __timeout, 29 __SIZE_TYPE__ __fdslen) 30 __attr_access ((__write_only__, 1, 2)); 31 extern int __REDIRECT (__poll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, 32 int __timeout, __SIZE_TYPE__ __fdslen), 33 __poll_chk) 34 __warnattr ("poll called with fds buffer too small file nfds entries"); 35 36 __fortify_function __fortified_attr_access (__write_only__, 1, 2) 37 __attribute_overloadable__ int 38 poll (__fortify_clang_overload_arg (struct pollfd *, ,__fds), nfds_t __nfds, 39 int __timeout) 40 __fortify_clang_warning_only_if_bos_lt2 (__nfds, __fds, sizeof (*__fds), 41 "poll called with fds buffer " 42 "too small file nfds entries") 43 { 44 return __glibc_fortify (poll, __nfds, sizeof (*__fds), 45 __glibc_objsize (__fds), 46 __fds, __nfds, __timeout); 47 } 48 49 50 #ifdef __USE_GNU 51 # ifdef __USE_TIME64_REDIRECTS 52 extern int __REDIRECT (__ppoll64_alias, (struct pollfd *__fds, nfds_t __nfds, 53 const struct timespec *__timeout, 54 const __sigset_t *__ss), __ppoll64); 55 extern int __ppoll64_chk (struct pollfd *__fds, nfds_t __nfds, 56 const struct timespec *__timeout, 57 const __sigset_t *__ss, __SIZE_TYPE__ __fdslen) 58 __attr_access ((__write_only__, 1, 2)); 59 extern int __REDIRECT (__ppoll64_chk_warn, (struct pollfd *__fds, nfds_t __n, 60 const struct timespec *__timeout, 61 const __sigset_t *__ss, 62 __SIZE_TYPE__ __fdslen), 63 __ppoll64_chk) 64 __warnattr ("ppoll called with fds buffer too small file nfds entries"); 65 66 __fortify_function __fortified_attr_access (__write_only__, 1, 2) 67 __attribute_overloadable__ int 68 ppoll (__fortify_clang_overload_arg (struct pollfd *, ,__fds), nfds_t __nfds, 69 const struct timespec *__timeout, const __sigset_t *__ss) 70 __fortify_clang_warning_only_if_bos_lt2 (__nfds, __fds, sizeof (*__fds), 71 "ppoll called with fds buffer " 72 "too small file nfds entries") 73 { 74 return __glibc_fortify (ppoll64, __nfds, sizeof (*__fds), 75 __glibc_objsize (__fds), 76 __fds, __nfds, __timeout, __ss); 77 } 78 # else 79 extern int __REDIRECT (__ppoll_alias, (struct pollfd *__fds, nfds_t __nfds, 80 const struct timespec *__timeout, 81 const __sigset_t *__ss), ppoll); 82 extern int __ppoll_chk (struct pollfd *__fds, nfds_t __nfds, 83 const struct timespec *__timeout, 84 const __sigset_t *__ss, __SIZE_TYPE__ __fdslen) 85 __attr_access ((__write_only__, 1, 2)); 86 extern int __REDIRECT (__ppoll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, 87 const struct timespec *__timeout, 88 const __sigset_t *__ss, 89 __SIZE_TYPE__ __fdslen), 90 __ppoll_chk) 91 __warnattr ("ppoll called with fds buffer too small file nfds entries"); 92 93 __fortify_function __fortified_attr_access (__write_only__, 1, 2) 94 __attribute_overloadable__ int 95 ppoll (__fortify_clang_overload_arg (struct pollfd *, ,__fds), nfds_t __nfds, 96 const struct timespec *__timeout, const __sigset_t *__ss) 97 __fortify_clang_warning_only_if_bos_lt2 (__nfds, __fds, sizeof (*__fds), 98 "ppoll called with fds buffer " 99 "too small file nfds entries") 100 { 101 return __glibc_fortify (ppoll, __nfds, sizeof (*__fds), 102 __glibc_objsize (__fds), 103 __fds, __nfds, __timeout, __ss); 104 } 105 # endif 106 #endif 107 108 __END_DECLS