Kernel, libc: Add O_EXCL

This commit is contained in:
apio 2022-10-27 07:55:59 +02:00
parent 211c76f920
commit 9b0f6b6595
2 changed files with 14 additions and 0 deletions

View File

@ -21,6 +21,7 @@
#define OPEN_TRUNCATED 32
#define OPEN_CREATE 64
#define OPEN_APPEND 128
#define OPEN_EXCL 256
#define SEEK_SET 0
#define SEEK_CUR 1
@ -164,6 +165,17 @@ void sys_open(Context* context, const char* filename, int flags, mode_t) // FIXM
context->rax = -ENOENT;
return;
}
else
{
bool excl = (flags & OPEN_EXCL) > 0;
if (excl)
{
kfree(kfilename);
context->rax = -EEXIST;
return;
}
}
bool can_read = (flags & OPEN_READ) > 0;
bool can_write = (flags & OPEN_WRITE) > 0;

View File

@ -19,6 +19,8 @@
#define O_CREAT 64
/* Open the file for appending. */
#define O_APPEND 128
/* Fail to open the file if it already exists. */
#define O_EXCL 256
/* Duplicate a file descriptor. */
#define F_DUPFD 0