# USE_EPOLL : enable epoll() on Linux 2.6. Automatic.
# USE_KQUEUE : enable kqueue() on BSD. Automatic.
# USE_EVPORTS : enable event ports on SunOS systems. Automatic.
-# USE_MY_EPOLL : redefine epoll_* syscalls. Automatic.
# USE_MY_SPLICE : redefine the splice syscall if build fails without.
# USE_NETFILTER : enable netfilter on Linux. Automatic.
# USE_PCRE : enable use of libpcre for regex. Recommended.
#### list of all "USE_*" options. These ones must be updated if new options are
# added, so that the relevant options are properly added to the CFLAGS and to
# the reported build options.
-use_opts = USE_EPOLL USE_KQUEUE USE_MY_EPOLL USE_MY_SPLICE USE_NETFILTER \
+use_opts = USE_EPOLL USE_KQUEUE USE_MY_SPLICE USE_NETFILTER \
USE_PCRE USE_PCRE_JIT USE_PCRE2 USE_PCRE2_JIT USE_POLL \
USE_PRIVATE_CACHE USE_THREAD USE_PTHREAD_PSHARED USE_BACKTRACE \
USE_STATIC_PCRE USE_STATIC_PCRE2 USE_TPROXY USE_LINUX_TPROXY \
+++ /dev/null
-/*
- * include/common/epoll.h
- * epoll definitions for older libc.
- *
- * Copyright (C) 2000-2012 Willy Tarreau - w@1wt.eu
- *
- * This 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, version 2.1
- * exclusively.
- *
- * This 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 this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * Those constants were found both in glibc and in the Linux kernel.
- * They are provided here because the epoll() syscall is featured in
- * some kernels but in not often included in the glibc, so it needs
- * just a basic definition.
- */
-
-#ifndef _COMMON_EPOLL_H
-#define _COMMON_EPOLL_H
-
-#if defined (__linux__) && defined(USE_EPOLL)
-
-#ifndef USE_MY_EPOLL
-#include <sys/epoll.h>
-#else
-
-#include <errno.h>
-#include <sys/types.h>
-#include <linux/unistd.h>
-#include <sys/syscall.h>
-#include <common/config.h>
-#include <common/syscall.h>
-
-/* epoll_ctl() commands */
-#ifndef EPOLL_CTL_ADD
-#define EPOLL_CTL_ADD 1
-#define EPOLL_CTL_DEL 2
-#define EPOLL_CTL_MOD 3
-#endif
-
-/* events types (bit fields) */
-#ifndef EPOLLIN
-#define EPOLLIN 1
-#define EPOLLPRI 2
-#define EPOLLOUT 4
-#define EPOLLERR 8
-#define EPOLLHUP 16
-#define EPOLLONESHOT (1 << 30)
-#define EPOLLET (1 << 31)
-#endif
-
-struct epoll_event {
- uint32_t events;
- union {
- void *ptr;
- int fd;
- uint32_t u32;
- uint64_t u64;
- } data;
-};
-
-/* We'll define a syscall, so for this we need __NR_splice. It should have
- * been provided by syscall.h.
- */
-#if !defined(__NR_epoll_ctl)
-#warning unsupported architecture, guessing __NR_epoll_create=254 like x86...
-#define __NR_epoll_create 254
-#define __NR_epoll_ctl 255
-#define __NR_epoll_wait 256
-#endif /* __NR_epoll_ctl */
-
-static inline _syscall1 (int, epoll_create, int, size);
-static inline _syscall4 (int, epoll_ctl, int, epfd, int, op, int, fd, struct epoll_event *, event);
-static inline _syscall4 (int, epoll_wait, int, epfd, struct epoll_event *, events, int, maxevents, int, timeout);
-
-#endif /* USE_MY_EPOLL */
-
-#endif /* __linux__ && USE_EPOLL */
-
-#endif /* _COMMON_EPOLL_H */
-
-/*
- * Local variables:
- * c-indent-level: 8
- * c-basic-offset: 8
- * End:
- */
/* Define some syscall numbers that are sometimes needed */
-/* Epoll was provided as a patch for 2.4 for a long time and was not always
- * exported as a known sysctl number by libc.
- */
-#if !defined(__NR_epoll_ctl)
-#if defined(__powerpc__) || defined(__powerpc64__)
-#define __NR_epoll_create 236
-#define __NR_epoll_ctl 237
-#define __NR_epoll_wait 238
-#elif defined(__sparc__) || defined(__sparc64__)
-#define __NR_epoll_create 193
-#define __NR_epoll_ctl 194
-#define __NR_epoll_wait 195
-#elif defined(__x86_64__)
-#define __NR_epoll_create 213
-#define __NR_epoll_ctl 214
-#define __NR_epoll_wait 215
-#elif defined(__alpha__)
-#define __NR_epoll_create 407
-#define __NR_epoll_ctl 408
-#define __NR_epoll_wait 409
-#elif defined (__i386__)
-#define __NR_epoll_create 254
-#define __NR_epoll_ctl 255
-#define __NR_epoll_wait 256
-#elif defined (__s390__) || defined(__s390x__)
-#define __NR_epoll_create 249
-#define __NR_epoll_ctl 250
-#define __NR_epoll_wait 251
-#endif /* $arch */
-#endif /* __NR_epoll_ctl */
-
/* splice is even more recent than epoll. It appeared around 2.6.18 but was
* not in libc for a while.
*/