1 /* SPDX-License-Identifier: LGPL-2.1+ */
5 Copyright 2011 Lennart Poettering
13 VIRTUALIZATION_NONE
= 0,
15 VIRTUALIZATION_VM_FIRST
,
16 VIRTUALIZATION_KVM
= VIRTUALIZATION_VM_FIRST
,
21 VIRTUALIZATION_VMWARE
,
22 VIRTUALIZATION_ORACLE
,
23 VIRTUALIZATION_MICROSOFT
,
25 VIRTUALIZATION_PARALLELS
,
28 VIRTUALIZATION_VM_OTHER
,
29 VIRTUALIZATION_VM_LAST
= VIRTUALIZATION_VM_OTHER
,
31 VIRTUALIZATION_CONTAINER_FIRST
,
32 VIRTUALIZATION_SYSTEMD_NSPAWN
= VIRTUALIZATION_CONTAINER_FIRST
,
33 VIRTUALIZATION_LXC_LIBVIRT
,
35 VIRTUALIZATION_OPENVZ
,
36 VIRTUALIZATION_DOCKER
,
38 VIRTUALIZATION_CONTAINER_OTHER
,
39 VIRTUALIZATION_CONTAINER_LAST
= VIRTUALIZATION_CONTAINER_OTHER
,
42 _VIRTUALIZATION_INVALID
= -1
45 static inline bool VIRTUALIZATION_IS_VM(int x
) {
46 return x
>= VIRTUALIZATION_VM_FIRST
&& x
<= VIRTUALIZATION_VM_LAST
;
49 static inline bool VIRTUALIZATION_IS_CONTAINER(int x
) {
50 return x
>= VIRTUALIZATION_CONTAINER_FIRST
&& x
<= VIRTUALIZATION_CONTAINER_LAST
;
54 int detect_container(void);
55 int detect_virtualization(void);
57 int running_in_userns(void);
58 int running_in_chroot(void);
60 const char *virtualization_to_string(int v
) _const_
;
61 int virtualization_from_string(const char *s
) _pure_
;