diff --git a/src/kernel/emulation/linux/kqueue/kevent.c b/src/kernel/emulation/linux/kqueue/kevent.c new file mode 100644 index 000000000..393be1dcc --- /dev/null +++ b/src/kernel/emulation/linux/kqueue/kevent.c @@ -0,0 +1,16 @@ +#include "kevent.h" +#include "../base.h" +#include "../errno.h" +#include +#include +#include "../../../../../platform-include/sys/errno.h" + +int __attribute__((weak)) __attribute__((visibility("default"))) kevent_impl(int kq, ...) { return -ENOSYS; } + +long sys_kevent(int kq, const struct kevent *changelist, int nchanges, + struct kevent *eventlist, int nevents, + const struct timespec *timeout) +{ + return kevent_impl(kq, changelist, nchanges, eventlist, nevents, timeout); +} + diff --git a/src/kernel/emulation/linux/kqueue/kevent.h b/src/kernel/emulation/linux/kqueue/kevent.h new file mode 100644 index 000000000..ad5432b7d --- /dev/null +++ b/src/kernel/emulation/linux/kqueue/kevent.h @@ -0,0 +1,12 @@ +#ifndef LINUX_KEVENT_H +#define LINUX_KEVENT_H + +struct kevent; +struct timespec; + +long sys_kevent(int kq, const struct kevent *changelist, int nchanges, + struct kevent *eventlist, int nevents, + const struct timespec *timeout); + +#endif + diff --git a/src/kernel/emulation/linux/kqueue/kqueue.c b/src/kernel/emulation/linux/kqueue/kqueue.c new file mode 100644 index 000000000..7ba91d7f7 --- /dev/null +++ b/src/kernel/emulation/linux/kqueue/kqueue.c @@ -0,0 +1,19 @@ +#include "kqueue.h" +#include "../base.h" +#include "../errno.h" +#include +#include +#include "../../../../../platform-include/sys/errno.h" +#include "../simple.h" + +int __attribute__((weak)) __attribute__((visibility("default"))) kqueue_impl(void) +{ + __simple_printf("No kqueue implementation?!\n"); + return -ENOSYS; +} + +long sys_kqueue(void) +{ + return kqueue_impl(); +} + diff --git a/src/kernel/emulation/linux/kqueue/kqueue.h b/src/kernel/emulation/linux/kqueue/kqueue.h new file mode 100644 index 000000000..04add626d --- /dev/null +++ b/src/kernel/emulation/linux/kqueue/kqueue.h @@ -0,0 +1,7 @@ +#ifndef LINUX_KQUEUE_H +#define LINUX_KQUEUE_H + +long sys_kqueue(void); + +#endif +