1 /* SPDX-License-Identifier: LGPL-2.1+ */
9 VIRTUALIZATION_NONE
= 0,
11 VIRTUALIZATION_VM_FIRST
,
12 VIRTUALIZATION_KVM
= VIRTUALIZATION_VM_FIRST
,
17 VIRTUALIZATION_VMWARE
,
18 VIRTUALIZATION_ORACLE
,
19 VIRTUALIZATION_MICROSOFT
,
21 VIRTUALIZATION_PARALLELS
,
25 VIRTUALIZATION_VM_OTHER
,
26 VIRTUALIZATION_VM_LAST
= VIRTUALIZATION_VM_OTHER
,
28 VIRTUALIZATION_CONTAINER_FIRST
,
29 VIRTUALIZATION_SYSTEMD_NSPAWN
= VIRTUALIZATION_CONTAINER_FIRST
,
30 VIRTUALIZATION_LXC_LIBVIRT
,
32 VIRTUALIZATION_OPENVZ
,
33 VIRTUALIZATION_DOCKER
,
34 VIRTUALIZATION_PODMAN
,
37 VIRTUALIZATION_CONTAINER_OTHER
,
38 VIRTUALIZATION_CONTAINER_LAST
= VIRTUALIZATION_CONTAINER_OTHER
,
41 _VIRTUALIZATION_INVALID
= -1
44 static inline bool VIRTUALIZATION_IS_VM(int x
) {
45 return x
>= VIRTUALIZATION_VM_FIRST
&& x
<= VIRTUALIZATION_VM_LAST
;
48 static inline bool VIRTUALIZATION_IS_CONTAINER(int x
) {
49 return x
>= VIRTUALIZATION_CONTAINER_FIRST
&& x
<= VIRTUALIZATION_CONTAINER_LAST
;
53 int detect_container(void);
54 int detect_virtualization(void);
56 int running_in_userns(void);
57 int running_in_chroot(void);
59 const char *virtualization_to_string(int v
) _const_
;
60 int virtualization_from_string(const char *s
) _pure_
;