sd_bus_call_method
systemd
sd_bus_call_method
3
sd_bus_call_method
sd_bus_call_methodv
sd_bus_call_method_async
sd_bus_call_method_asyncv
Initialize a bus message object and invoke the corresponding D-Bus method call
#include <systemd/sd-bus.h>
int sd_bus_call_method
sd_bus *bus
const char *destination
const char *path
const char *interface
const char *member
sd_bus_error *ret_error
sd_bus_message **reply
const char *types
...
int sd_bus_call_methodv
sd_bus *bus
const char *destination
const char *path
const char *interface
const char *member
sd_bus_error *ret_error
sd_bus_message **reply
const char *types
va_list ap
int sd_bus_call_method_async
sd_bus *bus
sd_bus_slot **slot
const char *destination
const char *path
const char *interface
const char *member
sd_bus_message_handler_t callback
void *userdata
const char *types
...
int sd_bus_call_method_asyncv
sd_bus *bus
sd_bus_slot **slot
const char *destination
const char *path
const char *interface
const char *member
sd_bus_message_handler_t callback
void *userdata
const char *types
va_list ap
Description
sd_bus_call_method() is a convenience function for initializing a
bus message object and calling the corresponding D-Bus method. It combines the
sd_bus_message_new_method_call3,
sd_bus_message_append3 and
sd_bus_call3
functions into a single function call.
sd_bus_call_method_async() is a convenience function for initializing
a bus message object and calling the corresponding D-Bus method asynchronously. It combines the
sd_bus_message_new_method_call3,
sd_bus_message_append3 and
sd_bus_call_async3
functions into a single function call.
Return Value
On success, these functions return a non-negative integer. On failure, they return a
negative errno-style error code.
Errors
See the man pages of
sd_bus_message_new_method_call3,
sd_bus_message_append3,
sd_bus_call3 and
sd_bus_call_async3
for a list of possible errors.
Examples
Make a call to a D-Bus method that takes a single parameter
This defines a minimally useful program that will open a connection to the bus, call a method,
wait for the reply, and finally extract and print the answer. It does error handling and proper
memory management.
See Also
systemd1,
sd-bus3,
sd_bus_message_new_method_call3,
sd_bus_message_append3,
sd_bus_call3,
sd_bus_set_property3,
sd_bus_emit_signal3