Serenity Operating System
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}