]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/sd_bus_set_address.xml
man: fix incorrectly placed full stop
[thirdparty/systemd.git] / man / sd_bus_set_address.xml
CommitLineData
3f549982
ZJS
1<?xml version='1.0'?>
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<!-- SPDX-License-Identifier: LGPL-2.1+ -->
5
6<refentry id="sd_bus_set_address"
7 xmlns:xi="http://www.w3.org/2001/XInclude">
8
9 <refentryinfo>
10 <title>sd_bus_set_address</title>
11 <productname>systemd</productname>
12 </refentryinfo>
13
14 <refmeta>
15 <refentrytitle>sd_bus_set_address</refentrytitle>
16 <manvolnum>3</manvolnum>
17 </refmeta>
18
19 <refnamediv>
20 <refname>sd_bus_set_address</refname>
21 <refname>sd_bus_get_address</refname>
3415b0cc 22 <refname>sd_bus_set_exec</refname>
3f549982
ZJS
23
24 <refpurpose>Set or query the address of the bus connection</refpurpose>
25 </refnamediv>
26
27 <refsynopsisdiv>
28 <funcsynopsis>
29 <funcsynopsisinfo>#include &lt;systemd/sd-bus.h&gt;</funcsynopsisinfo>
30
31 <funcprototype>
32 <funcdef>int <function>sd_bus_set_address</function></funcdef>
33 <paramdef>sd_bus *<parameter>bus</parameter></paramdef>
3415b0cc 34 <paramdef>const char *<parameter>address</parameter></paramdef>
3f549982
ZJS
35 </funcprototype>
36
37 <funcprototype>
38 <funcdef>int <function>sd_bus_get_address</function></funcdef>
39 <paramdef>sd_bus *<parameter>bus</parameter></paramdef>
3415b0cc 40 <paramdef>const char **<parameter>address</parameter></paramdef>
3f549982
ZJS
41 </funcprototype>
42
3415b0cc
DDM
43 <funcprototype>
44 <funcdef>int <function>sd_bus_set_exec</function></funcdef>
45 <paramdef>sd_bus *<parameter>bus</parameter></paramdef>
46 <paramdef>const char *<parameter>path</parameter></paramdef>
47 <paramdef>char *const *<parameter>argv</parameter></paramdef>
48 </funcprototype>
3f549982
ZJS
49 </funcsynopsis>
50 </refsynopsisdiv>
51
52 <refsect1>
53 <title>Description</title>
54
55 <para><function>sd_bus_set_address()</function> configures a list of addresses of bus brokers to try to
56 connect to from a subsequent
57 <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry> call.
58 The argument is a <literal>;</literal>-separated list of addresses to try. Each item must be one of the
59 following:
60 </para>
61
62 <itemizedlist>
63 <listitem>
64 <para>A unix socket address specified as
65 <literal>unix:guid=<replaceable>guid</replaceable>,path=<replaceable>path</replaceable></literal> or
66 <literal>unix:guid=<replaceable>guid</replaceable>,abstract=<replaceable>path</replaceable></literal>.
67 Exactly one of the <varname>path=</varname> and <varname>abstract=</varname> keys must be present,
68 while <varname>guid=</varname> is optional.</para>
69 </listitem>
70
71 <listitem>
72 <para>A TCP socket address specified as
73 <literal>tcp:[guid=<replaceable>guid</replaceable>,][host=<replaceable>host</replaceable>][,port=<replaceable>port</replaceable>][,family=<replaceable>family</replaceable>]</literal>.
74 One or both of the <varname>host=</varname> and <varname>port=</varname> keys must be present, while
75 the rest is optional. <replaceable>family</replaceable> may be either <option>ipv4</option> or
76 <option>ipv6</option>.</para>
77 </listitem>
3415b0cc 78
3f549982
ZJS
79 <listitem>
80 <para>An executable to spawn specified as
81 <literal>unixexec:guid=<replaceable>guid</replaceable>,path=<replaceable>path</replaceable>,argv1=<replaceable>argument</replaceable>,argv2=<replaceable>argument</replaceable>,...</literal>.
82 The <varname>path=</varname> key must be present, while <varname>guid=</varname> is optional.</para>
83 </listitem>
3415b0cc 84
3f549982
ZJS
85 <listitem>
86 <para>A machine (container) to connect to specified as
87 <literal>x-machine-unix:guid=<replaceable>guid</replaceable>,machine=<replaceable>machine</replaceable>,pid=<replaceable>pid</replaceable></literal>.
88 Exactly one of the <varname>machine=</varname> and <varname>pid=</varname> keys must be present,
89 while <varname>guid=</varname> is optional. <parameter>machine</parameter> is the name of a local
90 container. See
91 <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> for
92 more information about the "machine" concept. <literal>machine=.host</literal> may be used to specify
93 the host machine. A connection to the standard system bus socket inside of the specified machine will
94 be created.</para>
95 </listitem>
96 </itemizedlist>
97
98 <para>In all cases, parameter <parameter>guid</parameter> is an identifier of the remote peer, in the
99 syntax accepted by
100 <citerefentry><refentrytitle>sd_id128_from_string</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
101 If specified, the identifier returned by the peer after the connection is established will be checked and
102 the connection will be rejected in case of a mismatch.</para>
103
104 <para>Note that the addresses passed to <function>sd_bus_set_address()</function> may not be verified
105 immediately. If they are invalid, an error may be returned e.g. from a subsequent call to
106 <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
107 </para>
108
109 <para><function>sd_bus_get_address()</function> returns any previously set addresses. In addition to
110 being explicitly set by <function>sd_bus_set_address()</function>, the address will also be set
111 automatically by
112 <citerefentry><refentrytitle>sd_bus_open</refentrytitle><manvolnum>3</manvolnum></citerefentry> and
113 similar calls, based on environment variables or built-in defaults.</para>
3415b0cc
DDM
114
115 <para><function>sd_bus_set_exec</function> is a shorthand function for setting a
116 <literal>unixexec</literal> address that spawns the given executable with the given arguments.
117 If <parameter>argv</parameter> is <constant>NULL</constant>, the given executable is spawned
118 without any extra arguments.</para>
3f549982
ZJS
119 </refsect1>
120
121 <refsect1>
122 <title>Return Value</title>
123
124 <para>On success, these functions return a non-negative integer. On failure, they return a negative
125 errno-style error code.</para>
126
127 <refsect2>
128 <title>Errors</title>
129
130 <para>Returned errors may indicate the following problems:</para>
131
132 <variablelist>
133 <varlistentry>
134 <term><constant>-EINVAL</constant></term>
135
136 <listitem><para>The input parameters <parameter>bus</parameter> or <parameter>address</parameter> are <constant>NULL</constant>.
137 </para></listitem>
138 </varlistentry>
139
140 <varlistentry>
141 <term><constant>-ENOPKG</constant></term>
142
143 <listitem><para>The bus object <parameter>bus</parameter> could not be resolved.</para>
144 </listitem>
145 </varlistentry>
146
147 <varlistentry>
148 <term><constant>-EPERM</constant></term>
149
150 <listitem><para>The input parameter <parameter>bus</parameter> is in a wrong state
151 (<function>sd_bus_set_address()</function> may only be called once on a newly-created bus object).</para>
152 </listitem>
153 </varlistentry>
154
155 <varlistentry>
156 <term><constant>-ECHILD</constant></term>
157
158 <listitem><para>The bus object <parameter>bus</parameter> was created in a different
159 process.</para>
160 </listitem>
161 </varlistentry>
162
163 <varlistentry>
164 <term><constant>-ENODATA</constant></term>
165
166 <listitem><para>The bus object <parameter>bus</parameter> has no address configured.</para>
167 </listitem>
168 </varlistentry>
169 </variablelist>
170 </refsect2>
171 </refsect1>
172
173 <xi:include href="libsystemd-pkgconfig.xml" />
174
175 <refsect1>
176 <title>See Also</title>
177
178 <para>
179 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
180 <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
181 <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
182 <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
183 <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
184 <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
185 </para>
186 </refsect1>
187
188</refentry>