Serenity Operating System
at master 31 lines 932 B view raw
1/* 2 * Copyright (c) 2019-2020, Jesse Buhagiar <jooster669@gmail.com> 3 * Copyright (c) 2021, Brandon Pruitt <brapru@pm.me> 4 * Copyright (c) 2021, Maxime Friess <M4x1me@pm.me> 5 * Copyright (c) 2022, Kenneth Myhra <kennethmyhra@serenityos.org> 6 * 7 * SPDX-License-Identifier: BSD-2-Clause 8 */ 9 10#include <LibCore/ArgsParser.h> 11#include <LibCore/Group.h> 12#include <LibCore/System.h> 13#include <LibMain/Main.h> 14 15ErrorOr<int> serenity_main(Main::Arguments arguments) 16{ 17 TRY(Core::System::pledge("stdio wpath rpath cpath chown")); 18 19 gid_t gid = 0; 20 StringView group_name; 21 22 Core::ArgsParser args_parser; 23 args_parser.add_option(gid, "Group ID (gid) for the new group", "gid", 'g', "gid"); 24 args_parser.add_positional_argument(group_name, "Name of the group (groupname)", "group"); 25 args_parser.parse(arguments); 26 27 auto group = Core::Group { group_name, gid }; 28 TRY(Core::Group::add_group(group)); 29 30 return 0; 31}