diff --git a/man/rules/meson.build b/man/rules/meson.build
index 2edf2c21c2..99915c5e9f 100644
--- a/man/rules/meson.build
+++ b/man/rules/meson.build
@@ -213,6 +213,10 @@ manpages = [
'3',
['sd_bus_message_get_realtime_usec', 'sd_bus_message_get_seqnum'],
''],
+ ['sd_bus_message_get_signature',
+ '3',
+ ['sd_bus_message_has_signature', 'sd_bus_message_is_empty'],
+ ''],
['sd_bus_message_get_type',
'3',
['sd_bus_message_is_method_call',
@@ -242,6 +246,7 @@ manpages = [
''],
['sd_bus_message_new_signal', '3', [], ''],
['sd_bus_message_read', '3', ['sd_bus_message_readv'], ''],
+ ['sd_bus_message_read_array', '3', [], ''],
['sd_bus_message_read_basic', '3', [], ''],
['sd_bus_message_rewind', '3', [], ''],
['sd_bus_message_set_destination',
@@ -259,6 +264,7 @@ manpages = [
'sd_bus_message_get_expect_reply',
'sd_bus_message_set_auto_start'],
''],
+ ['sd_bus_message_skip', '3', [], ''],
['sd_bus_message_verify_type', '3', [], ''],
['sd_bus_negotiate_fds',
'3',
diff --git a/man/sd-bus.xml b/man/sd-bus.xml
index 3daafc4495..bf2f37a86d 100644
--- a/man/sd-bus.xml
+++ b/man/sd-bus.xml
@@ -60,16 +60,19 @@
sd_bus_message_copy3,
sd_bus_message_get_cookie3,
sd_bus_message_get_monotonic_usec3,
+sd_bus_message_get_signature3,
sd_bus_message_get_type3,
sd_bus_message_new3,
sd_bus_message_new_method_call3,
sd_bus_message_new_method_error3,
sd_bus_message_new_signal3,
-sd_bus_message_read_basic3,
sd_bus_message_read3,
+sd_bus_message_read_array3,
+sd_bus_message_read_basic3,
sd_bus_message_rewind3,
sd_bus_message_set_destination3,
sd_bus_message_set_expect_reply3,
+sd_bus_message_skip3,
sd_bus_message_verify_type3,
sd_bus_negotiate_fds3,
sd_bus_new3,
diff --git a/man/sd_bus_message_get_signature.xml b/man/sd_bus_message_get_signature.xml
new file mode 100644
index 0000000000..bee6778190
--- /dev/null
+++ b/man/sd_bus_message_get_signature.xml
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+ sd_bus_message_get_signature
+ systemd
+
+
+
+ sd_bus_message_get_signature
+ 3
+
+
+
+ sd_bus_message_get_signature
+ sd_bus_message_is_empty
+ sd_bus_message_has_signature
+
+ Query bus message signature
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ const char* sd_bus_message_get_signature
+ sd_bus_message *message
+ int complete
+
+
+
+ int sd_bus_message_is_empty
+ sd_bus_message *message
+
+
+
+ int sd_bus_message_has_signature
+ sd_bus_message *message
+ const char *signature
+
+
+
+
+
+
+ Description
+
+ sd_bus_message_get_signature() returns the signature of message
+ message. If complete is true, the signature of the
+ whole message is returned, and just the signature of the currently open container otherwise.
+
+
+ sd_bus_message_is_empty() returns true if the message is empty,
+ i.e. when its signature is empty.
+
+ sd_bus_message_has_signature() returns true if the signature of the
+ message message matches given signature. Parameter
+ signature may be NULL, this is treated the same as
+ an empty string, which is equivalent to calling sd_bus_message_is_empty().
+
+
+
+
+ Return Value
+
+ On success, sd_bus_message_get_signature() returns
+ the signature, and NULL on error.
+
+ The other functions return 0 or a positive integer on success. On failure, they return a
+ negative errno-style error code.
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -EINVAL
+
+ The message parameter is NULL.
+
+
+
+
+ NULL
+
+ The message parameter is NULL.
+
+
+
+
+
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ sd_bus_message_new3
+
+
+
+
diff --git a/man/sd_bus_message_read.xml b/man/sd_bus_message_read.xml
index c86f55fb54..2815c01986 100644
--- a/man/sd_bus_message_read.xml
+++ b/man/sd_bus_message_read.xml
@@ -224,6 +224,7 @@ sd_bus_message_read(m, "a{is}", 3, &i, &s, &j, &t, &k, &
systemd1,
sd-bus3,
sd_bus_message_read_basic3,
+ sd_bus_message_skip3,
sd_bus_message_append3
diff --git a/man/sd_bus_message_read_array.xml b/man/sd_bus_message_read_array.xml
new file mode 100644
index 0000000000..31481272bb
--- /dev/null
+++ b/man/sd_bus_message_read_array.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+ sd_bus_message_read_array
+ systemd
+
+
+
+ sd_bus_message_read_array
+ 3
+
+
+
+ sd_bus_message_read_array
+
+ Access an array of elements in a message
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ int sd_bus_message_read_array
+ sd_bus_message *m
+ char type
+ const void **ptr
+ size_t *size
+
+
+
+
+
+ Description
+
+ sd_bus_message_read_array() gives access to an element array in
+ message m. The "read pointer" in the message must be right before an
+ array of type type. As a special case, type may be
+ NUL, in which case any type is acceptable. A pointer to the array data is
+ returned in the parameter ptr and the size of array data (in bytes) is
+ returned in the parameter size. If size is 0, a
+ valid non-null pointer will be returned, but it may not be dereferenced. The data is aligned as
+ appropriate for the data type. The data is part of the message — it may not be modified and is
+ valid only as long as the message is referenced. After this function returns, the "read pointer"
+ points at the next element after the array.
+
+
+
+ Return Value
+
+
+ On success, sd_bus_message_read_array() returns 0 or
+ a positive integer. On failure, it returns a negative errno-style error
+ code.
+
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -EINVAL
+
+ Specified type is invalid or the message parameter or one of the output
+ parameters are NULL.
+
+
+
+ -EOPNOTSUPP
+
+ The byte order in the message is different than native byte
+ order.
+
+
+
+ -EPERM
+
+ The message is not sealed.
+
+
+
+ -EBADMSG
+
+ The message cannot be parsed.
+
+
+
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ sd_bus_message_read3
+
+
+
+
diff --git a/man/sd_bus_message_read_basic.xml b/man/sd_bus_message_read_basic.xml
index e39cfd5bd6..774d3fcf87 100644
--- a/man/sd_bus_message_read_basic.xml
+++ b/man/sd_bus_message_read_basic.xml
@@ -227,6 +227,7 @@
systemd1,
sd-bus3,
sd_bus_message_append_basic3,
+ sd_bus_message_skip3,
sd_bus_message_read3
diff --git a/man/sd_bus_message_skip.xml b/man/sd_bus_message_skip.xml
new file mode 100644
index 0000000000..384a791494
--- /dev/null
+++ b/man/sd_bus_message_skip.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+ sd_bus_message_skip
+ systemd
+
+
+
+ sd_bus_message_skip
+ 3
+
+
+
+ sd_bus_message_skip
+
+ Skip elements in a bus message
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ int sd_bus_message_skip
+ sd_bus_message *m
+ const char* types
+
+
+
+
+
+ Description
+
+ sd_bus_message_skip() is somewhat similar to
+ sd_bus_message_read3,
+ but instead of reading the contents of the message, it only moves the "read pointer". Subsequent
+ read operations will read the elements that are after the elements that were skipped.
+
+ The types argument has the same meaning as in
+ sd_bus_message_read(). It may also be NULL, to skip a
+ single element of any type.
+
+
+
+ Return Value
+
+ On success, sd_bus_message_skip() returns 0 or a positive integer. On
+ failure, it returns a negative errno-style error code.
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -EINVAL
+
+ The m parameter is
+ NULL.
+
+
+
+ -EBADMSG
+
+ The message cannot be parsed.
+
+
+
+ -EPERM
+
+ The message is not sealed.
+
+
+
+ -ENXIO
+
+ The message end has been reached and the requested elements cannot be read.
+
+
+
+
+ -ENOMEM
+
+ Memory allocation failed.
+
+
+
+
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ sd_bus_message_read3,
+ sd_bus_message_read_basic3
+
+
+
+