]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
40ca29a1 LP |
2 | #pragma once |
3 | ||
69a283c5 | 4 | #include "sd-bus.h" /* IWYU pragma: export */ |
a8fbdf54 | 5 | |
93a1f792 | 6 | #include "log.h" |
69a283c5 | 7 | #include "forward.h" |
40ca29a1 | 8 | |
057171ef DH |
9 | typedef enum BusTransport { |
10 | BUS_TRANSPORT_LOCAL, | |
11 | BUS_TRANSPORT_REMOTE, | |
12 | BUS_TRANSPORT_MACHINE, | |
ad963c3f | 13 | BUS_TRANSPORT_CAPSULE, |
057171ef | 14 | _BUS_TRANSPORT_MAX, |
2d93c20e | 15 | _BUS_TRANSPORT_INVALID = -EINVAL, |
057171ef DH |
16 | } BusTransport; |
17 | ||
6203e07a | 18 | int bus_async_unregister_and_exit(sd_event *e, sd_bus *bus, const char *name); |
40ca29a1 | 19 | |
37224a5f LP |
20 | typedef bool (*check_idle_t)(void *userdata); |
21 | ||
22 | int bus_event_loop_with_idle(sd_event *e, sd_bus *bus, const char *name, usec_t timeout, check_idle_t check_idle, void *userdata); | |
718db961 | 23 | |
9d5f05ae | 24 | int bus_name_has_owner(sd_bus *bus, const char *name, sd_bus_error *reterr_error); |
ac004f4c | 25 | |
73d3ac8e | 26 | bool bus_error_is_unknown_service(const sd_bus_error *error); |
ac004f4c | 27 | bool bus_error_is_connection(const sd_bus_error *error); |
5fd38859 | 28 | |
9d5f05ae | 29 | int bus_check_peercred(sd_bus *bus); |
40ca29a1 | 30 | |
ad963c3f LP |
31 | int bus_set_address_capsule_bus(sd_bus *bus, const char *capsule, int *ret_pin_fd); |
32 | ||
9d5f05ae YW |
33 | int bus_connect_system_systemd(sd_bus **ret); |
34 | int bus_connect_user_systemd(sd_bus **ret); | |
35 | int bus_connect_capsule_systemd(const char *capsule, sd_bus **ret); | |
36 | int bus_connect_capsule_bus(const char *capsule, sd_bus **ret); | |
a1da8583 | 37 | |
4870133b LP |
38 | int bus_connect_transport(BusTransport transport, const char *host, RuntimeScope runtime_scope, sd_bus **bus); |
39 | int bus_connect_transport_systemd(BusTransport transport, const char *host, RuntimeScope runtime_scope, sd_bus **bus); | |
d21ed1ea | 40 | |
fb293b3c | 41 | int bus_log_address_error(int r, BusTransport transport); |
c577fe65 | 42 | int bus_log_connect_full(int log_level, int r, BusTransport transport, RuntimeScope scope); |
69a283c5 | 43 | int bus_log_connect_error(int r, BusTransport transport, RuntimeScope scope); |
ab4a88eb ZJS |
44 | |
45 | #define bus_log_parse_error(r) \ | |
32131a3a ZJS |
46 | log_error_errno(r, "Failed to parse bus message: %m") |
47 | ||
a78d1ef5 DDM |
48 | #define bus_log_parse_error_debug(r) \ |
49 | log_debug_errno(r, "Failed to parse bus message: %m") | |
50 | ||
ab4a88eb | 51 | #define bus_log_create_error(r) \ |
32131a3a | 52 | log_error_errno(r, "Failed to create bus message: %m") |
f459b602 | 53 | |
98a4c30b DH |
54 | int bus_path_encode_unique(sd_bus *b, const char *prefix, const char *sender_id, const char *external_id, char **ret_path); |
55 | int bus_path_decode_unique(const char *path, const char *prefix, char **ret_sender, char **ret_external); | |
057171ef | 56 | |
1446e3c3 | 57 | int bus_track_add_name_many(sd_bus_track *t, char * const *l); |
8402ca04 | 58 | int bus_track_to_strv(sd_bus_track *t, char ***ret); |
d7afd945 | 59 | |
0ddf50ff YW |
60 | int bus_open_system_watch_bind_with_description(sd_bus **ret, const char *description); |
61 | static inline int bus_open_system_watch_bind(sd_bus **ret) { | |
62 | return bus_open_system_watch_bind_with_description(ret, NULL); | |
63 | } | |
906cb2eb | 64 | |
9d5f05ae | 65 | int bus_reply_pair_array(sd_bus_message *m, char * const *l); |
2a66c2a1 | 66 | |
fb22861d LB |
67 | /* Listen to GetMallocInfo() calls to 'destination' and return malloc_info() via FD */ |
68 | int bus_register_malloc_status(sd_bus *bus, const char *destination); | |
69 | ||
1b78be0b LP |
70 | int bus_creds_get_pidref(sd_bus_creds *c, PidRef *ret); |
71 | int bus_query_sender_pidref(sd_bus_message *m, PidRef *ret); | |
8157cc0e | 72 | |
a9a8d2e1 MY |
73 | int bus_get_instance_id(sd_bus *bus, sd_id128_t *ret); |
74 | ||
d8a77d55 | 75 | const char* bus_transport_to_string(BusTransport transport) _const_; |