SD_BUS_NEW(3)

NAME
sd_bus_new, sd_bus_ref, sd_bus_unref - Create a new bus object and create or destroy references to it

SYNOPSIS

#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);

DESCRIPTION

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.

RETURN VALUE

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.

ERRORS

Returned errors may indicate the following problems:

-ENOMEM
    Memory allocation failed.

NOTES

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.

SEE ALSO

systemd(1), sd-bus(3), sd_bus_open_user(3), sd_bus_open_system(3), sd_bus_default_user(3), sd_bus_default_system(3)