sd_bus_list_names − Retrieve information about registered names on a bus
#include <elogind/sd−bus.h>
int sd_bus_list_names(sd_bus *bus, char ***acquired, char ***activatable); |
sd_bus_list_names() retrieves information about the registered names on a bus. If acquired is not NULL, this function calls org.freedesktop.DBus.ListNames [1] to retrieve the list of currently−owned names on the bus. If acquired is not NULL, the function calls org.freedesktop.DBus.ListActivableNames [2] to retrieve the list of all names on the bus that can be activated. Note that ownership of the arrays returned by sd_bus_list_names() in acquired and activatable is transferred to the caller and hence, the caller is responsible for freeing these arrays and their contents.
On success, sd_bus_list_names() returns a non−negative integer. On failure, it returns a negative errno−style error code.
Returned errors may indicate the following problems:
−EINVAL
bus or both acquired and activatable were NULL.
−ENOPKG
The bus cannot be resolved.
−ECHILD
The bus was created in a different process.
−ENOMEM
Memory allocation failed.
−ENOTCONN
The bus is not connected.
These APIs are implemented as a shared library, which can be compiled and linked to with the libelogind pkg-config(1) file.
elogind(8), sd-bus(3)
1. |
org.freedesktop.DBus.ListNames |
https://dbus.freedesktop.org/doc/dbus-specification.html#bus-messages-list-names
2. |
org.freedesktop.DBus.ListActivableNames |
https://dbus.freedesktop.org/doc/dbus-specification.html#bus-messages-list-activatable-names