2521N/A<?
xml version='1.0'?>
<!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> 2521N/A<!
DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 2521N/A This file is part of systemd. 2521N/A Copyright 2014 Zbigniew Jędrzejewski-Szmek 2521N/A systemd is free software; you can redistribute it and/or modify it 2521N/A under the terms of the GNU Lesser General Public License as published by 2521N/A the Free Software Foundation; either version 2.1 of the License, or 2521N/A (at your option) any later version. 2521N/A systemd is distributed in the hope that it will be useful, but 2521N/A WITHOUT ANY WARRANTY; without even the implied warranty of 2521N/A MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 2521N/A Lesser General Public License for more details. 3817N/A You should have received a copy of the GNU Lesser General Public License 2521N/A<
refentry id="sd_bus_message_append_string_memfd" 3998N/A <
title>sd_bus_message_append_string_memfd</
title>
2521N/A <
productname>systemd</
productname>
2521N/A <
contrib>A monkey with a typewriter</
contrib>
2521N/A <
firstname>Zbigniew</
firstname>
2521N/A <
surname>Jędrzejewski-Szmek</
surname>
2521N/A <
email>zbyszek@in.waw.pl</
email>
2521N/A <
refentrytitle>sd_bus_message_append_string_memfd</
refentrytitle>
2521N/A <
refname>sd_bus_message_append_string_memfd</
refname>
2521N/A <
refname>sd_bus_message_append_string_iovec</
refname>
2521N/A <
refname>sd_bus_message_append_string_space</
refname>
2521N/A <
refpurpose>Attach a string to a message</
refpurpose>
<
funcdef>int sd_bus_message_append_string_memfd</
funcdef>
<
paramdef>sd_bus_message *<
parameter>m</
parameter></
paramdef>
<
paramdef>int <
parameter>memfd</
parameter></
paramdef>
<
funcdef>int sd_bus_message_append_string_iovec</
funcdef>
<
paramdef>sd_bus_message *<
parameter>m</
parameter></
paramdef>
<
paramdef>const struct iovec *<
parameter>iov</
parameter></
paramdef>
<
paramdef>unsigned <
parameter>n</
parameter></
paramdef>
<
funcdef>int sd_bus_message_append_string_space</
funcdef>
<
paramdef>sd_bus_message *<
parameter>m</
parameter></
paramdef>
<
paramdef>size_t <
parameter>size</
parameter></
paramdef>
<
paramdef>char **<
parameter>s</
parameter></
paramdef>
<
title>Description</
title>
<
function>sd_bus_message_append_string_memfd</
function> and
<
function>sd_bus_message_append_string_iovec</
function> can be
used to append a single string (item of type <
literal>s</
literal>)
to message <
parameter>m</
parameter>.</
para>
<
function>sd_bus_message_append_string_memfd</
function>, the
contents of <
parameter>memfd</
parameter> are the string. They must
satisfy the same constraints as described for the
<
literal>s</
literal> type in
<
citerefentry><
refentrytitle>sd_bus_message_append_basic</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>.</
para>
<
function>sd_bus_message_append_string_iovec</
function>, the
payload of <
parameter>iov</
parameter> is the string. It must
satisfy the same constraints as described for the
<
literal>s</
literal> type in
<
citerefentry><
refentrytitle>sd_bus_message_append_basic</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>.</
para>
<
para>The <
parameter>iov</
parameter> argument must point to
<
parameter>n</
parameter> <
structname>struct iovec</
structname>
structures. Each structure may have the
<
structname>iov_base</
structname> field set, in which case the
memory pointed to will be copied into the message, or unset, in
which case a block of spaces (ASCII 32) of length
<
structname>iov_len</
structname> will be inserted. The
memory pointed at by <
parameter>iov</
parameter> may be changed
<
function>sd_bus_message_append_string_space</
function> function appends
space for a string to message <
parameter>m</
parameter>. It behaves
similar to <
function>sd_bus_message_append_basic</
function> with
type <
literal>s</
literal>, but instead of copying a string into
the message, it returns a pointer to the destination area to
the caller in pointer <
parameter>p</
parameter>. Space for the string
of length <
parameter>size</
parameter> plus the terminating
<
constant>NUL</
constant> is allocated.</
para>
<
title>Return Value</
title>
<
para>On success, those calls return 0 or a positive integer. On
failure, they returns a negative errno-style error code.</
para>
<
para>The functions described here are available as a shared library,
which can be compiled and linked to with the
<
constant>libsystemd</
constant> <
citerefentry project='die-net'><
refentrytitle>pkg-config</
refentrytitle><
manvolnum>1</
manvolnum></
citerefentry>
<
citerefentry><
refentrytitle>systemd</
refentrytitle><
manvolnum>1</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd-bus</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd_bus_message_append_basic</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,