1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:24:57 +00:00

Kernel+LibC: Share definitions in fcntl.h and sys/types.h

This patch begins the work of sharing types and macros between Kernel
and LibC instead of duplicating them via the kludge in UnixTypes.h.

The basic idea is that the Kernel vends various POSIX headers via
Kernel/API/POSIX/ and LibC simply #include's them to get the macros.
This commit is contained in:
Andreas Kling 2021-08-14 15:36:26 +02:00
parent 5c3440c5db
commit 740140a661
6 changed files with 166 additions and 162 deletions

View file

@ -8,22 +8,7 @@
#include <AK/DistinctNumeric.h>
#include <AK/Types.h>
#define O_RDONLY (1 << 0)
#define O_WRONLY (1 << 1)
#define O_RDWR (O_RDONLY | O_WRONLY)
#define O_ACCMODE (O_RDONLY | O_WRONLY)
#define O_EXEC (1 << 2)
#define O_CREAT (1 << 3)
#define O_EXCL (1 << 4)
#define O_NOCTTY (1 << 5)
#define O_TRUNC (1 << 6)
#define O_APPEND (1 << 7)
#define O_NONBLOCK (1 << 8)
#define O_DIRECTORY (1 << 9)
#define O_NOFOLLOW (1 << 10)
#define O_CLOEXEC (1 << 11)
#define O_DIRECT (1 << 12)
#include <Kernel/API/POSIX/fcntl.h>
// Kernel internal options.
#define O_NOFOLLOW_NOERROR (1 << 29)
@ -426,11 +411,6 @@ struct sigaction {
typedef i64 off_t;
typedef i64 time_t;
struct utimbuf {
time_t actime;
time_t modtime;
};
typedef u32 blksize_t;
typedef u32 blkcnt_t;
@ -770,15 +750,3 @@ struct statvfs {
unsigned long f_flag;
unsigned long f_namemax;
};
#define F_RDLCK ((short)0)
#define F_WRLCK ((short)1)
#define F_UNLCK ((short)2)
struct flock {
short l_type;
short l_whence;
off_t l_start;
off_t l_len;
pid_t l_pid;
};