1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:47:35 +00:00

LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCore

With this change, System::foo() becomes Core::System::foo().

Since LibCore builds on other systems than SerenityOS, we now have to
make sure that wrappers work with just a standard C library underneath.
This commit is contained in:
Andreas Kling 2021-11-23 10:59:50 +01:00
parent acc2eccede
commit 21a5fb0fa2
32 changed files with 165 additions and 173 deletions

View file

@ -7,8 +7,8 @@
#include <AK/StringUtils.h>
#include <LibCore/Account.h>
#include <LibCore/ArgsParser.h>
#include <LibCore/System.h>
#include <LibMain/Main.h>
#include <LibSystem/Wrappers.h>
#include <alloca.h>
#include <grp.h>
#include <pwd.h>
@ -25,10 +25,10 @@ static String user_str;
ErrorOr<int> serenity_main(Main::Arguments arguments)
{
TRY(System::unveil("/etc/passwd", "r"));
TRY(System::unveil("/etc/group", "r"));
TRY(System::unveil(nullptr, nullptr));
TRY(System::pledge("stdio rpath", nullptr));
TRY(Core::System::unveil("/etc/passwd", "r"));
TRY(Core::System::unveil("/etc/group", "r"));
TRY(Core::System::unveil(nullptr, nullptr));
TRY(Core::System::pledge("stdio rpath", nullptr));
Core::ArgsParser args_parser;
args_parser.add_option(flag_print_uid, "Print UID", nullptr, 'u');

View file

@ -13,6 +13,7 @@
#include <LibCore/ArgsParser.h>
#include <LibCore/File.h>
#include <LibCore/StandardPaths.h>
#include <LibCore/System.h>
#include <LibJS/AST.h>
#include <LibJS/Bytecode/BasicBlock.h>
#include <LibJS/Bytecode/Generator.h>
@ -61,7 +62,6 @@
#include <LibJS/Runtime/Value.h>
#include <LibLine/Editor.h>
#include <LibMain/Main.h>
#include <LibSystem/Wrappers.h>
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
@ -1107,7 +1107,7 @@ public:
ErrorOr<int> serenity_main(Main::Arguments arguments)
{
#ifdef __serenity__
TRY(System::pledge("stdio rpath wpath cpath tty sigaction", nullptr));
TRY(Core::System::pledge("stdio rpath wpath cpath tty sigaction", nullptr));
#endif
bool gc_on_every_allocation = false;

View file

@ -6,12 +6,12 @@
#include <AK/JsonObject.h>
#include <LibCore/File.h>
#include <LibCore/System.h>
#include <LibMain/Main.h>
#include <LibSystem/Wrappers.h>
ErrorOr<int> serenity_main(Main::Arguments)
{
TRY(System::pledge("stdio rpath", nullptr));
TRY(Core::System::pledge("stdio rpath", nullptr));
auto file = TRY(Core::File::open("/proc/cpuinfo", Core::OpenMode::ReadOnly));
auto buffer = file->read_all();

View file

@ -9,20 +9,20 @@
#include <LibCore/DateTime.h>
#include <LibCore/File.h>
#include <LibCore/ProcessStatisticsReader.h>
#include <LibCore/System.h>
#include <LibMain/Main.h>
#include <LibSystem/Wrappers.h>
#include <pwd.h>
#include <sys/stat.h>
#include <time.h>
ErrorOr<int> serenity_main(Main::Arguments)
{
TRY(System::pledge("stdio rpath", nullptr));
TRY(System::unveil("/dev", "r"));
TRY(System::unveil("/etc/passwd", "r"));
TRY(System::unveil("/var/run/utmp", "r"));
TRY(System::unveil("/proc", "r"));
TRY(System::unveil(nullptr, nullptr));
TRY(Core::System::pledge("stdio rpath", nullptr));
TRY(Core::System::unveil("/dev", "r"));
TRY(Core::System::unveil("/etc/passwd", "r"));
TRY(Core::System::unveil("/var/run/utmp", "r"));
TRY(Core::System::unveil("/proc", "r"));
TRY(Core::System::unveil(nullptr, nullptr));
auto file = TRY(Core::File::open("/var/run/utmp", Core::OpenMode::ReadOnly));
auto json = TRY(JsonValue::from_string(file->read_all()));