浏览代码

LibC: Move S_* defines into <fcntl.h>

According to the Single UNIX Specification, Version 2 that's where
those macros should be defined. This fixes the libiconv port.

This also fixes some (but not all) build errors for the diffutils and nano ports.
Gunnar Beutner 4 年之前
父节点
当前提交
8ca5b8c065

+ 1 - 0
Userland/Applications/FileManager/DirectoryView.h

@@ -35,6 +35,7 @@
 #include <LibGUI/IconView.h>
 #include <LibGUI/StackWidget.h>
 #include <LibGUI/TableView.h>
+#include <fcntl.h>
 #include <sys/stat.h>
 
 namespace FileManager {

+ 1 - 0
Userland/DevTools/UserspaceEmulator/Emulator_syscalls.cpp

@@ -29,6 +29,7 @@
 #include "SimpleRegion.h"
 #include <AK/Debug.h>
 #include <AK/Format.h>
+#include <fcntl.h>
 #include <sched.h>
 #include <serenity.h>
 #include <strings.h>

+ 0 - 30
Userland/Libraries/LibC/fcntl.h

@@ -56,36 +56,6 @@ __BEGIN_DECLS
 #define O_CLOEXEC (1 << 11)
 #define O_DIRECT (1 << 12)
 
-#define S_IFMT 0170000
-#define S_IFDIR 0040000
-#define S_IFCHR 0020000
-#define S_IFBLK 0060000
-#define S_IFREG 0100000
-#define S_IFIFO 0010000
-#define S_IFLNK 0120000
-#define S_IFSOCK 0140000
-
-#define S_ISUID 04000
-#define S_ISGID 02000
-#define S_ISVTX 01000
-#define S_IRUSR 0400
-#define S_IWUSR 0200
-#define S_IXUSR 0100
-#define S_IREAD S_IRUSR
-#define S_IWRITE S_IWUSR
-#define S_IEXEC S_IXUSR
-#define S_IRGRP 0040
-#define S_IWGRP 0020
-#define S_IXGRP 0010
-#define S_IROTH 0004
-#define S_IWOTH 0002
-#define S_IXOTH 0001
-
-#define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
-
-#define S_IRWXG (S_IRWXU >> 3)
-#define S_IRWXO (S_IRWXG >> 3)
-
 int creat(const char* path, mode_t);
 int open(const char* path, int options, ...);
 #define AT_FDCWD -100

+ 1 - 0
Userland/Libraries/LibC/stdlib.cpp

@@ -35,6 +35,7 @@
 #include <assert.h>
 #include <ctype.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <signal.h>
 #include <spawn.h>
 #include <stdio.h>

+ 29 - 1
Userland/Libraries/LibC/sys/stat.h

@@ -26,12 +26,40 @@
 
 #pragma once
 
-#include <fcntl.h>
 #include <sys/cdefs.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
 
+#define S_IFMT 0170000
+#define S_IFDIR 0040000
+#define S_IFCHR 0020000
+#define S_IFBLK 0060000
+#define S_IFREG 0100000
+#define S_IFIFO 0010000
+#define S_IFLNK 0120000
+#define S_IFSOCK 0140000
+
+#define S_ISUID 04000
+#define S_ISGID 02000
+#define S_ISVTX 01000
+#define S_IRUSR 0400
+#define S_IWUSR 0200
+#define S_IXUSR 0100
+#define S_IREAD S_IRUSR
+#define S_IWRITE S_IWUSR
+#define S_IEXEC S_IXUSR
+#define S_IRGRP 0040
+#define S_IWGRP 0020
+#define S_IXGRP 0010
+#define S_IROTH 0004
+#define S_IWOTH 0002
+#define S_IXOTH 0001
+
+#define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
+
+#define S_IRWXG (S_IRWXU >> 3)
+#define S_IRWXO (S_IRWXG >> 3)
 #define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR)
 #define S_ISCHR(m) (((m)&S_IFMT) == S_IFCHR)
 #define S_ISBLK(m) (((m)&S_IFMT) == S_IFBLK)

+ 1 - 1
Userland/Services/SystemServer/Service.cpp

@@ -32,13 +32,13 @@
 #include <LibCore/ConfigFile.h>
 #include <LibCore/File.h>
 #include <LibCore/Socket.h>
+#include <fcntl.h>
 #include <grp.h>
 #include <libgen.h>
 #include <pwd.h>
 #include <sched.h>
 #include <stdio.h>
 #include <sys/ioctl.h>
-#include <sys/stat.h>
 #include <unistd.h>
 
 static HashMap<pid_t, Service*> s_service_map;

+ 1 - 0
Userland/Utilities/mktemp.cpp

@@ -26,6 +26,7 @@
 
 #include <AK/LexicalPath.h>
 #include <LibCore/ArgsParser.h>
+#include <fcntl.h>
 #include <stdio.h>
 #include <string.h>
 #include <sys/stat.h>

+ 1 - 0
Userland/Utilities/readelf.cpp

@@ -35,6 +35,7 @@
 #include <LibELF/Image.h>
 #include <LibELF/Validation.h>
 #include <ctype.h>
+#include <fcntl.h>
 #include <stdio.h>
 #include <unistd.h>
 

+ 1 - 0
Userland/Utilities/tee.cpp

@@ -30,6 +30,7 @@
 #include <fcntl.h>
 #include <signal.h>
 #include <stdio.h>
+#include <sys/stat.h>
 #include <unistd.h>
 
 static Vector<int> collect_fds(Vector<const char*> paths, bool append, bool* err)

+ 1 - 0
Userland/Utilities/truncate.cpp

@@ -26,6 +26,7 @@
 
 #include <LibCore/ArgsParser.h>
 
+#include <fcntl.h>
 #include <stdio.h>
 #include <sys/stat.h>
 #include <unistd.h>