Block a user
2fbc6105d7
kernel+libc: Add O_DIRECTORY and use it in opendir()
61f969c60c
ls: Explicitly initialize booleans to false
43f90c4f88
cat: Use ArgumentParser
e6645ed607
StringView+apps: Add a _sv literal suffix to not confuse function overloads
e1c03150f8
ArgumentParser: Return leftover arguments from parse()
ef01f187c3
libluna: Add StringView
01813ff0dd
String: Rename from_string_literal to from_cstring
ee60ab78b3
String: is_empty + proper initialization
b6c35124d6
libluna: OwnedStringView -> String
7b0b3dabc4
apps: Add ls
3e30f0a88c
libc: Add opendir, readdir and closedir
5623f3c699
tmpfs: Set the mode of the root directory on creation
0320ffb485
Vector: Fix operator[]
0847cfcb65
kernel: Add a getdents() syscall
8eb4d693ac
VFS: Add virtual method get() for getdents() and make existence checking occur in add_entry()
0d54d0ece1
libc: Check for a compatible mode in fdopen()
6239ed83c7
kernel+libc: Add F_GETFD, F_SETFD, F_GETFL and F_SETFL to fcntl
770286a19d
kernel+libc: Implement fcntl() for F_DUPFD and F_DUPFD_CLOEXEC
0de41410c6
kernel: Use path as the new process name instead of argv[0]
8b712b04c2
kernel: Build with optimizations only in debug mode
36e48b2ad2
kernel: Do not attempt to close non-existent FDs on exec()
374a9ff7b8
kernel+libc: Implement O_CLOEXEC