'\" t .TH "SD_BUS_MESSAGE_APPEND_STRING_MEMFD" "3" "" "systemd 255" "sd_bus_message_append_string_memfd" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "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 .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'int\ sd_bus_message_append_string_memfd('u .BI "int sd_bus_message_append_string_memfd(sd_bus_message\ *" "m" ", int\ " "memfd" ");" .HP \w'int\ sd_bus_message_append_string_iovec('u .BI "int sd_bus_message_append_string_iovec(sd_bus_message\ *" "m" ", const\ struct\ iovec\ *" "iov" ", unsigned\ " "n" ");" .HP \w'int\ sd_bus_message_append_string_space('u .BI "int sd_bus_message_append_string_space(sd_bus_message\ *" "m" ", size_t\ " "size" ", char\ **" "s" ");" .SH "DESCRIPTION" .PP The functions \fBsd_bus_message_append_string_memfd()\fR and \fBsd_bus_message_append_string_iovec()\fR can be used to append a single string (item of type "s") to message \fIm\fR\&. .PP In case of \fBsd_bus_message_append_string_memfd()\fR, the contents of \fImemfd\fR are the string\&. They must satisfy the same constraints as described for the "s" type in \fBsd_bus_message_append_basic\fR(3)\&. .PP In case of \fBsd_bus_message_append_string_iovec()\fR, the payload of \fIiov\fR is the string\&. It must satisfy the same constraints as described for the "s" type in \fBsd_bus_message_append_basic\fR(3)\&. .PP The \fIiov\fR argument must point to \fIn\fR 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 \fIiov\fR may be changed after this call\&. .PP The \fBsd_bus_message_append_string_space()\fR function appends space for a string to message \fIm\fR\&. It behaves similar to \fBsd_bus_message_append_basic()\fR 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 \fIp\fR\&. Space for the string of length \fIsize\fR plus the terminating \fBNUL\fR is allocated\&. .SH "RETURN VALUE" .PP On success, those calls return 0 or a positive integer\&. On failure, they return a negative errno\-style error code\&. .SS "Errors" .PP Returned errors may indicate the following problems: .PP \fB\-EINVAL\fR .RS 4 Specified parameter is invalid\&. .RE .PP \fB\-EPERM\fR .RS 4 Message has been sealed\&. .RE .PP \fB\-ESTALE\fR .RS 4 Message is in invalid state\&. .RE .PP \fB\-ENXIO\fR .RS 4 Message cannot be appended to\&. .RE .PP \fB\-ENOMEM\fR .RS 4 Memory allocation failed\&. .RE .SH "NOTES" .PP Functions described here are available as a shared library, which can be compiled against and linked to with the \fBlibsystemd\fR\ \&\fBpkg-config\fR(1) file\&. .PP The code described here uses \fBgetenv\fR(3), which is declared to be not multi\-thread\-safe\&. This means that the code calling the functions described here must not call \fBsetenv\fR(3) from a parallel thread\&. It is recommended to only do calls to \fBsetenv()\fR from an early phase of the program when no other threads have been started\&. .SH "SEE ALSO" .PP \fBsystemd\fR(1), \fBsd-bus\fR(3), \fBsd_bus_message_append_basic\fR(3), \m[blue]\fBThe D\-Bus specification\fR\m[]\&\s-2\u[1]\d\s+2 .SH "NOTES" .IP " 1." 4 The D-Bus specification .RS 4 \%https://dbus.freedesktop.org/doc/dbus-specification.html .RE