1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:57:45 +00:00

Stub out poll() syscall and LibC wrapper.

This commit is contained in:
Andreas Kling 2019-01-23 07:27:41 +01:00
parent 8bb18fdc56
commit 2bedabbd6c
10 changed files with 63 additions and 10 deletions

View file

@ -43,6 +43,7 @@ LIBC_OBJS = \
utime.o \
gui.o \
sys/select.o \
poll.o \
entry.o
OBJS = $(AK_OBJS) $(WIDGETS_OBJS) $(LIBC_OBJS) $(SHAREDGRAPHICS_OBJS)

14
LibC/poll.cpp Normal file
View file

@ -0,0 +1,14 @@
#include <poll.h>
#include <Kernel/Syscall.h>
#include <errno.h>
extern "C" {
int poll(struct pollfd* fds, int nfds, int timeout)
{
int rc = syscall(SC_poll, fds, nfds, timeout);
__RETURN_WITH_ERRNO(rc, rc, -1);
}
}

23
LibC/poll.h Normal file
View file

@ -0,0 +1,23 @@
#pragma once
#include <sys/cdefs.h>
__BEGIN_DECLS
#define POLLIN (1u << 0)
#define POLLPRI (1u << 2)
#define POLLOUT (1u << 3)
#define POLLERR (1u << 4)
#define POLLHUP (1u << 5)
#define POLLNVAL (1u << 6)
struct pollfd {
int fd;
short events;
short revents;
};
int poll(struct pollfd* fds, int nfds, int timeout);
__END_DECLS