#include "list.h"
#include "util.h"
#include "refcnt.h"
+#include "socket-util.h"
#include "sd-bus.h"
#include "bus-error.h"
void *userdata;
BusSlotType type:5;
bool floating:1;
+ char *description;
LIST_FIELDS(sd_bus_slot, slots);
bool nodes_modified:1;
bool trusted:1;
bool fake_creds_valid:1;
+ bool fake_pids_valid:1;
bool manual_peer_interface:1;
bool is_system:1;
bool is_user:1;
struct bus_match_node match_callbacks;
Prioq *reply_callbacks_prioq;
- Hashmap *reply_callbacks;
+ OrderedHashmap *reply_callbacks;
LIST_HEAD(struct filter_callback, filter_callbacks);
Hashmap *nodes;
Hashmap *vtable_methods;
Hashmap *vtable_properties;
- union {
- struct sockaddr sa;
- struct sockaddr_un un;
- struct sockaddr_in in;
- struct sockaddr_in6 in6;
- } sockaddr;
+ union sockaddr_union sockaddr;
socklen_t sockaddr_size;
char *kernel;
char *machine;
+ pid_t nspid;
sd_id128_t server_id;
sd_bus_message *current_message;
sd_bus_slot *current_slot;
+ sd_bus_message_handler_t current_handler;
+ void *current_userdata;
sd_bus **default_bus_ptr;
pid_t tid;
struct kdbus_creds fake_creds;
+ struct kdbus_pids fake_pids;
char *fake_label;
char *cgroup_root;
- char *connection_name;
+ char *description;
size_t bloom_size;
unsigned bloom_n_hash;
bool interface_name_is_valid(const char *p) _pure_;
bool service_name_is_valid(const char *p) _pure_;
+char* service_name_startswith(const char *a, const char *b);
bool member_name_is_valid(const char *p) _pure_;
bool object_path_is_valid(const char *p) _pure_;
char *object_path_startswith(const char *a, const char *b) _pure_;
int bus_set_address_system(sd_bus *bus);
int bus_set_address_user(sd_bus *bus);
int bus_set_address_system_remote(sd_bus *b, const char *host);
-int bus_set_address_system_container(sd_bus *b, const char *machine);
+int bus_set_address_system_machine(sd_bus *b, const char *machine);
int bus_remove_match_by_string(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata);
+
+int bus_get_root_path(sd_bus *bus);