]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/sd_machine_get_class.xml
license: LGPL-2.1+ -> LGPL-2.1-or-later
[thirdparty/systemd.git] / man / sd_machine_get_class.xml
CommitLineData
5c8da647 1<?xml version='1.0'?> <!--*-nxml-*-->
3a54a157 2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
12b42c76 3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
db9ecf05 4<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
5c8da647 5
7d6b2723 6<refentry id="sd_machine_get_class" xmlns:xi="http://www.w3.org/2001/XInclude">
5c8da647 7
798d3a52
ZJS
8 <refentryinfo>
9 <title>sd_machine_get_class</title>
10 <productname>systemd</productname>
798d3a52
ZJS
11 </refentryinfo>
12
13 <refmeta>
14 <refentrytitle>sd_machine_get_class</refentrytitle>
15 <manvolnum>3</manvolnum>
16 </refmeta>
17
18 <refnamediv>
19 <refname>sd_machine_get_class</refname>
20 <refname>sd_machine_get_ifindices</refname>
21 <refpurpose>Determine the class and network interface indices of a
e9dd6984 22 locally running virtual machine or container</refpurpose>
798d3a52
ZJS
23 </refnamediv>
24
25 <refsynopsisdiv>
26 <funcsynopsis>
27 <funcsynopsisinfo>#include &lt;systemd/sd-login.h&gt;</funcsynopsisinfo>
28
29 <funcprototype>
30 <funcdef>int <function>sd_machine_get_class</function></funcdef>
31 <paramdef>const char* <parameter>machine</parameter></paramdef>
707b66c6 32 <paramdef>char **<parameter>class</parameter></paramdef>
798d3a52
ZJS
33 </funcprototype>
34
35 <funcprototype>
36 <funcdef>int <function>sd_machine_get_ifindices</function></funcdef>
37 <paramdef>const char* <parameter>machine</parameter></paramdef>
0ef14adc 38 <paramdef>int **<parameter>ret_ifindices</parameter></paramdef>
798d3a52
ZJS
39 </funcprototype>
40 </funcsynopsis>
41 </refsynopsisdiv>
42
43 <refsect1>
44 <title>Description</title>
45
46 <para><function>sd_machine_get_class()</function> may be used to
47 determine the class of a locally running virtual machine or
48 container that is registered with
49 <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
50 The string returned is either <literal>vm</literal> or
51 <literal>container</literal>. The returned string needs to be
52 freed with the libc <citerefentry
53 project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
54 call after use.</para>
55
dd630d3c
ZJS
56 <para><function>sd_machine_get_ifindices()</function> may be used to determine the numeric indices of the
57 network interfaces on the host that are pointing towards the specified locally running virtual machine or
58 container. The vm or container must be registered with
798d3a52 59 <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
dd630d3c
ZJS
60 The output parameter <parameter>ret_ifindices</parameter> may be passed as <constant>NULL</constant> when
61 the output value is not needed. The returned array needs to be freed with the libc <citerefentry
62 project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> call after
63 use.</para>
798d3a52
ZJS
64 </refsect1>
65
66 <refsect1>
67 <title>Return Value</title>
68
dd630d3c
ZJS
69 <para>On success, these functions return a non-negative integer.
70 <function>sd_machine_get_ifindices()</function> returns the number of the relevant network interfaces.
71 On failure, these calls return a negative errno-style error code.</para>
798d3a52 72
b1de39de
ZJS
73 <refsect2>
74 <title>Errors</title>
707b66c6 75
b1de39de 76 <para>Returned errors may indicate the following problems:</para>
707b66c6 77
b1de39de 78 <variablelist>
707b66c6 79
b1de39de
ZJS
80 <varlistentry>
81 <term><constant>-ENXIO</constant></term>
707b66c6 82
b1de39de
ZJS
83 <listitem><para>The specified machine does not exist or is currently not running.</para>
84 </listitem>
85 </varlistentry>
707b66c6 86
b1de39de
ZJS
87 <varlistentry>
88 <term><constant>-EINVAL</constant></term>
707b66c6 89
b1de39de
ZJS
90 <listitem><para>An input parameter was invalid (out of range, or <constant>NULL</constant>, where
91 that is not accepted).</para></listitem>
92 </varlistentry>
707b66c6 93
b1de39de
ZJS
94 <varlistentry>
95 <term><constant>-ENOMEM</constant></term>
707b66c6 96
b1de39de
ZJS
97 <listitem><para>Memory allocation failed.</para></listitem>
98 </varlistentry>
99 </variablelist>
100 </refsect2>
707b66c6
LP
101 </refsect1>
102
7d6b2723 103 <xi:include href="libsystemd-pkgconfig.xml" />
798d3a52
ZJS
104
105 <refsect1>
106 <title>See Also</title>
107
108 <para>
109 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
110 <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
111 <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
112 <citerefentry><refentrytitle>sd_pid_get_machine_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>
113 </para>
114 </refsect1>
5c8da647
LP
115
116</refentry>