SD_BUS_CAN_SEND(3) sd_bus_can_send SD_BUS_CAN_SEND(3)

sd_bus_can_send - Check which types can be sent over a bus object

#include <systemd/sd-bus.h>

void sd_bus_can_send(sd_bus *bus, char type);

sd_bus_can_send() is mostly used for checking if file descriptor passing is available on the given bus. type can be any of the SD_BUS_TYPE constants.

On failure, sd_bus_can_send() returns a negative errno-style error code. If values of the given type can be sent over the given bus, it returns a positive integer. Otherwise, it returns zero.

Returned errors may indicate the following problems:


The bus object bus could not be resolved.


The input parameter bus is NULL or the bus is not connected.


The bus object bus was created in a different process.

Functions described here are available as a shared library, which can be compiled against and linked to with the libsystemd pkg-config(1) file.

The code described here uses getenv(3), which is declared to be not multi-thread-safe. This means that the code calling the functions described here must not call setenv(3) from a parallel thread. It is recommended to only do calls to setenv() from an early phase of the program when no other threads have been started.

systemd(1), sd-bus(3)

systemd 254