<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="sd_bus_error" xmlns:xi="http://www.w3.org/2001/XInclude">
<refname>sd_bus_error_free</refname>
<refname>sd_bus_error_set</refname>
<refname>sd_bus_error_setf</refname>
+ <refname>sd_bus_error_setfv</refname>
<refname>sd_bus_error_set_const</refname>
<refname>sd_bus_error_set_errno</refname>
<refname>sd_bus_error_set_errnof</refname>
const char *message;
…
} sd_bus_error;</funcsynopsisinfo>
+ </funcsynopsis>
- <para>
- <constant>SD_BUS_ERROR_MAKE_CONST(<replaceable>name</replaceable>, <replaceable>message</replaceable>)</constant>
- </para>
- <para>
- <constant>SD_BUS_ERROR_NULL</constant>
- </para>
+ <para>
+ <constant>SD_BUS_ERROR_MAKE_CONST(<replaceable>name</replaceable>, <replaceable>message</replaceable>)</constant>
+ </para>
+ <para>
+ <constant>SD_BUS_ERROR_NULL</constant>
+ </para>
+ <funcsynopsis>
<funcprototype>
<funcdef>void <function>sd_bus_error_free</function></funcdef>
<paramdef>sd_bus_error *<parameter>e</parameter></paramdef>
<paramdef>…</paramdef>
</funcprototype>
+ <funcprototype>
+ <funcdef>int <function>sd_bus_error_setfv</function></funcdef>
+ <paramdef>sd_bus_error *<parameter>e</parameter></paramdef>
+ <paramdef>const char *<parameter>name</parameter></paramdef>
+ <paramdef>const char *<parameter>format</parameter></paramdef>
+ <paramdef>va_list <parameter>ap</parameter></paramdef>
+ </funcprototype>
+
<funcprototype>
<funcdef>int <function>sd_bus_error_set_const</function></funcdef>
<paramdef>sd_bus_error *<parameter>e</parameter></paramdef>
<paramdef>const sd_bus_error *<parameter>e</parameter></paramdef>
<paramdef>...</paramdef>
</funcprototype>
-
- <para>
- #define sd_bus_error_has_names(e, ...) sd_bus_error_has_names_sentinel(e, ..., NULL)
- </para>
</funcsynopsis>
+ <para>
+ #define sd_bus_error_has_names(e, ...) sd_bus_error_has_names_sentinel(e, ..., NULL)
+ </para>
+
</refsynopsisdiv>
<refsect1>
<itemizedlist>
<listitem><para>The <structfield>name</structfield> field contains a short identifier of an error. It
should follow the rules for error names described in the D-Bus specification, subsection <ulink
- url="http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names">Valid
- Names</ulink>. A number of common, standardized error names are described in
+ url="https://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names">Valid
+ D-Bus Names</ulink>. A number of common, standardized error names are described in
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>, but
additional domain-specific errors may be defined by applications.</para></listitem>
which case an <constant>SD_BUS_ERROR_NO_MEMORY</constant> error will be set instead and
<constant>-ENOMEM</constant> returned. </para>
- <para><function>sd_bus_error_setf()</function> is similar to
- <function>sd_bus_error_set()</function>, but takes a <citerefentry
- project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- format string and corresponding arguments to generate the
- <structfield>message</structfield> field.</para>
+ <para><function>sd_bus_error_setf()</function> and <function>sd_bus_error_setfv()</function> are similar
+ to <function>sd_bus_error_set()</function>, but take a <citerefentry
+ project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry> format
+ string and corresponding arguments to generate the <structfield>message</structfield> field.
+ <function>sd_bus_error_setf()</function> uses variadic arguments, and
+ <function>sd_bus_error_setfv()</function> accepts the arguments as a
+ <citerefentry
+ project='man-pages'><refentrytitle>va_arg</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ parameter list.</para>
<para><function>sd_bus_error_set_const()</function> is similar to
<function>sd_bus_error_set()</function>, but the string parameters are not copied internally, and must
due to lack of memory, in which case an <constant>SD_BUS_ERROR_NO_MEMORY</constant> error is set instead,
and <constant>-ENOMEM</constant> is returned.</para>
- <para><function>sd_bus_error_set_errnof()</function> is similar to
- <function>sd_bus_error_set_errno()</function>, but in addition to
- <parameter>error</parameter>, takes a <citerefentry
- project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- format string and corresponding arguments. The
- <structfield>message</structfield> field will be generated from
- <parameter>format</parameter> and the arguments.</para>
-
- <para><function>sd_bus_error_set_errnofv()</function> is similar to
- <function>sd_bus_error_set_errnof()</function>, but takes the
- format string parameters as <citerefentry
+ <para><function>sd_bus_error_set_errnof()</function> and <function>sd_bus_error_set_errnof()</function>
+ are similar to <function>sd_bus_error_set_errno()</function>, but in addition to
+ <parameter>error</parameter>, take a <citerefentry
+ project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry> format
+ string and corresponding arguments. The <structfield>message</structfield> field will be generated from
+ <parameter>format</parameter> and the arguments.
+ <function>sd_bus_error_set_errnof()</function> uses variadic arguments, and
+ <function>sd_bus_error_set_errnofv()</function> accepts the arguments as a
+ <citerefentry
project='man-pages'><refentrytitle>va_arg</refentrytitle><manvolnum>3</manvolnum></citerefentry>
parameter list.</para>
<xi:include href="libsystemd-pkgconfig.xml" />
+ <refsect1>
+ <title>History</title>
+ <para><function>sd_bus_error_free()</function>,
+ <function>sd_bus_error_set()</function>,
+ <function>sd_bus_error_setf()</function>,
+ <function>sd_bus_error_set_const()</function>,
+ <function>sd_bus_error_set_errno()</function>,
+ <function>sd_bus_error_set_errnof()</function>,
+ <function>sd_bus_error_set_errnofv()</function>,
+ <function>sd_bus_error_get_errno()</function>,
+ <function>sd_bus_error_copy()</function>,
+ <function>sd_bus_error_is_set()</function>, and
+ <function>sd_bus_error_has_name()</function> were added in version 221.</para>
+ <para><function>sd_bus_error_move()</function> was added in version 240.</para>
+ <para><function>sd_bus_error_has_names_sentinel()</function> was added in version 247.</para>
+ <para><function>sd_bus_error_setfv()</function> was added in version 252.</para>
+ </refsect1>
+
<refsect1>
<title>See Also</title>
- <para>
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry project='die-net'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- </para>
+ <para><simplelist type="inline">
+ <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
+ <member><citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
+ <member><citerefentry project='man-pages'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
+ </simplelist></para>
</refsect1>
</refentry>