2018-07-08 15:11:13 +03:00
<?xml version='1.0'?>
2019-03-14 16:40:58 +03:00
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2019-03-14 16:29:37 +03:00
<!-- SPDX - License - Identifier: LGPL - 2.1+ -->
2018-07-08 15:11:13 +03:00
<refentry id= "sd_bus_reply_method_error"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo >
<title > sd_bus_reply_method_error</title>
<productname > systemd</productname>
</refentryinfo>
<refmeta >
<refentrytitle > sd_bus_reply_method_error</refentrytitle>
<manvolnum > 3</manvolnum>
</refmeta>
<refnamediv >
<refname > sd_bus_reply_method_error</refname>
<refname > sd_bus_reply_method_errorf</refname>
<refname > sd_bus_reply_method_errno</refname>
<refname > sd_bus_reply_method_errnof</refname>
<refpurpose > Reply with an error to a method call</refpurpose>
</refnamediv>
<refsynopsisdiv >
<funcsynopsis >
<funcsynopsisinfo > #include < systemd/sd-bus.h> </funcsynopsisinfo>
<funcprototype >
<funcdef > int sd_bus_reply_method_error</funcdef>
<paramdef > sd_bus_message *<parameter > call</parameter> </paramdef>
<paramdef > const sd_bus_error *<parameter > e</parameter> </paramdef>
</funcprototype>
<funcprototype >
<funcdef > int sd_bus_reply_method_errorf</funcdef>
<paramdef > sd_bus_message *<parameter > call</parameter> </paramdef>
<paramdef > const char *<parameter > name</parameter> </paramdef>
<paramdef > const char *<parameter > format</parameter> </paramdef>
<paramdef > …</paramdef>
</funcprototype>
<funcprototype >
<funcdef > int sd_bus_reply_method_errno</funcdef>
<paramdef > sd_bus_message *<parameter > call</parameter> </paramdef>
<paramdef > int <parameter > error</parameter> </paramdef>
<paramdef > const sd_bus_error *<parameter > p</parameter> </paramdef>
</funcprototype>
<funcprototype >
<funcdef > int sd_bus_reply_method_errnof</funcdef>
<paramdef > sd_bus_message *<parameter > call</parameter> </paramdef>
<paramdef > int <parameter > error</parameter> </paramdef>
<paramdef > const char *<parameter > format</parameter> </paramdef>
<paramdef > …</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
<para > The <function > sd_bus_reply_method_error()</function> function sends an
error reply to the <parameter > call</parameter> message. The error structure
<parameter > e</parameter> specifies the error to send, and is used as described in
<citerefentry > <refentrytitle > sd_bus_message_new_error</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry> .
If no reply is expected to <parameter > call</parameter> , this function returns
success without sending reply.</para>
<para > The <function > sd_bus_reply_method_errorf()</function> is to
<function > sd_bus_reply_method_error()</function> what
<function > sd_bus_message_new_method_errorf()</function> is to
<function > sd_bus_message_new_method_error()</function> .</para>
<para > The <function > sd_bus_reply_method_errno()</function> is to
<function > sd_bus_reply_method_error()</function> what
<function > sd_bus_message_new_method_errno()</function> is to
<function > sd_bus_message_new_method_error()</function> .</para>
<para > The <function > sd_bus_reply_method_errnof()</function> is to
<function > sd_bus_reply_method_error()</function> what
<function > sd_bus_message_new_method_errnof()</function> is to
<function > sd_bus_message_new_method_error()</function> .</para>
</refsect1>
<refsect1 >
<title > Return Value</title>
<para > These functions return 0 if the error reply was successfully sent or if
none was expected, and a negative errno-style error code otherwise.</para>
</refsect1>
<refsect1 id= 'errors' >
<title > Errors</title>
<para > Returned errors may indicate the following problems:</para>
<variablelist >
<varlistentry >
<term > <constant > -EINVAL</constant> </term>
<listitem > <para > The call message <parameter > call</parameter> is
<constant > NULL</constant> .</para>
<para > Message <parameter > call</parameter> is not a method call message.
</para>
<para > Message <parameter > call</parameter> is not attached to a bus.</para>
<para > The error <parameter > error</parameter> parameter to
<function > sd_bus_reply_method_error</function> is not set, see
<citerefentry > <refentrytitle > sd_bus_error_is_set</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry> .
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <constant > -EPERM</constant> </term>
<listitem > <para > Message <parameter > call</parameter> has been sealed.
</para> </listitem>
</varlistentry>
<varlistentry >
<term > <constant > -ENOTCONN</constant> </term>
<listitem > <para > The bus to which message <parameter > call</parameter> is
attached is not connected.</para> </listitem>
</varlistentry>
<varlistentry >
<term > <constant > -ENOMEM</constant> </term>
<listitem > <para > Memory allocation failed.</para> </listitem>
</varlistentry>
</variablelist>
<para > In addition, any error message returned by
<citerefentry > <refentrytitle > sd_bus_send</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
may be returned.</para>
</refsect1>
<xi:include href= "libsystemd-pkgconfig.xml" />
<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_message_new_method_error</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry>
</para>
</refsect1>
</refentry>