| SD_EVENT_SOURCE_SET_DESCRIPTION(3) | sd_event_source_set_description | SD_EVENT_SOURCE_SET_DESCRIPTION(3) |
.SH "NAME" sd_event_source_set_description,
sd_event_source_get_description - Set or retrieve descriptive names of event
sources
.SH "SYNOPSIS"
#include <systemd/sd-event.h>
.HP 864u int
sd_event_source_set_description(sd_event_source *source,
const char *description);
.HP 864u int
sd_event_source_get_description(sd_event_source *source,
const char **ret);
.SH "DESCRIPTION"
.PP sd_event_source_set_description() may be used to set an arbitrary
descriptive name for the event source object specified as source.
This name will be used in debugging messages generated by sd-event(3)
for this event source, and may be queried using
sd_event_source_get_description() for debugging purposes. The
description parameter shall point to a NUL-terminated string
or be NULL. In the latter case, the descriptive name will be unset.
The string is copied internally, hence the description argument is
not referenced after the function returns.
.PP sd_event_source_get_description() may be used to query the current
descriptive name assigned to the event source object source. It
returns a pointer to the current name in ret, stored in memory
internal to the event source. The memory is invalidated when the event
source is destroyed or the descriptive name is changed.
.PP Event source objects generally have no description set when they are
created, except for UNIX signal event sources created with
sd_event_add_signal(3), whose descriptive name is initialized to the
signal's C constant name (e.g. SIGINT or SIGTERM).
.SH "RETURN VALUE"
.PP On success, sd_event_source_set_description() and
sd_event_source_get_description() return a non-negative integer. On
failure, they return a negative errno-style error code.
.SS "Errors"
.PP Returned errors may indicate the following problems:
.PP -EINVAL
source is not a valid pointer to an sd_event_source object or the
description argument for sd_event_source_get_description() is
NULL.
.RE
.PP -ENOMEM
Not enough memory to copy the name.
.RE
.PP -ECHILD
The event loop has been created in a different process, library or module
instance.
.RE
.PP -ENXIO
No name was set for the event source.
.RE
.SH "NOTES"
.PP Functions described here are available as a shared library, which can be
compiled against and linked to with the
libsystemd pkg-config(1) file.
.PP 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.
.PP 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.
.SH "HISTORY"
.PP sd_event_source_set_description() and
sd_event_source_get_description() were added in version 229.
.SH "SEE ALSO"
.PP sd-event(3), sd_event_add_io(3),
sd_event_add_time(3), sd_event_add_signal(3),
sd_event_add_child(3), sd_event_add_inotify(3),
sd_event_add_defer(3), sd_event_source_set_userdata(3)
| systemd 262.2 |