Provided by: libsystemd-dev_251.4-1ubuntu7_amd64 bug


       sd_bus_message_append_string_memfd, sd_bus_message_append_string_iovec,
       sd_bus_message_append_string_space - Attach a string to a message


       #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);


       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

       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

       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.


       On success, those calls return 0 or a positive integer. On failure, they return a negative
       errno-style error code.

       Returned errors may indicate the following problems:

           Specified parameter is invalid.

           Message has been sealed.

           Message is in invalid state.

           Message cannot be appended to.

           Memory allocation failed.


       These APIs are implemented as a shared library, which can be compiled and linked to with
       the libsystemd pkg-config(1) file.


       systemd(1), sd-bus(3), sd_bus_message_append_basic(3), The D-Bus specification[1]


        1. The D-Bus specification