sd_bus_message_append_string_memfd(3) — Linux manual page
SD_BUS..._MEMFD(3) sd_bus_message_append_string_memfd SD_BUS..._MEMFD(3)
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
SYNOPSIS
#include <systemd/sd-bus.h>
int sd_bus_message_append_string_memfd(sd_bus_message *m,
int memfd);
int sd_bus_message_append_string_iovec(sd_bus_message *m,
const struct iovec *iov,
unsigned n);
int sd_bus_message_append_string_space(sd_bus_message *m,
size_t size, char **s);
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.
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.
NOTES
Functions described here are available as a shared library, which
can be compiled against and linked to with the
libsystemd pkg-config(1) file.
The code described here uses getenv(3), which is declared to be
not multi-thread-safe. This means that the code calling the
functions described here must not call setenv(3) from a parallel
thread. It is recommended to only do calls to setenv() from an
early phase of the program when no other threads have been
started.
SEE ALSO
systemd(1), sd-bus(3), sd_bus_message_append_basic(3), The D-Bus
specification[1]
NOTES
1. The D-Bus specification
https://dbus.freedesktop.org/doc/dbus-specification.html
COLOPHON
This page is part of the systemd (systemd system and service
manager) project. Information about the project can be found at
⟨http://www.freedesktop.org/wiki/Software/systemd⟩. If you have
a bug report for this manual page, see
⟨http://www.freedesktop.org/wiki/Software/systemd/#bugreports⟩.
This page was obtained from the project's upstream Git repository
⟨https://github.com/systemd/systemd.git⟩ on 2024-06-14. (At that
time, the date of the most recent commit that was found in the
repository was 2024-06-13.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
systemd 257~devel SD_BUS..._MEMFD(3)
Pages that refer to this page: sd-bus(3), systemd.directives(7), systemd.index(7)