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
,
35 VIRTUALIZATION_CONTAINER_OTHER
,
36 VIRTUALIZATION_CONTAINER_LAST
= VIRTUALIZATION_CONTAINER_OTHER
,
39 _VIRTUALIZATION_INVALID
= -1
42 static inline bool VIRTUALIZATION_IS_VM(int x
) {
43 return x
>= VIRTUALIZATION_VM_FIRST
&& x
<= VIRTUALIZATION_VM_LAST
;
46 static inline bool VIRTUALIZATION_IS_CONTAINER(int x
) {
47 return x
>= VIRTUALIZATION_CONTAINER_FIRST
&& x
<= VIRTUALIZATION_CONTAINER_LAST
;
51 int detect_container(void);
52 int detect_virtualization(void);
54 int running_in_userns(void);
55 int running_in_chroot(void);
57 const char *virtualization_to_string(int v
) _const_
;
58 int virtualization_from_string(const char *s
) _pure_
;