sd_bus_new, sd_bus_ref, sd_bus_unref — Create a new bus object and create or destroy references to it
#include <systemd/sd-bus.h>
int sd_bus_new( | sd_bus **bus) ; |
sd_bus *sd_bus_ref( | sd_bus *bus) ; |
sd_bus *sd_bus_unref( | sd_bus *bus) ; |
sd_bus_new()
creates a new bus
object. This object is reference-counted, and will be destroyed
when all references are gone. Initially, the caller of this
function owns the sole reference.
sd_bus_ref()
creates a new reference to
bus
. This bus object will not be destroyed
until sd_bus_unref()
has been called as many
times plus once more. Once the reference count has dropped to
zero, bus
cannot be used anymore, so
further calls to sd_bus_ref()
or
sd_bus_unref()
are illegal.
sd_bus_unref()
destroys a reference to
bus
.
On success, sd_bus_new()
returns 0 or a
positive integer. On failure, it returns a negative errno-style
error code.
sd_bus_ref
always returns the argument.
sd_bus_unref
always returns
NULL
.
sd_bus_new()
and other functions
described here are available as a shared library, which can be
compiled and linked to with the
libsystemd
pkg-config(1)
file.