浏览代码

Kernel+LibC: Share definitions for dirent.h

Andreas Kling 3 年之前
父节点
当前提交
c65a735d71
共有 3 个文件被更改,包括 40 次插入44 次删除
  1. 38 0
      Kernel/API/POSIX/dirent.h
  2. 1 22
      Kernel/UnixTypes.h
  3. 1 22
      Userland/Libraries/LibC/dirent.h

+ 38 - 0
Kernel/API/POSIX/dirent.h

@@ -0,0 +1,38 @@
+/*
+ * 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
+
+enum {
+    DT_UNKNOWN = 0,
+#define DT_UNKNOWN DT_UNKNOWN
+    DT_FIFO = 1,
+#define DT_FIFO DT_FIFO
+    DT_CHR = 2,
+#define DT_CHR DT_CHR
+    DT_DIR = 4,
+#define DT_DIR DT_DIR
+    DT_BLK = 6,
+#define DT_BLK DT_BLK
+    DT_REG = 8,
+#define DT_REG DT_REG
+    DT_LNK = 10,
+#define DT_LNK DT_LNK
+    DT_SOCK = 12,
+#define DT_SOCK DT_SOCK
+    DT_WHT = 14
+#define DT_WHT DT_WHT
+};
+
+#ifdef __cplusplus
+}
+#endif

+ 1 - 22
Kernel/UnixTypes.h

@@ -8,6 +8,7 @@
 
 #include <AK/DistinctNumeric.h>
 #include <AK/Types.h>
+#include <Kernel/API/POSIX/dirent.h>
 #include <Kernel/API/POSIX/fcntl.h>
 #include <Kernel/API/POSIX/futex.h>
 #include <Kernel/API/POSIX/net/if.h>
@@ -151,28 +152,6 @@ struct sched_param {
 #define PT_POKEDEBUG 10
 #define PT_PEEKDEBUG 11
 
-// Used in struct dirent
-enum {
-    DT_UNKNOWN = 0,
-#define DT_UNKNOWN DT_UNKNOWN
-    DT_FIFO = 1,
-#define DT_FIFO DT_FIFO
-    DT_CHR = 2,
-#define DT_CHR DT_CHR
-    DT_DIR = 4,
-#define DT_DIR DT_DIR
-    DT_BLK = 6,
-#define DT_BLK DT_BLK
-    DT_REG = 8,
-#define DT_REG DT_REG
-    DT_LNK = 10,
-#define DT_LNK DT_LNK
-    DT_SOCK = 12,
-#define DT_SOCK DT_SOCK
-    DT_WHT = 14
-#define DT_WHT DT_WHT
-};
-
 typedef uint64_t fsblkcnt_t;
 typedef uint64_t fsfilcnt_t;
 

+ 1 - 22
Userland/Libraries/LibC/dirent.h

@@ -6,30 +6,9 @@
 
 #pragma once
 
-#include <sys/cdefs.h>
-#include <sys/types.h>
+#include <Kernel/API/POSIX/dirent.h>
 
 __BEGIN_DECLS
-enum {
-    DT_UNKNOWN = 0,
-#define DT_UNKNOWN DT_UNKNOWN
-    DT_FIFO = 1,
-#define DT_FIFO DT_FIFO
-    DT_CHR = 2,
-#define DT_CHR DT_CHR
-    DT_DIR = 4,
-#define DT_DIR DT_DIR
-    DT_BLK = 6,
-#define DT_BLK DT_BLK
-    DT_REG = 8,
-#define DT_REG DT_REG
-    DT_LNK = 10,
-#define DT_LNK DT_LNK
-    DT_SOCK = 12,
-#define DT_SOCK DT_SOCK
-    DT_WHT = 14
-#define DT_WHT DT_WHT
-};
 
 struct dirent {
     ino_t d_ino;