'\" t .TH "SD_BUS_GET_CURRENT_HANDLER" "3" "" "systemd 255" "sd_bus_get_current_handler" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" sd_bus_get_current_handler, sd_bus_get_current_message, sd_bus_get_current_slot, sd_bus_get_current_userdata \- Query information of the callback a bus object is currently running .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'typedef\ int\ (*sd_bus_message_handler_t)('u .BI "typedef int (*sd_bus_message_handler_t)(sd_bus_message\ *" "m" ", void\ *" "userdata" ", sd_bus_error\ *" "ret_error" ");" .HP \w'sd_bus_message_handler_t\ sd_bus_get_current_handler('u .BI "sd_bus_message_handler_t sd_bus_get_current_handler(sd_bus\ *" "bus" ");" .HP \w'sd_bus_message*\ sd_bus_get_current_message('u .BI "sd_bus_message* sd_bus_get_current_message(sd_bus\ *" "bus" ");" .HP \w'sd_bus_slot*\ sd_bus_get_current_slot('u .BI "sd_bus_slot* sd_bus_get_current_slot(sd_bus\ *" "bus" ");" .HP \w'void*\ sd_bus_get_current_userdata('u .BI "void* sd_bus_get_current_userdata(sd_bus\ *" "bus" ");" .SH "DESCRIPTION" .PP Whenever sd\-bus is about to invoke a user\-supplied callback function, it stores the current callback, D\-Bus message, slot and userdata pointer and allows these to be queried via \fBsd_bus_get_current_handler()\fR, \fBsd_bus_get_current_message()\fR, \fBsd_bus_get_current_slot()\fR and \fBsd_bus_get_current_userdata()\fR, respectively\&. If \fIbus\fR cannot be resolved or if execution does not reside in a user\-supplied callback of \fIbus\fR, these functions return \fBNULL\fR\&. .SH "RETURN VALUE" .PP On success, these functions return the requested object\&. On failure, they return \fBNULL\fR\&. .SH "NOTES" .PP Functions described here are available as a shared library, which can be compiled against and linked to with the \fBlibsystemd\fR\ \&\fBpkg-config\fR(1) file\&. .PP The code described here uses \fBgetenv\fR(3), which is declared to be not multi\-thread\-safe\&. This means that the code calling the functions described here must not call \fBsetenv\fR(3) from a parallel thread\&. It is recommended to only do calls to \fBsetenv()\fR from an early phase of the program when no other threads have been started\&. .SH "HISTORY" .PP \fBsd_bus_get_current_handler()\fR, \fBsd_bus_get_current_message()\fR, \fBsd_bus_get_current_slot()\fR, and \fBsd_bus_get_current_userdata()\fR were added in version 246\&. .SH "SEE ALSO" .PP \fBsystemd\fR(1), \fBsd-bus\fR(3)