ソースを参照

Kernel+LibC: Share definitions for poll.h

Andreas Kling 4 年 前
コミット
d33b43276c
3 ファイル変更36 行追加32 行削除
  1. 33 0
      Kernel/API/POSIX/poll.h
  2. 1 14
      Kernel/UnixTypes.h
  3. 2 18
      Userland/Libraries/LibC/poll.h

+ 33 - 0
Kernel/API/POSIX/poll.h

@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <Kernel/API/POSIX/sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define POLLIN (1u << 0)
+#define POLLPRI (1u << 1)
+#define POLLOUT (1u << 2)
+#define POLLERR (1u << 3)
+#define POLLHUP (1u << 4)
+#define POLLNVAL (1u << 5)
+#define POLLRDHUP (1u << 13)
+
+struct pollfd {
+    int fd;
+    short events;
+    short revents;
+};
+
+typedef unsigned nfds_t;
+
+#ifdef __cplusplus
+}
+#endif

+ 1 - 14
Kernel/UnixTypes.h

@@ -15,6 +15,7 @@
 #include <Kernel/API/POSIX/net/if_arp.h>
 #include <Kernel/API/POSIX/net/route.h>
 #include <Kernel/API/POSIX/netinet/in.h>
+#include <Kernel/API/POSIX/poll.h>
 #include <Kernel/API/POSIX/serenity.h>
 #include <Kernel/API/POSIX/signal.h>
 #include <Kernel/API/POSIX/sys/mman.h>
@@ -91,20 +92,6 @@ typedef i64 time_t;
 typedef u32 blksize_t;
 typedef u32 blkcnt_t;
 
-#define POLLIN (1u << 0)
-#define POLLPRI (1u << 1)
-#define POLLOUT (1u << 2)
-#define POLLERR (1u << 3)
-#define POLLHUP (1u << 4)
-#define POLLNVAL (1u << 5)
-#define POLLRDHUP (1u << 13)
-
-struct pollfd {
-    int fd;
-    short events;
-    short revents;
-};
-
 typedef u32 __u32;
 typedef u16 __u16;
 typedef u8 __u8;

+ 2 - 18
Userland/Libraries/LibC/poll.h

@@ -1,32 +1,16 @@
 /*
- * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
+ * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
  *
  * SPDX-License-Identifier: BSD-2-Clause
  */
 
 #pragma once
 
+#include <Kernel/API/POSIX/poll.h>
 #include <signal.h>
-#include <sys/cdefs.h>
 
 __BEGIN_DECLS
 
-#define POLLIN (1u << 0)
-#define POLLPRI (1u << 1)
-#define POLLOUT (1u << 2)
-#define POLLERR (1u << 3)
-#define POLLHUP (1u << 4)
-#define POLLNVAL (1u << 5)
-#define POLLRDHUP (1u << 13)
-
-struct pollfd {
-    int fd;
-    short events;
-    short revents;
-};
-
-typedef unsigned nfds_t;
-
 int poll(struct pollfd* fds, nfds_t nfds, int timeout);
 int ppoll(struct pollfd* fds, nfds_t nfds, const struct timespec* timeout, const sigset_t* sigmask);