Serenity Operating System
at master 27 lines 726 B view raw
1/* 2 * Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#include <LibCore/ArgsParser.h> 8#include <LibCore/System.h> 9#include <LibMain/Main.h> 10#include <unistd.h> 11 12ErrorOr<int> serenity_main(Main::Arguments arguments) 13{ 14 StringView new_jail_name; 15 Core::ArgsParser args_parser; 16 args_parser.add_positional_argument(new_jail_name, "New jail name", "jail name"); 17 args_parser.parse(arguments); 18 19 TRY(Core::System::pledge("stdio jail")); 20 21 if (!new_jail_name.is_null() && !new_jail_name.is_empty()) { 22 TRY(Core::System::create_jail(new_jail_name)); 23 return 0; 24 } 25 26 return Error::from_string_view("Can't create a jail with empty name."sv); 27}