2016-06-21 18:52:32 +03:00
<?xml version='1.0'?> <!-- * - Mode: nxml; nxml - child - indent: 2; indent - tabs - mode: nil - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
2017-11-18 19:22:32 +03:00
SPDX-License-Identifier: LGPL-2.1+
2016-06-21 18:52:32 +03:00
This file is part of systemd.
Copyright 2016 Julian Orth
-->
<refentry id= "sd_bus_message_read_basic" >
<refentryinfo >
<title > sd_bus_message_read_basic</title>
<productname > systemd</productname>
<authorgroup >
<author >
<firstname > Julian</firstname>
<surname > Orth</surname>
<email > ju.orth@gmail.com</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta >
<refentrytitle > sd_bus_message_read_basic</refentrytitle>
<manvolnum > 3</manvolnum>
</refmeta>
<refnamediv >
<refname > sd_bus_message_read_basic</refname>
<refpurpose > Read a basic type from a message</refpurpose>
</refnamediv>
<refsynopsisdiv >
<funcsynopsis >
<funcsynopsisinfo > #include < systemd/sd-bus.h> </funcsynopsisinfo>
<funcprototype >
<funcdef > int <function > sd_bus_message_read_basic</function> </funcdef>
<paramdef > sd_bus_message *<parameter > m</parameter> </paramdef>
<paramdef > char <parameter > type</parameter> </paramdef>
<paramdef > void *<parameter > p</parameter> </paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
<para >
<function > sd_bus_message_read_basic()</function> reads a basic type from a
message and advances the read position in the message. The set of basic
types and their ascii codes passed in <parameter > type</parameter> are
described in the <ulink
url="https://dbus.freedesktop.org/doc/dbus-specification.html">D-Bus
Specification</ulink> .
</para>
<para >
If <parameter > p</parameter> is not NULL, it should contain a pointer to an
appropriate object. For example, if <parameter > type</parameter> is
<constant > 'y'</constant> , the object passed in <parameter > p</parameter>
should have type <code > uint8_t *</code> . If <parameter > type</parameter>
is <constant > 's'</constant> , the object passed in <parameter > p</parameter>
should have type <code > const char **</code> . Note that, if the basic type
is a pointer (e.g., <code > const char *</code> in the case of a string),
the pointer is only borrowed and the contents must be copied if they are
to be used after the end of the messages lifetime. Similarly, during the
lifetime of such a pointer, the message must not be modified.
</para>
<para >
If there is no object of the specified type at the current position in the
message, an error is returned.
</para>
</refsect1>
<refsect1 >
<title > Return Value</title>
<para >
On success, <function > sd_bus_message_read_basic()</function> returns 0 or
a positive integer. On failure, it returns a negative errno-style error
code.
</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> ,
</para>
</refsect1>
</refentry>