sd_machine_get_class, sd_machine_get_ifindices — Determine the class and network interface indices of a locally running virtual machine or container.
#include <systemd/sd-login.h>
int sd_machine_get_class( | const char* machine, | 
char *class); | 
int sd_machine_get_ifindices( | const char* machine, | 
int **ifindices); | 
sd_machine_get_class() may
                be used to determine the class of a locally running
                virtual machine or container that is registered with
                systemd-machined.service(8). The
                string returned is either "vm" or
                "container".  The returned string
                needs to be freed with the libc free(3)
                call after use.
sd_machine_get_ifindices()
                may be used to determine the numeric indices of the
                network interfaces on the host that are pointing
                towards the specified locally running virtual machine
                or container that is registered with
                systemd-machined.service(8). The
                returned array needs to be freed with the libc
                free(3)
                call after use.
On success, these calls return 0 or a positive integer. On failure, these calls return a negative errno-style error code.
The sd_machine_get_class() and
                sd_machine_get_ifindices() interfaces are
                available as a shared library, which can be compiled
                and linked to with the
                libsystemd pkg-config(1)
                file.