mirror of
https://github.com/systemd/systemd.git
synced 2024-10-26 17:27:41 +03:00
detect-virt: add new --list command for showing all currently known VM/container envs
This commit is contained in:
parent
5c828e66b5
commit
398246292e
@ -230,6 +230,12 @@
|
||||
technology identifier.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--list</option></term>
|
||||
|
||||
<listitem><para>Output all currently known and detectable container and VM environments.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
</variablelist>
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "string-table.h"
|
||||
#include "util.h"
|
||||
#include "virt.h"
|
||||
|
||||
@ -32,6 +33,7 @@ static void help(void) {
|
||||
" -r --chroot Detect whether we are run in a chroot() environment\n"
|
||||
" --private-users Only detect whether we are running in a user namespace\n"
|
||||
" -q --quiet Don't output anything, just set return value\n"
|
||||
" --list List all known and detectable types of virtualization\n"
|
||||
, program_invocation_short_name);
|
||||
}
|
||||
|
||||
@ -40,6 +42,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
enum {
|
||||
ARG_VERSION = 0x100,
|
||||
ARG_PRIVATE_USERS,
|
||||
ARG_LIST,
|
||||
};
|
||||
|
||||
static const struct option options[] = {
|
||||
@ -50,6 +53,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
{ "chroot", no_argument, NULL, 'r' },
|
||||
{ "private-users", no_argument, NULL, ARG_PRIVATE_USERS },
|
||||
{ "quiet", no_argument, NULL, 'q' },
|
||||
{ "list", no_argument, NULL, ARG_LIST },
|
||||
{}
|
||||
};
|
||||
|
||||
@ -89,6 +93,10 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
arg_mode = ONLY_CHROOT;
|
||||
break;
|
||||
|
||||
case ARG_LIST:
|
||||
DUMP_STRING_TABLE(virtualization, int, _VIRTUALIZATION_MAX);
|
||||
return 0;
|
||||
|
||||
case '?':
|
||||
return -EINVAL;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user