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_call(3), sd_bus_message_append(3) and sd_bus_call(3) 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_call(3), sd_bus_message_append(3) and sd_bus_call_async(3) 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_call(3), sd_bus_message_append(3), sd_bus_call(3) and sd_bus_call_async(3) 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.
History
sd_bus_call_method(), and sd_bus_call_method_async() were added in version 221.
sd_bus_call_methodv(), sd_bus_call_method_asyncv() were added in version 246.
See Also
systemd(1), sd-bus(3), sd_bus_message_new_method_call(3), sd_bus_message_append(3), sd_bus_call(3), sd_bus_set_property(3), sd_bus_emit_signal(3)
谢谢你的反馈!