diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:25:50 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:25:50 +0000 |
commit | 19f4f86bfed21c5326ed2acebe1163f3a83e832b (patch) | |
tree | d59b9989ce55ed23693e80974d94c856f1c2c8b1 /man/sd_bus_message_new_method_call.xml | |
parent | Initial commit. (diff) | |
download | systemd-upstream.tar.xz systemd-upstream.zip |
Adding upstream version 241.upstream/241upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/sd_bus_message_new_method_call.xml')
-rw-r--r-- | man/sd_bus_message_new_method_call.xml | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/man/sd_bus_message_new_method_call.xml b/man/sd_bus_message_new_method_call.xml new file mode 100644 index 0000000..c643177 --- /dev/null +++ b/man/sd_bus_message_new_method_call.xml @@ -0,0 +1,166 @@ +<?xml version='1.0'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" +"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<!-- SPDX-License-Identifier: LGPL-2.1+ --> + +<refentry id="sd_bus_message_new_method_call" + xmlns:xi="http://www.w3.org/2001/XInclude"> + + <refentryinfo> + <title>sd_bus_message_new_method_call</title> + <productname>systemd</productname> + </refentryinfo> + + <refmeta> + <refentrytitle>sd_bus_message_new_method_call</refentrytitle> + <manvolnum>3</manvolnum> + </refmeta> + + <refnamediv> + <refname>sd_bus_message_new_method_call</refname> + <refname>sd_bus_message_new_method_return</refname> + + <refpurpose>Create a method call message</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <funcsynopsis> + <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> + + <funcprototype> + <funcdef>int sd_bus_message_new_method_call</funcdef> + <paramdef>sd_bus *<parameter>bus</parameter></paramdef> + <paramdef>sd_bus_message **<parameter>m</parameter></paramdef> + <paramdef>const char *<parameter>destination</parameter></paramdef> + <paramdef>const char *<parameter>path</parameter></paramdef> + <paramdef>const char *<parameter>interface</parameter></paramdef> + <paramdef>const char *<parameter>member</parameter></paramdef> + </funcprototype> + + <funcprototype> + <funcdef>int sd_bus_message_new_method_return</funcdef> + <paramdef>sd_bus_message *<parameter>call</parameter></paramdef> + <paramdef>sd_bus_message **<parameter>m</parameter></paramdef> + </funcprototype> + </funcsynopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para>The <function>sd_bus_message_new_method_call()</function> function creates a new bus + message object that encapsulates a D-Bus method call, and returns it in the + <parameter>m</parameter> output parameter. The call will be made on the destination + <parameter>destination</parameter>, path <parameter>path</parameter>, on the interface + <parameter>interface</parameter>, member <parameter>member</parameter>.</para> + + <para>Briefly, the <emphasis>destination</emphasis> is a dot-separated name that identifies a + service connected to the bus. The <emphasis>path</emphasis> is a slash-separated identifier of + an object within the destination that resembles a file system path. The meaning of this path is + defined by the destination. The <emphasis>interface</emphasis> is a dot-separated name that + resembles a Java interface name that identifies a group of methods and signals supported by the + object identified by path. Methods and signals are collectively called + <emphasis>members</emphasis> and are identified by a simple name composed of ASCII letters, + numbers, and underscores. See the <ulink + url="https://dbus.freedesktop.org/doc/dbus-tutorial.html#concepts">D-Bus Tutorial</ulink> for an + in-depth explanation.</para> + + <para>The <parameter>destination</parameter> parameter may be <constant>NULL</constant>. The + <parameter>interface</parameter> parameter may be <constant>NULL</constant>, if the destination + has only a single member with the given name and there is no ambiguity if the interface name is + omitted.</para> + + <para>The <function>sd_bus_message_new_method_call()</function> function creates a new bus + message object that is a reply to the method call <parameter>call</parameter> and returns it in + the <parameter>m</parameter> output parameter. The <parameter>call</parameter> parameter must be + a method call message. The sender of <parameter>call</parameter> is used as the destination. + </para> + </refsect1> + + <refsect1> + <title>Return Value</title> + + <para>This function returns 0 if the message object was successfully created, 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 output parameter <parameter>m</parameter> is + <constant>NULL</constant>.</para> + + <para>The <parameter>destination</parameter> parameter is non-null and is not a valid D-Bus + service name (<literal>org.somewhere.Something</literal>), the <parameter>path</parameter> + parameter is not a valid D-Bus path (<literal>/an/object/path</literal>), the + <parameter>interface</parameter> parameter is non-null and is not a valid D-Bus interface + name (<literal>an.interface.name</literal>), or the <parameter>member</parameter> parameter + is not a valid D-Bus member (<literal>Name</literal>).</para> + + <para>The <parameter>call</parameter> parameter is not a method call object.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><constant>-ENOTCONN</constant></term> + + <listitem><para>The bus parameter <parameter>bus</parameter> is <constant>NULL</constant> or + the bus is not connected.</para></listitem> + </varlistentry> + + <varlistentry> + <term><constant>-ENOMEM</constant></term> + + <listitem><para>Memory allocation failed.</para></listitem> + </varlistentry> + + <varlistentry> + <term><constant>-EPERM</constant></term> + + <listitem> + <para>The <parameter>call</parameter> parameter is not sealed.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><constant>-EOPNOTSUPP</constant></term> + + <listitem> + <para>The <parameter>call</parameter> message does not have a cookie.</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <xi:include href="libsystemd-pkgconfig.xml" /> + + <refsect1> + <title>Examples</title> + + <example> + <title>Make a call to a D-Bus method that takes a single parameter</title> + + <programlisting><xi:include href="print-unit-path.c" parse="text" /></programlisting> + <para>This defines a minimally useful program that will open a connection to the bus, create a + message object, send it, wait for the reply, and finally extract and print the answer. It does + error handling and proper memory management.</para> + </example> + </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_path_encode</refentrytitle><manvolnum>3</manvolnum></citerefentry> + </para> + </refsect1> + +</refentry> |