]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-bus: Add sd_bus_reply_method_return docs + cleanups
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 19 Mar 2020 18:52:54 +0000 (19:52 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 19 Mar 2020 19:51:17 +0000 (20:51 +0100)
man/rules/meson.build
man/sd-bus.xml
man/sd_bus_message_append.xml
man/sd_bus_reply_method_error.xml
man/sd_bus_reply_method_return.xml [new file with mode: 0644]

index 21c92a3f1235f38d74340890af72a75191a3271e..84a8d6259ede4c14543a5fc8c74a95a512494a2d 100644 (file)
@@ -325,6 +325,7 @@ manpages = [
    'sd_bus_reply_method_errnof',
    'sd_bus_reply_method_errorf'],
   ''],
+ ['sd_bus_reply_method_return', '3', [], ''],
  ['sd_bus_request_name',
   '3',
   ['sd_bus_release_name',
index 4232dcbe5017d016af855cfe1156e61a8920d634..9e13af2cc90d883cfedd58d03c8d2df229977ad8 100644 (file)
@@ -86,6 +86,7 @@
 <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
 <citerefentry><refentrytitle>sd_bus_path_encode</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
 <citerefentry><refentrytitle>sd_bus_process</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>sd_bus_reply_method_return</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
 <citerefentry><refentrytitle>sd_bus_reply_method_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
 <citerefentry><refentrytitle>sd_bus_request_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
 <citerefentry><refentrytitle>sd_bus_set_address</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
index b87468e37336c79604846cc3a53a8a462e22b3b8..a67819e0d72180401bf17737bc58a8f008d6a3ee 100644 (file)
@@ -20,8 +20,7 @@
     <refname>sd_bus_message_append</refname>
     <refname>sd_bus_message_appendv</refname>
 
-    <refpurpose>Attach fields to a D-Bus message based on a type
-    string</refpurpose>
+    <refpurpose>Attach fields to a D-Bus message based on a type string</refpurpose>
   </refnamediv>
 
   <refsynopsisdiv>
       </funcprototype>
 
       <funcprototype>
-          <funcdef>int sd_bus_message_appendv</funcdef>
-          <paramdef>sd_bus_message *<parameter>m</parameter></paramdef>
-          <paramdef>const char *<parameter>types</parameter></paramdef>
-          <paramdef>va_list <parameter>ap</parameter></paramdef>
+        <funcdef>int sd_bus_message_appendv</funcdef>
+        <paramdef>sd_bus_message *<parameter>m</parameter></paramdef>
+        <paramdef>const char *<parameter>types</parameter></paramdef>
+        <paramdef>va_list <parameter>ap</parameter></paramdef>
       </funcprototype>
 
     </funcsynopsis>
   <refsect1>
     <title>Description</title>
 
-    <para>The <function>sd_bus_message_append()</function> function
-    appends a sequence of fields to the D-Bus message object
-    <parameter>m</parameter>. The type string
-    <parameter>types</parameter> describes the types of the field
-    arguments that follow. For each type specified in the type string,
-    one or more arguments need to be specified, in the same order as
-    declared in the type string.</para>
-
-    <para>The type string is composed of the elements shown in the
-    table below. It contains zero or more single "complete types".
-    Each complete type may be one of the basic types or a fully
-    described container type. A container type may be a structure with
-    the contained types, a variant, an array with its element type, or
-    a dictionary entry with the contained types. The type string is
-    <constant>NUL</constant>-terminated.</para>
-
-    <para>In case of a basic type, one argument of the corresponding
-    type is expected.</para>
-
-    <para>A structure is denoted by a sequence of complete types
-    between <literal>(</literal> and <literal>)</literal>. This
-    sequence cannot be empty — it must contain at least one type.
-    Arguments corresponding to this nested sequence follow the same
-    rules as if they were not nested.</para>
-
-    <para>A variant is denoted by <literal>v</literal>. Corresponding
-    arguments must begin with a type string denoting a complete type,
-    and following that, arguments corresponding to the specified type.
-    </para>
+    <para>The <function>sd_bus_message_append()</function> function appends a sequence of fields to
+    the D-Bus message object <parameter>m</parameter>. The type string <parameter>types</parameter>
+    describes the types of the field arguments that follow. For each type specified in the type
+    string, one or more arguments need to be specified, in the same order as declared in the type
+    string.</para>
 
-    <para>An array is denoted by <literal>a</literal> followed by a
-    complete type. Corresponding arguments must begin with the number of
-    entries in the array, followed by the entries themselves,
-    matching the element type of the array.</para>
+    <para>The type string is composed of the elements shown in the table below. It contains zero or
+    more single "complete types". Each complete type may be one of the basic types or a fully
+    described container type. A container type may be a structure with the contained types, a
+    variant, an array with its element type, or a dictionary entry with the contained types. The
+    type string is <constant>NUL</constant>-terminated.</para>
 
-    <para>A dictionary is an array of dictionary entries, denoted by
-    <literal>a</literal> followed by a pair of complete types between
-    <literal>{</literal> and <literal>}</literal>. The first of those
-    types must be a basic type. Corresponding arguments must begin
-    with the number of dictionary entries, followed by a pair of
-    values for each entry matching the element type of
-    the dictionary entries.</para>
+    <para>In case of a basic type, one argument of the corresponding type is expected.</para>
 
-    <para>The <function>sd_bus_message_appendv()</function> is equivalent to the
-    <function>sd_bus_message_append()</function>, except that it is called with
-    a <literal>va_list</literal> instead of a variable number of arguments. This
-    function does not call the <function>va_end()</function> macro. Because it
-    invokes the <function>va_arg()</function> macro, the value of
-    <parameter>ap</parameter> is undefined after the call.</para>
+    <para>A structure is denoted by a sequence of complete types between <literal>(</literal> and
+    <literal>)</literal>. This sequence cannot be empty — it must contain at least one type.
+    Arguments corresponding to this nested sequence follow the same rules as if they were not
+    nested.</para>
+
+    <para>A variant is denoted by <literal>v</literal>. Corresponding arguments must begin with a
+    type string denoting a complete type, and following that, arguments corresponding to the
+    specified type.</para>
+
+    <para>An array is denoted by <literal>a</literal> followed by a complete type. Corresponding
+    arguments must begin with the number of entries in the array, followed by the entries
+    themselves, matching the element type of the array.</para>
 
-    <para>For further details on the D-Bus type system, please consult
-    the <ulink
-    url="http://dbus.freedesktop.org/doc/dbus-specification.html#type-system">D-Bus
-    Specification</ulink>.</para>
+    <para>A dictionary is an array of dictionary entries, denoted by <literal>a</literal> followed
+    by a pair of complete types between <literal>{</literal> and <literal>}</literal>. The first of
+    those types must be a basic type. Corresponding arguments must begin with the number of
+    dictionary entries, followed by a pair of values for each entry matching the element type of the
+    dictionary entries.</para>
+
+    <para>The <function>sd_bus_message_appendv()</function> is equivalent to the
+    <function>sd_bus_message_append()</function>, except that it is called with a
+    <literal>va_list</literal> instead of a variable number of arguments. This function does not
+    call the <function>va_end()</function> macro. Because it invokes the
+    <function>va_arg()</function> macro, the value of <parameter>ap</parameter> is undefined after
+    the call.</para>
+
+    <para>For further details on the D-Bus type system, please consult the
+    <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html#type-system">D-Bus Specification</ulink>.
+    </para>
 
     <table>
       <title>Item type specifiers</title>
     <constant>NULL</constant>, which is equivalent to an empty string. See
     <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     for the precise interpretation of those and other types.</para>
-
   </refsect1>
 
   <refsect1>
@@ -205,12 +192,12 @@ sd_bus_message_append(m, "ynqiuxtd", y, n, q, i, u, x, t, d);</programlisting>
      <para>Append a structure composed of a string and a D-Bus path:</para>
 
      <programlisting>sd_bus_message_append(m, "(so)", "a string", "/a/path");
-</programlisting>
+    </programlisting>
 
      <para>Append an array of UNIX file descriptors:</para>
 
      <programlisting>sd_bus_message_append(m, "ah", 3, STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO);
-</programlisting>
+    </programlisting>
 
      <para>Append a variant, with the real type "g" (signature),
      and value "sdbusisgood":</para>
@@ -227,8 +214,8 @@ sd_bus_message_append(m, "ynqiuxtd", y, n, q, i, u, x, t, d);</programlisting>
   <refsect1>
     <title>Return Value</title>
 
-    <para>On success, these functions return 0 or a positive integer. On failure, they return a negative
-    errno-style error code.</para>
+    <para>On success, these functions return a non-negative integer. On failure, they return a
+    negative errno-style error code.</para>
 
     <xi:include href="sd_bus_message_append_basic.xml" xpointer="errors" />
   </refsect1>
index 5a6cef6badfae9bd5ac13e808226e52afea02c4b..a1062ce2a902ab4de2b3622dea84d4a492ba00f7 100644 (file)
@@ -22,7 +22,7 @@
     <refname>sd_bus_reply_method_errno</refname>
     <refname>sd_bus_reply_method_errnof</refname>
 
-    <refpurpose>Reply with an error to a method call</refpurpose>
+    <refpurpose>Reply with an error to a D-Bus method call</refpurpose>
   </refnamediv>
 
   <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
+    <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>
+    If no reply is expected to <parameter>call</parameter>, this function succeeds without sending a
+    reply.</para>
 
     <para>The <function>sd_bus_reply_method_errorf()</function> is to
     <function>sd_bus_reply_method_error()</function> what
@@ -89,8 +89,9 @@
   <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>
+    <para>This function returns a non-negative integer if the error reply was successfully sent or
+    if <parameter>call</parameter> does not expect a reply. On failure, it returns a negative
+    errno-style error code.</para>
 
     <refsect2>
       <title>Errors</title>
         <varlistentry>
           <term><constant>-EINVAL</constant></term>
 
-          <listitem><para>The call message <parameter>call</parameter> is
+          <listitem><para>The input parameter <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 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
+          <para>The error parameter <parameter>error</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>
         </varlistentry>
       </variablelist>
 
-      <para>In addition, any error message returned by
+      <para>In addition, any error returned by
       <citerefentry><refentrytitle>sd_bus_send</refentrytitle><manvolnum>1</manvolnum></citerefentry>
       may be returned.</para>
     </refsect2>
diff --git a/man/sd_bus_reply_method_return.xml b/man/sd_bus_reply_method_return.xml
new file mode 100644 (file)
index 0000000..8669730
--- /dev/null
@@ -0,0 +1,113 @@
+<?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">
+<!-- SPDX-License-Identifier: LGPL-2.1+ -->
+
+<refentry id="sd_bus_reply_method_return"
+          xmlns:xi="http://www.w3.org/2001/XInclude">
+
+  <refentryinfo>
+    <title>sd_bus_reply_method_return</title>
+    <productname>systemd</productname>
+  </refentryinfo>
+
+  <refmeta>
+    <refentrytitle>sd_bus_reply_method_return</refentrytitle>
+    <manvolnum>3</manvolnum>
+  </refmeta>
+
+  <refnamediv>
+    <refname>sd_bus_reply_method_return</refname>
+
+    <refpurpose>Reply to a D-Bus method call</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv>
+    <funcsynopsis>
+      <funcsynopsisinfo>#include &lt;systemd/sd-bus.h&gt;</funcsynopsisinfo>
+
+      <funcprototype>
+        <funcdef>int sd_bus_reply_method_return</funcdef>
+        <paramdef>sd_bus_message *<parameter>call</parameter></paramdef>
+        <paramdef>const char *<parameter>types</parameter></paramdef>
+        <paramdef>...</paramdef>
+      </funcprototype>
+    </funcsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1>
+    <title>Description</title>
+
+    <para><function>sd_bus_reply_method_return()</function> sends a reply to the
+    <parameter>call</parameter> message. The type string <parameter>types</parameter> and the
+    arguments that follow it must adhere to the format described in
+    <citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+    If no reply is expected to <parameter>call</parameter>, this function succeeds without sending a
+    reply.</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Return Value</title>
+
+    <para>On success, this function returns a non-negative integer. On failure, it returns a
+    negative errno-style error code.</para>
+
+    <refsect2>
+      <title>Errors</title>
+
+      <para>Returned errors may indicate the following problems:</para>
+
+      <variablelist>
+        <varlistentry>
+          <term><constant>-EINVAL</constant></term>
+
+          <listitem><para>The input parameter <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>
+          </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 returned by
+      <citerefentry><refentrytitle>sd_bus_send</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+      may be returned.</para>
+    </refsect2>
+  </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_return</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+    </para>
+  </refsect1>
+
+</refentry>