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.