прикрепите строку к сообщению (Attach a string to a message)
Имя (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.
Примечание (Note)
These APIs are implemented as a shared library, which can be
compiled and linked to with the libsystemd pkg-config
(1) file.
Смотри также (See also)
systemd(1), sd-bus(3), sd_bus_message_append_basic(3), The D-Bus
specification
[1]
Примечание (Note)
1. The D-Bus specification
http://dbus.freedesktop.org/doc/dbus-specification.html