27 lines
719 B
C++
27 lines
719 B
C++
#include <os/ArgumentParser.h>
|
|
#include <stdio.h>
|
|
#include <sys/mount.h>
|
|
|
|
Result<int> luna_main(int argc, char** argv)
|
|
{
|
|
StringView target;
|
|
StringView fstype { "auto" };
|
|
StringView source;
|
|
|
|
os::ArgumentParser parser;
|
|
parser.add_description("Mount a file system.");
|
|
parser.add_system_program_info("mount"_sv);
|
|
parser.add_positional_argument(source, "source"_sv, true);
|
|
parser.add_positional_argument(target, "mountpoint"_sv, true);
|
|
parser.add_value_argument(fstype, 't', "type"_sv, "the file system type to use");
|
|
parser.parse(argc, argv);
|
|
|
|
if (mount(target.chars(), fstype.chars(), source.chars()) < 0)
|
|
{
|
|
perror("mount");
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|