Commit Graph

46 Commits

Author SHA1 Message Date
62e14e7580
kernel+libos+apps: Support block devices and disallow seeking character devices or pipes
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-26 20:27:47 +02:00
38fae0c97b
ls: Show file modes visually
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-26 18:22:50 +02:00
1a6ad11462
kernel+libc+libos+ls: Add readlink()
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 15:42:38 +02:00
7a8ef52408
libos: Support not following symlinks 2023-05-20 21:49:25 +02:00
1fa8aeecce
libos: Allow Process::exec to take a slice of StringViews instead of Strings as arguments 2023-05-20 12:47:10 +02:00
4d106b6b8c
libos: Add error handling to vector argument usage
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-13 13:22:49 +02:00
65d3195caa
libos: Allow ArgumentParser users to specify they want leftover arguments
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-13 13:22:10 +02:00
300d68088b
libos: Add FileSystem::stat()
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-12 23:47:20 +02:00
b08ebdc3cb
libos: Show "Options:" label even if --help and --version are the only
options
2023-05-06 22:05:08 +02:00
3eb78aa5f3
libos+init: Add a new Path class to handle both file descriptors and file paths
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 17:37:26 +02:00
0fad179485
apps+libc+libos: Remove _LUNA_SYSTEM_ERROR_EXTENSIONS and reorder headers
All checks were successful
continuous-integration/drone/push Build is passing
libluna/libos headers can now go after errno.h, so there's no reason to keep them separate.
2023-05-02 10:51:53 +02:00
48df90e636
libos+apps: Use os::*print* instead of (f)printf
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-01 19:32:00 +02:00
a2303665fc
libos: Add os:: print(), println(), eprint(), and eprintln() 2023-05-01 19:31:15 +02:00
ac4bbd135b
libos: Add Directory::list()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-28 22:41:44 +02:00
6c5d6aaf00
libos: Make remove_tree_at use os::Directory
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-28 21:16:44 +02:00
3e277b5d6f
libos: Introduce os::Directory 2023-04-28 21:16:43 +02:00
80914f0bb9
ArgumentParser: Add support for version information
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-28 16:33:05 +02:00
cb28e2a385
libos: Add a convenience function for opening a file or standard input 2023-04-26 20:41:03 +02:00
fb09eb97ce
libos: Add File::read_all() and File::read_all_as_string() 2023-04-26 20:34:09 +02:00
5b69ce554c
init: Add a few more configuration options for services
All checks were successful
continuous-integration/drone/push Build is passing
Notably, redirecting a service's standard streams and waiting for a service to finish before continuing boot.
2023-04-25 21:00:12 +02:00
e378d8ee2f
Revert "libos: Make File::read_line optionally strip the ending newline"
All checks were successful
continuous-integration/drone/push Build is passing
This should be done by the caller, as making libos do it will not return a different value if the line was empty or was EOF.

Fortunately, we now have String::trim.
2023-04-22 15:21:04 +02:00
63a2df112d
libos: Make File::read_line optionally strip the ending newline 2023-04-22 13:55:07 +02:00
e654ed6415
libos: Allow passing environment to Process::exec 2023-04-22 13:54:47 +02:00
eb58b4acc8
libos: Add support for --help to ArgumentParser
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-19 19:16:45 +02:00
d56e8baca5
libos+rm: Add recursive removal of directories
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-19 18:20:44 +02:00
05144f65d1
libos: Remove unused include
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-19 18:19:22 +02:00
02f8a50b9d
kernel: Replace unlink() with unlinkat()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-18 19:36:29 +02:00
8560918931
libluna: Add Result<void>::from_syscall
Some checks failed
continuous-integration/drone/push Build is failing
2023-04-18 18:49:24 +02:00
67e9543675
os: Add FileSystem::change_directory
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-18 18:46:19 +02:00
00832163d4
libos: Add Process::exec
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-18 18:39:37 +02:00
6ce125d286
libos: Add a Process class
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-18 18:16:24 +02:00
fe11b04832
File: Add methods to read/write using buffers 2023-04-18 16:41:17 +02:00
82e7b0e860
kernel: Introduce *at() syscall framework, add openat() and fstatat()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-15 20:26:15 +02:00
5df16a9bff
libos: Add FileSystem 2023-04-13 18:33:04 +02:00
60c6e764a4
libos+apps: Add some missing functionality to File and eliminate any trace of C from cat and edit
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-13 17:31:21 +02:00
26ff964ec1
libos: Add a new main() function 2023-04-13 17:04:59 +02:00
d97bf991d1
libos: Add a very bare-bones C++ RAII File class 2023-04-12 21:46:10 +02:00
7b8260f3f6
all: Enable/disable debug symbols/optimization in COMMON_FLAGS 2023-04-07 12:07:08 +02:00
d07b00a892
all: Move all warning flags to a common CMake variable 2023-04-07 12:02:49 +02:00
4c0dff9b32
libos: Remove a stray os-freestanding from the CMakeLists 2023-04-07 11:53:41 +02:00
c752b2b343
libos: Put everything under the os namespace 2023-04-07 10:40:46 +02:00
f1e2937528
ArgumentParser: Parse short value arguments 2023-04-07 10:37:15 +02:00
e1c03150f8
ArgumentParser: Return leftover arguments from parse() 2023-03-29 22:07:42 +02:00
75c48e996a
ArgumentParser+date: Add value arguments
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-29 21:46:07 +02:00
d68f6bd76b
ArgumentParser+ls: Add switch arguments
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-29 19:25:11 +02:00
a164dcc160
libos: Add libos + very basic ArgumentParser
All checks were successful
continuous-integration/drone/push Build is passing
libluna but for stuff that interests only userspace, like an argument parser or files or stuff like that.
2023-03-29 18:27:02 +02:00