---
name: "sd_bus_slot_set_description"
section: "3"
platform: "linux"
package: "systemd-libs"
version: "262.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/sd_bus_slot_set_description"
---

# sd\_bus\_slot\_set\_description(3)

Set or query the description of bus slot objects

## NAME

sd\_bus\_slot\_set\_description, sd\_bus\_slot\_get\_description - Set or query the description of bus slot objects

## SYNOPSIS

```
#include <systemd/sd-bus.h>
```

**int sd\_bus\_slot\_set\_description(sd\_bus\_slot\*** *slot***, const char \****description***);**

**int sd\_bus\_slot\_get\_description(sd\_bus\_slot\*** *bus***, const char \*\****description***);**

## DESCRIPTION

**sd\_bus\_slot\_set\_description()** sets the description string that is used in logging to the specified string. The string is copied internally and freed when the bus slot object is deallocated. The *description* argument may be **NULL**, in which case the description is unset.

**sd\_bus\_slot\_get\_description()** returns a description string in *description*. If the string is not set, e.g. with **sd\_bus\_slot\_set\_description()**, and the slot is a bus match callback slot, the match string will be returned. Otherwise, **-ENXIO** is returned.

## RETURN VALUE

On success, these functions return 0 or a positive integer. On failure, they return a negative errno-style error code.

### Errors

Returned errors may indicate the following problems:

**-EINVAL**

An required argument is **NULL**.

**-ENXIO**

The bus slot object has no description.

**-ENOMEM**

Memory allocation failed.

## NOTES

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

All functions listed here are thread-agnostic and only a single thread may operate on a given object at any given time. Different threads may access the same object at different times. Multiple independent objects may be used from different threads in parallel.

The code described here uses [**getenv**(3)](/getenv/3.md), which is declared to be not multi-thread-safe. This means that the code calling the functions described here must not call [**setenv**(3)](/setenv/3.md) 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.

## HISTORY

**sd\_bus\_slot\_set\_description()** and **sd\_bus\_slot\_get\_description()** were added in version 240.

## SEE ALSO

[**systemd**(1)](/systemd/1.md), [**sd-bus**(3)](/sd-bus/3.md), [**sd\_bus\_slot\_ref**(3)](/sd_bus_slot_ref/3.md), [**sd\_bus\_slot\_set\_userdata**(3)](/sd_bus_slot_set_userdata/3.md)
