diff --git a/man/rules/meson.build b/man/rules/meson.build
index 54c5a9d923..bfc267b544 100644
--- a/man/rules/meson.build
+++ b/man/rules/meson.build
@@ -105,7 +105,12 @@ manpages = [
['sd-journal', '3', [], ''],
['sd-login', '3', [], 'HAVE_PAM'],
['sd_booted', '3', [], ''],
- ['sd_bus_add_match', '3', [], ''],
+ ['sd_bus_add_match',
+ '3',
+ ['sd_bus_add_match_async',
+ 'sd_bus_match_signal',
+ 'sd_bus_match_signal_async'],
+ ''],
['sd_bus_creds_get_pid',
'3',
['sd_bus_creds_get_audit_login_uid',
@@ -181,6 +186,7 @@ manpages = [
['SD_BUS_ERROR_END', 'SD_BUS_ERROR_MAP', 'sd_bus_error_map'],
''],
['sd_bus_get_fd', '3', [], ''],
+ ['sd_bus_is_open', '3', ['sd_bus_is_ready'], ''],
['sd_bus_message_append', '3', ['sd_bus_message_appendv'], ''],
['sd_bus_message_append_array',
'3',
@@ -200,6 +206,7 @@ manpages = [
['sd_bus_message_get_realtime_usec', 'sd_bus_message_get_seqnum'],
''],
['sd_bus_message_read_basic', '3', [], ''],
+ ['sd_bus_message_set_destination', '3', ['sd_bus_message_set_sender'], ''],
['sd_bus_negotiate_fds',
'3',
['sd_bus_negotiate_creds', 'sd_bus_negotiate_timestamp'],
@@ -210,7 +217,15 @@ manpages = [
['sd_bus_path_decode', 'sd_bus_path_decode_many', 'sd_bus_path_encode_many'],
''],
['sd_bus_process', '3', [], ''],
- ['sd_bus_request_name', '3', ['sd_bus_release_name'], ''],
+ ['sd_bus_request_name',
+ '3',
+ ['sd_bus_release_name',
+ 'sd_bus_release_name_async',
+ 'sd_bus_request_name_async'],
+ ''],
+ ['sd_bus_set_connected_signal', '3', ['sd_bus_get_connected_signal'], ''],
+ ['sd_bus_set_sender', '3', ['sd_bus_get_sender'], ''],
+ ['sd_bus_set_watch_bind', '3', ['sd_bus_get_watch_bind'], ''],
['sd_bus_track_add_name',
'3',
['sd_bus_track_add_sender',
@@ -655,6 +670,7 @@ manpages = [
['systemd', '1', ['init'], ''],
['systemd.automount', '5', [], ''],
['systemd.device', '5', [], ''],
+ ['systemd.dnssd', '5', [], 'ENABLE_RESOLVE'],
['systemd.environment-generator', '7', [], 'ENABLE_ENVIRONMENT_D'],
['systemd.exec', '5', [], ''],
['systemd.generator', '7', [], ''],
@@ -663,7 +679,6 @@ manpages = [
['systemd.link', '5', [], ''],
['systemd.mount', '5', [], ''],
['systemd.netdev', '5', [], 'ENABLE_NETWORKD'],
- ['systemd.dnssd', '5', [], 'ENABLE_RESOLVE'],
['systemd.network', '5', [], 'ENABLE_NETWORKD'],
['systemd.nspawn', '5', [], ''],
['systemd.offline-updates', '7', [], ''],
diff --git a/man/sd_bus_add_match.xml b/man/sd_bus_add_match.xml
index 4772c738ac..f11d078284 100644
--- a/man/sd_bus_add_match.xml
+++ b/man/sd_bus_add_match.xml
@@ -45,14 +45,24 @@
sd_bus_add_match
+ sd_bus_add_match_async
+ sd_bus_match_signal
+ sd_bus_match_signal_async
- Add a match rule for message dispatching
+ Add a match rule for incoming message dispatching
#include <systemd/sd-bus.h>
+
+ typedef int (*sd_bus_message_handler_t)
+ sd_bus_message *m
+ void *userdata
+ sd_bus_error *ret_error
+
+
int sd_bus_add_match
sd_bus *bus
@@ -63,65 +73,122 @@
- typedef int (*sd_bus_message_handler_t)
- sd_bus_message *m
+ int sd_bus_add_match_async
+ sd_bus *bus
+ sd_bus_slot **slot
+ const char *match
+ sd_bus_message_handler_t callback
+ sd_bus_message_handler_t install_callback
void *userdata
- sd_bus_error *ret_error
+
+
+ int sd_bus_match_signal
+ sd_bus *bus
+ sd_bus_slot **slot
+ const char *sender
+ const char *path
+ const char *interface
+ const char *member
+ sd_bus_message_handler_t callback
+ void *userdata
+
+
+
+ int sd_bus_match_signal_async
+ sd_bus *bus
+ sd_bus_slot **slot
+ const char *sender
+ const char *path
+ const char *interface
+ const char *member
+ sd_bus_message_handler_t callback
+ sd_bus_message_handler_t install_callback
+ void *userdata
+
+
Description
-
- sd_bus_add_match() installs a match rule for incoming messages received on the specified bus
- connection object bus. The syntax of the match rule expression passed in
- match is described in the D-Bus Specification. The specified handler
- function callback is called for eaching incoming message matching the specified
- expression, the userdata parameter is passed as-is to the callback function.
+ sd_bus_add_match() installs a match rule for messages received on the specified bus
+ connection object bus. The syntax of the match rule expression passed in
+ match is described in the D-Bus Specification. The specified handler
+ function callback is called for eaching incoming message matching the specified expression,
+ the userdata parameter is passed as-is to the callback function. The match is installed
+ synchronously when connected to a bus broker, i.e. the call sends a control message requested the match to be added
+ to the broker and waits until the broker confirms the match has been installed successfully.
+
+ sd_bus_add_match_async() operates very similar to
+ sd_bus_match_signal(), however it installs the match asynchronously, in a non-blocking
+ fashion: a request is sent to the broker, but the call does not wait for a response. The
+ install_callback function is called when the response is later received, with the response
+ message from the broker as parameter. If this function is specified as NULL a default
+ implementation is used that terminates the bus connection should installing the match fail.
+
+ sd_bus_match_signal() is very similar to sd_bus_add_match(), but
+ only matches signals, and instead of a match expression accepts four parameters: sender (the
+ service name of the sender), path (the object path of the emitting object),
+ interface (the interface the signal belongs to), member (the signal
+ name), from which the match string is internally generated. Optionally, these parameters may be specified as
+ NULL in which case the relevant field of incoming signals is not tested.
+
+ sd_bus_match_signal_async() is combines the signal matching logic of
+ sd_bus_match_signal() with the asynchronous behaviour of
+ sd_bus_add_match_async().
+
+ On success, and if non-NULL, the slot return parameter will be
+ set to a slot object that may be used as a reference to the installed match, and may be utilized to remove it again
+ at a later time with
+ sd_bus_slot_unref3. If specified
+ as NULL the lifetime of the match is bound to the lifetime of the bus object itself, and the
+ match cannot be removed independently.
+
+ The message m passed to the callback is only borrowed, that is, the callback should
+ not call sd_bus_message_unref3
+ on it. If the callback wants to hold on to the message beyond the lifetime of the callback, it needs to call
+ sd_bus_message_ref3 to create a
+ new reference.
+
+ If an error occurs during the callback invocation, the callback should return a negative error number
+ (optionally, a more precise error may be returned in ret_error, as well). If it wants other
+ callbacks that match the same rule to be called, it should return 0. Otherwise it should return a positive integer.
-
- On success, and if non-NULL, the slot return parameter will be set to
- a slot object that may be used as a reference to the installed match, and may be utilized to remove it again at a
- later time with
- sd_bus_slot_unref3. If
- specified as NULL the lifetime of the match is bound to the lifetime of the bus object itself, and the match
- cannot be removed independently.
-
-
-
- The message m passed to the callback is only borrowed, that is, the callback should not
- call sd_bus_message_unref3 on
- it. If the callback wants to hold on to the message beyond the lifetime of the callback, it needs to call
- sd_bus_message_ref3 to create
- a new reference.
-
-
-
- If an error occurs during the callback invocation, the callback should return a negative error number. If it
- wants other callbacks that match the same rule to be called, it should return 0. Otherwise it should return a
- positive integer.
-
+ If the bus refers to a direct connection (i.e. not a bus connection, as set with
+ sd_bus_set_bus_client3) the
+ match is only installed on the client side, and the synchronous and asynchronous functions operate the same.
Return Value
- On success, sd_bus_add_match() returns 0 or a positive integer. On failure, it returns a
- negative errno-style error code.
+ On success, sd_bus_add_match() and the other calls return 0 or a positive integer. On
+ failure, they return a negative errno-style error code.
+
+ Notes
+
+ sd_bus_add_match() and the other functions described here are available as a shared
+ library, which can be compiled and linked to with the libsystemd pkg-config1 file.
+
+
See Also
systemd1,
- sd-bus3
+ sd-bus3,
+ sd_bus_slot_unref3,
+ sd_bus_message_ref3,
+ sd_bus_set_bus_client3
diff --git a/man/sd_bus_is_open.xml b/man/sd_bus_is_open.xml
new file mode 100644
index 0000000000..9bc671fc37
--- /dev/null
+++ b/man/sd_bus_is_open.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+ sd_bus_is_open
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ sd_bus_is_open
+ 3
+
+
+
+ sd_bus_is_open
+ sd_bus_is_ready
+
+ Check whether the a bus connection is open or ready.
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ int sd_bus_is_open
+ sd_bus *bus
+
+
+
+ int sd_bus_is_ready
+ sd_bus *bus
+
+
+
+
+
+
+ Description
+
+ sd_bus_is_open() checks whether the specified bus connection is open, i.e. in the
+ process of being established, already established or in the process of being torn down. It returns zero when the
+ connection has not been started yet
+ (i.e. sd_bus_start3 or some
+ equivalent call has not been invoked yet), or is fully terminated again (for example after
+ sd_bus_close3), it returns
+ positive otherwise.
+
+ sd_bus_is_ready() checks whether the specified connection is fully established,
+ i.e. completed the connection and authentication phases of the protocol and received the
+ Hello() method call response, and is not in the process of being torn down again. It returns
+ zero outside of this state, and positive otherwise. Effectively, this function returns positive while regular
+ messages can be sent or received on the connection.
+
+ To be notified when the connection is fully established, use
+ sd_bus_set_connected_signal3 and
+ install a match for the Connected() signal on the
+ org.freedesktop.DBus.Local interface. To be notified when the connection is torn down again,
+ install a match for the Disconnected() signal on the
+ org.freedesktop.DBus.Local interface.
+
+
+
+ Return Value
+
+ On success, these functions return 0 or a positive integer. On failure, they return a negative errno-style
+ error code.
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -ECHILD
+
+ The bus connection has been created in a different process.
+
+
+
+
+
+ Notes
+
+ sd_bus_is_open() and sd_bus_is_ready() are available as
+ a shared library, which can be compiled and linked to with the libsystemd pkg-config1 file.
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ sd_bus_start3,
+ sd_bus_close3,
+ sd_bus_set_connected_signal3
+
+
+
+
diff --git a/man/sd_bus_message_set_destination.xml b/man/sd_bus_message_set_destination.xml
new file mode 100644
index 0000000000..ff69a23152
--- /dev/null
+++ b/man/sd_bus_message_set_destination.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+ sd_bus_message_set_destination
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ sd_bus_message_set_destination
+ 3
+
+
+
+ sd_bus_message_set_destination
+ sd_bus_message_set_sender
+ Set the destination or sender service name of a bus message
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ int sd_bus_message_set_destination
+ sd_bus_message *message
+ const char *destination
+
+
+
+ int sd_bus_message_set_sender
+ sd_bus_message *message
+ const char *sender
+
+
+
+
+
+ Description
+
+ sd_bus_message_set_destination() sets the destination service name for the specified bus
+ message object. The specified name must be a valid unique or well-known service name.
+
+ sd_bus_message_set_sender() sets the sender service name for the specified bus message
+ object. The specified name must be a valid unique or well-known service name. This function is useful only for
+ messages to send on direct connections as for connections to bus brokers the broker will fill in the destination
+ field anyway, and the sender field set by original sender is ignored.
+
+
+
+ Return Value
+
+ On success, these calls return 0 or a positive integer. On failure, these calls return a negative errno-style
+ error code.
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -EINVAL
+
+ A specified parameter is invalid.
+
+
+
+ -EPERM
+
+ The message is already sealed.
+
+
+
+ -EEXIST
+
+ The message already has a destination or sender field set.
+
+
+
+
+
+ Notes
+
+ The sd_bus_message_set_destination() and
+ sd_bus_message_set_sender() interfaces
+ are available as a shared library, which can be compiled and
+ linked to with the
+ libsystemd pkg-config1
+ file.
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ sd_bus_new3,
+ sd_bus_set_sender3
+
+
+
+
diff --git a/man/sd_bus_request_name.xml b/man/sd_bus_request_name.xml
index f44cfdb1ac..9e668f0b02 100644
--- a/man/sd_bus_request_name.xml
+++ b/man/sd_bus_request_name.xml
@@ -46,7 +46,9 @@
sd_bus_request_name
+ sd_bus_request_name_async
sd_bus_release_name
+ sd_bus_release_name_async
Request or release a well-known service name on a bus
@@ -61,71 +63,103 @@
uint64_t flags
+
+ int sd_bus_request_name_async
+ sd_bus *bus
+ sd_bus_slot **slot
+ const char *name
+ uint64_t flags
+ sd_bus_message_handler_t callback
+ void *userdata
+
+
int sd_bus_release_name
sd_bus *bus
const char *name
+
+
+ int sd_bus_release_name_async
+ sd_bus *bus
+ sd_bus_slot **slot
+ const char *name
+ sd_bus_message_handler_t callback
+ void *userdata
+
Description
- sd_bus_request_name() requests a
- well-known service name on a bus. It takes a bus connection, a
- valid bus name and a flags parameter. The flags parameter is a
- combination of the following flags:
+ sd_bus_request_name() requests a well-known service name on a bus. It takes a bus
+ connection, a valid bus name and a flags parameter. The flags parameter is a combination of the following
+ flags:
SD_BUS_NAME_ALLOW_REPLACEMENT
- After acquiring the name successfully, permit
- other peers to take over the name when they try to acquire it
- with the SD_BUS_NAME_REPLACE_EXISTING flag
- set. If SD_BUS_NAME_ALLOW_REPLACEMENT is
- not set on the original request, such a request by other peers
- will be denied.
+ After acquiring the name successfully, permit other peers to take over the name when they try
+ to acquire it with the SD_BUS_NAME_REPLACE_EXISTING flag set. If
+ SD_BUS_NAME_ALLOW_REPLACEMENT is not set on the original request, such a request by other
+ peers will be denied.
SD_BUS_NAME_REPLACE_EXISTING
- Take over the name if it is already acquired
- by another peer, and that other peer has permitted takeover by
- setting SD_BUS_NAME_ALLOW_REPLACEMENT while
- acquiring it.
+ Take over the name if it is already acquired by another peer, and that other peer has permitted
+ takeover by setting SD_BUS_NAME_ALLOW_REPLACEMENT while acquiring it.
SD_BUS_NAME_QUEUE
- Queue the acquisition of the name when the
- name is already taken.
+ Queue the acquisition of the name when the name is already taken.
- sd_bus_release_name() releases an
- acquired well-known name. It takes a bus connection and a valid
- bus name as parameters.
+ sd_bus_request_name() operates in a synchronous fashion: a message requesting the name
+ is sent to the bus broker, and the call waits until the broker responds.
+
+ sd_bus_request_name_async() is an asynchronous version of of
+ sd_bus_release_name(). Instead of waiting for the request to complete, the request message is
+ enqueued. The specified callback will be called when the broker's response is received. If
+ the parameter is specified as NULL a default implementation is used instead which will
+ terminate the connection when the name cannot be acquired. The function returns a slot object in its
+ slot parameter — if it is passed as non-NULL — which may be used as a
+ reference to the name request operation. Use
+ sd_bus_slot_unref3 to destroy
+ this reference. Note that destroying the reference will not unregister the name, but simply ensure the specified
+ callback is no longer called.
+
+ sd_bus_release_name() releases an acquired well-known name. It takes a bus connection
+ and a valid bus name as parameters. This function operates synchronously, sending a release request message to the
+ bus broker and waiting for it to reply.
+
+ sd_bus_release_name_async() is an asynchronous version of
+ sd_bus_release_name(). The specified callback function is called when
+ the name has been released successfully. If specified as NULL a generic implementation is used
+ that ignores the result of the operation. As above, the slot (if
+ non-NULL) is set to an object that may be used to reference the operation.
+
+ These functions are supported only on bus connections, i.e. connections to a bus broker and not on direct
+ connections.
Return Value
- On success, these calls return 0 or a positive integer. On
- failure, these calls return a negative errno-style error
- code.
+ On success, these calls return 0 or a positive integer. On failure, these calls return a negative errno-style
+ error code.
- If SD_BUS_NAME_QUEUE is specified,
- sd_bus_request_name() will return 0 when the
- name is already taken by another peer and the client has been
- added to the queue for the name. In that case, the caller can
- subscribe to NameOwnerChanged signals to be
- notified when the name is successfully acquired.
- sd_bus_request_name() returns > 0 when the
- name has immediately been acquired successfully.
+ If SD_BUS_NAME_QUEUE is specified, sd_bus_request_name() will return
+ 0 when the name is already taken by another peer and the client has been added to the queue for the name. In that
+ case, the caller can subscribe to NameOwnerChanged signals to be notified when the name is
+ successfully acquired. sd_bus_request_name() returns > 0 when the name has immediately
+ been acquired successfully.
@@ -137,56 +171,50 @@
-EALREADY
- The caller already is the owner of the
- specified name.
+ The caller already is the owner of the specified name.
-EEXIST
- The name has already been acquired by a
- different peer, and SD_BUS_NAME_REPLACE_EXISTING was not
- specified or the other peer did not specify
- SD_BUS_NAME_ALLOW_REPLACEMENT while acquiring the
+ The name has already been acquired by a different peer, and SD_BUS_NAME_REPLACE_EXISTING was
+ not specified or the other peer did not specify SD_BUS_NAME_ALLOW_REPLACEMENT while acquiring the
name.
-ESRCH
- It was attempted to release a name that is
- currently not registered on the bus.
+ It was attempted to release a name that is currently not registered on the
+ bus.
-EADDRINUSE
- It was attempted to release a name that is
- owned by a different peer on the bus.
+ It was attempted to release a name that is owned by a different peer on the
+ bus.
-EINVAL
- A specified parameter is invalid. This is also
- generated when the requested name is a special service name
- reserved by the D-Bus specification, or when the operation is
- requested on a connection that does not refer to a
- bus.
+ A specified parameter is invalid. This is also generated when the requested name is a special
+ service name reserved by the D-Bus specification, or when the operation is requested on a connection that does
+ not refer to a bus.
-ENOTCONN
- The bus connection has been
- disconnected.
+ The bus connection has been disconnected.
-ECHILD
- The bus connection has been created in a
- different process than the current one.
+ The bus connection has been created in a different process than the current
+ one.
@@ -194,12 +222,9 @@
Notes
- The sd_bus_acquire_name() and
- sd_bus_release_name() interfaces are
- available as a shared library, which can be compiled and linked to
- with the
- libsystemd pkg-config1
- file.
+ The sd_bus_acquire_name() and the other interfaces described here are available as a
+ shared library, which can be compiled and linked to with the libsystemd pkg-config1 file.
@@ -208,7 +233,8 @@
systemd1,
sd-bus3,
- sd_bus_new3
+ sd_bus_new3,
+ sd_bus_slot_unref3
diff --git a/man/sd_bus_set_connected_signal.xml b/man/sd_bus_set_connected_signal.xml
new file mode 100644
index 0000000000..9374dac3a5
--- /dev/null
+++ b/man/sd_bus_set_connected_signal.xml
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+ sd_bus_set_connected_signal
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ sd_bus_set_connected_signal
+ 3
+
+
+
+ sd_bus_set_connected_signal
+ sd_bus_get_connected_signal
+
+ Control emmission of local connection establishment signal on bus connections
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ int sd_bus_set_connected_signal
+ sd_bus *bus
+ int b
+
+
+
+ int sd_bus_get_connected_signal
+ sd_bus *bus
+
+
+
+
+
+
+ Description
+
+ sd_bus_set_connected_signal() may be used to control whether a local, synthetic
+ Connected() signal message shall be generated and enqueued for dispatching when the connection
+ is fully established. If the b parameter is zero the message is not generated (the default),
+ otherwise it is generated.
+
+ sd_bus_get_connected_signal() may be used to query whether this feature is enabled. It
+ returns zero if not, positive otherwise.
+
+ The Connected() signal message is generated from the
+ org.freedesktop.DBus.Local service and interface, and
+ /org/freedesktop/DBus/Local object path. Use
+ sd_bus_match_signal_async3 to
+ match on this signal.
+
+ This message is particularly useful on slow transports where connections take a long time to be
+ established. This is especially the case when
+ sd_bus_set_watch_bind3 is
+ used. The signal is generated when the
+ sd_bus_is_ready3 returns
+ positive for the first time.
+
+ The Connected() signal corresponds with the Disconnected() signal
+ that is synthesized locally when the connection is terminated. The latter is generated unconditionally however,
+ unlike the former which needs to be enabled explicitly before it is generated, with
+ sd_bus_set_connected_signal().
+
+
+
+ Return Value
+
+ On success, these functions return 0 or a positive integer. On failure, they return a negative errno-style
+ error code.
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -ECHILD
+
+ The bus connection has been created in a different process.
+
+
+
+
+
+ Notes
+
+ sd_bus_set_connected_signal() and sd_bus_get_connected_signal() are available as
+ a shared library, which can be compiled and linked to with the libsystemd pkg-config1 file.
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ sd_bus_match_signal_async3,
+ sd_bus_set_watch_bind3,
+ sd_bus_is_ready3
+
+
+
+
diff --git a/man/sd_bus_set_sender.xml b/man/sd_bus_set_sender.xml
new file mode 100644
index 0000000000..38efda7286
--- /dev/null
+++ b/man/sd_bus_set_sender.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+ sd_bus_set_sender
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ sd_bus_set_sender
+ 3
+
+
+
+ sd_bus_set_sender
+ sd_bus_get_sender
+
+ Configure default sender for outgoing messages
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ int sd_bus_set_sender
+ sd_bus *bus
+ const char* name
+
+
+
+ int sd_bus_get_sender
+ sd_bus *bus
+ const char** name
+
+
+
+
+
+
+ Description
+
+ sd_bus_set_sender() configures the default sender service name to use for outgoing
+ messages. The service name specified in the name parameter is set on all outgoing messages
+ that are sent on the connection and have no sender set yet, for example through
+ sd_bus_message_set_sender3. Note
+ that this function is only supported on direct connections, i.e. not on connections to a bus broker as the broker
+ will fill in the sender service name automatically anyway. By default no sender name is configured, and hence
+ messages are sent without sender field set. If the name parameter is specified as
+ NULL the default sender service name is cleared, returning to the default state if a default
+ sender service name was set before. If passed as non-NULL the specified name must be a valid
+ unique or well-known service name.
+
+ sd_bus_get_sender() may be used to query the current default service name for outgoing
+ messages.
+
+
+
+ Return Value
+
+ On success, these functions return 0 or a positive integer. On failure, they return a negative errno-style
+ error code.
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -ECHILD
+
+ The bus connection has been created in a different process.
+
+
+
+ -EPERM
+
+ The specified bus connection object is a not a direct but a brokered connection.
+
+
+
+
+
+ Notes
+
+ sd_bus_set_sender() and sd_bus_get_sender() are available as
+ a shared library, which can be compiled and linked to with the libsystemd pkg-config1 file.
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ sd_bus_message_set_sender3
+
+
+
+
diff --git a/man/sd_bus_set_watch_bind.xml b/man/sd_bus_set_watch_bind.xml
new file mode 100644
index 0000000000..5e6a6fa588
--- /dev/null
+++ b/man/sd_bus_set_watch_bind.xml
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+ sd_bus_set_watch_bind
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ sd_bus_set_watch_bind
+ 3
+
+
+
+ sd_bus_set_watch_bind
+ sd_bus_get_watch_bind
+
+ Control socket binding watching on bus connections
+
+
+
+
+ #include <systemd/sd-bus.h>
+
+
+ int sd_bus_set_watch_bind
+ sd_bus *bus
+ int b
+
+
+
+ int sd_bus_get_watch_bind
+ sd_bus *bus
+
+
+
+
+
+
+ Description
+
+ sd_bus_set_watch_bind() may be used to enable or disable client-side watching of server
+ socket binding for a bus connection object. If the b is true, the feature is enabled,
+ otherwise disabled (which is the default). When enabled, and the selected bus address refers to an
+ AF_UNIX socket in the file system which does not exist while the connection attempt is made an
+ inotify7 watch is installed on
+ it, waiting for the socket to appear. As soon as the socket appears the connection is made. This functionality is
+ useful in particular in early-boot programs that need to run before the system bus is available, but want to
+ connect to it the instant it may be connected to.
+
+ sd_bus_get_watch_bind() may be used to query the current setting of this feature. It
+ returns zero when the feature is disabled, and positive if enabled.
+
+ Note that no timeout is applied while it is waited for the socket to appear. This means that any synchronous
+ remote operation (such as
+ sd_bus_call3,
+ sd_bus_add_match3 or
+ sd_bus_request_name3), that is
+ used on a connection with this feature enabled that is not established yet might block unbounded if the socket is
+ never created. However, asynchronous remote operations (such as
+ sd_bus_send3,
+ sd_bus_add_match_async3 or
+ sd_bus_request_match_async3) do
+ not block in this case, and safely enqueue the requested operations to be dispatched the instant the connection is
+ set up.
+
+ Use sd_bus_is_ready3 to
+ determine whether the connection is fully established, i.e. whether the peer socket has been bound, connected to
+ and authenticated. Use
+ sd_bus_set_connected_signal3 to
+ be notified when the connection is fully established.
+
+
+
+
+ Return Value
+
+ On success, these functions return 0 or a positive integer. On failure, they return a negative errno-style
+ error code.
+
+
+
+ Errors
+
+ Returned errors may indicate the following problems:
+
+
+
+ -ECHILD
+
+ The bus connection has been created in a different process.
+
+
+
+
+
+ Notes
+
+ sd_bus_set_watch_bind() and sd_bus_get_watch_bind() are available as
+ a shared library, which can be compiled and linked to with the libsystemd pkg-config1 file.
+
+
+
+ See Also
+
+
+ systemd1,
+ sd-bus3,
+ inotify7,
+ sd_bus_call3,
+ sd_bus_add_match3,
+ sd_bus_request_name3,
+ sd_bus_is_ready3,
+ sd_bus_set_connected_signal3
+
+
+
+