diff options
author | Andreas Kling <kling@serenityos.org> | 2021-08-14 19:03:23 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-08-14 19:58:11 +0200 |
commit | 9c2212a60adba88c0f9bd93a772c5ea7bb9d8106 (patch) | |
tree | 291d965663b5f94e3dcf8ed2e4db39c4c8f43ec5 | |
parent | d33b43276c6319055bc212d68fab9ca5f47cfa87 (diff) | |
download | serenity-9c2212a60adba88c0f9bd93a772c5ea7bb9d8106.zip |
Kernel+LibC: Share definitions for unistd.h
-rw-r--r-- | Kernel/API/POSIX/unistd.h | 57 | ||||
-rw-r--r-- | Kernel/UnixTypes.h | 47 | ||||
-rw-r--r-- | Userland/Libraries/LibC/stdio.h | 4 | ||||
-rw-r--r-- | Userland/Libraries/LibC/unistd.h | 38 |
4 files changed, 59 insertions, 87 deletions
diff --git a/Kernel/API/POSIX/unistd.h b/Kernel/API/POSIX/unistd.h new file mode 100644 index 0000000000..2562b923f0 --- /dev/null +++ b/Kernel/API/POSIX/unistd.h @@ -0,0 +1,57 @@ +/* + * 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 STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#define R_OK 4 +#define W_OK 2 +#define X_OK 1 +#define F_OK 0 + +#define MS_NODEV (1 << 0) +#define MS_NOEXEC (1 << 1) +#define MS_NOSUID (1 << 2) +#define MS_BIND (1 << 3) +#define MS_RDONLY (1 << 4) +#define MS_REMOUNT (1 << 5) + +enum { + _SC_MONOTONIC_CLOCK, + _SC_NPROCESSORS_CONF, + _SC_NPROCESSORS_ONLN, + _SC_OPEN_MAX, + _SC_TTY_NAME_MAX, + _SC_PAGESIZE, + _SC_GETPW_R_SIZE_MAX, + _SC_CLK_TCK, +}; + +#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK +#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF +#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN +#define _SC_OPEN_MAX _SC_OPEN_MAX +#define _SC_PAGESIZE _SC_PAGESIZE +#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX +#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX +#define _SC_CLK_TCK _SC_CLK_TCK + +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +#ifdef __cplusplus +} +#endif diff --git a/Kernel/UnixTypes.h b/Kernel/UnixTypes.h index d579ee695a..5866fa4934 100644 --- a/Kernel/UnixTypes.h +++ b/Kernel/UnixTypes.h @@ -26,53 +26,11 @@ #include <Kernel/API/POSIX/sys/wait.h> #include <Kernel/API/POSIX/termios.h> #include <Kernel/API/POSIX/time.h> +#include <Kernel/API/POSIX/unistd.h> // Kernel internal options. #define O_NOFOLLOW_NOERROR (1 << 29) #define O_UNLINK_INTERNAL (1 << 30) - -#define MS_NODEV (1 << 0) -#define MS_NOEXEC (1 << 1) -#define MS_NOSUID (1 << 2) -#define MS_BIND (1 << 3) -#define MS_RDONLY (1 << 4) -#define MS_REMOUNT (1 << 5) - -enum { - _SC_MONOTONIC_CLOCK, - _SC_NPROCESSORS_CONF, - _SC_NPROCESSORS_ONLN, - _SC_OPEN_MAX, - _SC_TTY_NAME_MAX, - _SC_PAGESIZE, - _SC_GETPW_R_SIZE_MAX, - _SC_CLK_TCK, -}; - -#define R_OK 4 -#define W_OK 2 -#define X_OK 1 -#define F_OK 0 - -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 - -#define MADV_SET_VOLATILE 0x100 -#define MADV_SET_NONVOLATILE 0x200 - -#define F_DUPFD 0 -#define F_GETFD 1 -#define F_SETFD 2 -#define F_GETFL 3 -#define F_SETFL 4 -#define F_ISTTY 5 -#define F_GETLK 6 -#define F_SETLK 7 -#define F_SETLKW 8 - -#define FD_CLOEXEC 1 - // Avoid interference with AK/Types.h and LibC/sys/types.h by defining *separate* names: TYPEDEF_DISTINCT_ORDERED_ID(pid_t, ProcessID); TYPEDEF_DISTINCT_ORDERED_ID(pid_t, ThreadID); @@ -115,9 +73,6 @@ struct sched_param { int sched_priority; }; -#define AT_FDCWD -100 -#define AT_SYMLINK_NOFOLLOW 0x100 - #define PT_TRACE_ME 1 #define PT_ATTACH 2 #define PT_CONTINUE 3 diff --git a/Userland/Libraries/LibC/stdio.h b/Userland/Libraries/LibC/stdio.h index ecd1393fc9..80c6e77eb0 100644 --- a/Userland/Libraries/LibC/stdio.h +++ b/Userland/Libraries/LibC/stdio.h @@ -21,10 +21,6 @@ __BEGIN_DECLS # define EOF (-1) #endif -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 - #define _IOFBF 0 #define _IOLBF 1 #define _IONBF 2 diff --git a/Userland/Libraries/LibC/unistd.h b/Userland/Libraries/LibC/unistd.h index 0f952a9a99..20a856f2e0 100644 --- a/Userland/Libraries/LibC/unistd.h +++ b/Userland/Libraries/LibC/unistd.h @@ -13,17 +13,13 @@ #pragma once +#include <Kernel/API/POSIX/unistd.h> #include <fd_set.h> #include <limits.h> -#include <sys/cdefs.h> -#include <sys/types.h> __BEGIN_DECLS #define HZ 1000 -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 /* lseek whence values */ #ifndef _STDIO_H /* also defined in stdio.h */ @@ -130,18 +126,6 @@ enum { _PC_VDISABLE }; -#define R_OK 4 -#define W_OK 2 -#define X_OK 1 -#define F_OK 0 - -#define MS_NODEV (1 << 0) -#define MS_NOEXEC (1 << 1) -#define MS_NOSUID (1 << 2) -#define MS_BIND (1 << 3) -#define MS_RDONLY (1 << 4) -#define MS_REMOUNT (1 << 5) - #define _POSIX_MONOTONIC_CLOCK 200112L #define _POSIX_SAVED_IDS #define _POSIX_TIMERS 200809L @@ -153,26 +137,6 @@ enum { #define _POSIX_PRIORITY_SCHEDULING #define _POSIX_VDISABLE '\0' -enum { - _SC_MONOTONIC_CLOCK, - _SC_NPROCESSORS_CONF, - _SC_NPROCESSORS_ONLN, - _SC_OPEN_MAX, - _SC_TTY_NAME_MAX, - _SC_PAGESIZE, - _SC_GETPW_R_SIZE_MAX, - _SC_CLK_TCK, -}; - -#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK -#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF -#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN -#define _SC_OPEN_MAX _SC_OPEN_MAX -#define _SC_PAGESIZE _SC_PAGESIZE -#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX -#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX -#define _SC_CLK_TCK _SC_CLK_TCK - long sysconf(int name); // If opterr is set (the default), print error messages to stderr. |