sd_bus_new

systemd
A monkey with a typewriter Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl
sd_bus_new 3
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

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