bool tevent_kqueue_set_panic_fallback(struct tevent_context *ev,
bool (*panic_fallback)(struct tevent_context *ev,
bool replay));
+#ifndef HAVE_SYS_EVENT_H
+struct kevent {
+ uintptr_t ident; /* identifier for this event */
+ short filter; /* filter for event */
+#define EVFILT_WRITE 1
+#define EVFILT_READ 2
+ u_short flags; /* action flags for kqueue */
+#define EV_ADD 0x0001
+#define EV_ENABLE 0x0002
+#define EV_DISABLE 0x0004
+#define EV_DELETE 0x0008
+#define EV_EOF 0x0010
+ u_int fflags; /* filter flag value */
+ intptr_t data; /* filter data value */
+ void *udata; /* opaque user data identifier */
+};
+
+#define EV_SET(_kev, _ident, _filter, _flags, _fflags, _data, _udata) do { \
+ struct kevent *__kev = _kev; \
+ __kev->ident = _ident; \
+ __kev->filter = _filter; \
+ __kev->flags = _flags; \
+ __kev->fflags = _fflags; \
+ __kev->data = (intptr_t)_data; \
+ __kev->udata = _udata; \
+} while(0)
+
+static inline int kqueue(void)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+struct timespec;
+static inline int kevent(int kq, const struct kevent *changelist, int nchanges,
+ struct kevent *eventlist, int nevents,
+ const struct timespec *timeout)
+{
+ errno = ENOSYS;
+ return -1;
+}
+#endif /* not HAVE_SYS_EVENT_H */
#endif
if conf.CHECK_FUNCS('kqueue', headers='sys/types.h sys/event.h sys/time.h'):
conf.DEFINE('HAVE_KQUEUE', 1)
+ conf.DEFINE('HAVE_KQUEUE', 1) # HACK
tevent_num_signals = 64
v = conf.CHECK_VALUEOF('NSIG', headers='signal.h')