sd_bus_message_append_string_memfd, sd_bus_message_append_string_iovec,
Contents
Description
The functions sd_bus_message_append_string_memfd() and sd_bus_message_append_string_iovec() can be used
to append a single string (item of type "s") to message m.
In case of sd_bus_message_append_string_memfd(), the contents of memfd are the string. They must satisfy
the same constraints as described for the "s" type in sd_bus_message_append_basic(3).
In case of sd_bus_message_append_string_iovec(), the payload of iov is the string. It must satisfy the
same constraints as described for the "s" type in sd_bus_message_append_basic(3).
The iov argument must point to n struct iovec structures. Each structure may have the iov_base 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 iov_len will be inserted. The memory pointed at by iov may be changed after
this call.
The sd_bus_message_append_string_space() function appends space for a string to message m. It behaves
similar to sd_bus_message_append_basic() with type "s", but instead of copying a string into the message,
it returns a pointer to the destination area to the caller in pointer p. Space for the string of length
size plus the terminating NUL is allocated.
Name
sd_bus_message_append_string_memfd, sd_bus_message_append_string_iovec,
sd_bus_message_append_string_space - Attach a string to a message
Notes
1. The D-Bus specification
https://dbus.freedesktop.org/doc/dbus-specification.html
systemd 257.7 SD_BUS_MESSAGE_APPEND_STRING_MEMFD(3)
Return Value
On success, those calls return 0 or a positive integer. On failure, they return a negative errno-style
error code.
Errors
Returned errors may indicate the following problems:
-EINVAL
Specified parameter is invalid.
-EPERM
Message has been sealed.
-ESTALE
Message is in invalid state.
-ENXIO
Message cannot be appended to.
-ENOMEM
Memory allocation failed.
See Also
systemd(1), sd-bus(3), sd_bus_message_append_basic(3), TheD-Busspecification[1]
Synopsis
#include<systemd/sd-bus.h>intsd_bus_message_append_string_memfd(sd_bus_message*m,intmemfd);intsd_bus_message_append_string_iovec(sd_bus_message*m,conststructiovec*iov,unsignedn);intsd_bus_message_append_string_space(sd_bus_message*m,size_tsize,char**s);
