chiark / gitweb /
bus: set no_auto_start flag for GetMachineId calls, so that we don't auto-start if...
[elogind.git] / src / libsystemd-bus / bus-internal.h
index 31e10b2c273e9d59eb4900ed49032a990486eb51..4f9d941c6331bd4048352b875a01d2f3ed6754ba 100644 (file)
@@ -196,6 +196,7 @@ struct sd_bus {
         socklen_t sockaddr_size;
 
         char *kernel;
+        char *machine;
 
         sd_id128_t server_id;
 
@@ -240,19 +241,23 @@ struct sd_bus {
         uint64_t hello_flags;
 
         uint64_t match_cookie;
-};
 
-static inline void bus_unrefp(sd_bus **b) {
-        sd_bus_unref(*b);
-}
+        sd_event_source *input_io_event_source;
+        sd_event_source *output_io_event_source;
+        sd_event_source *time_event_source;
+        sd_event_source *quit_event_source;
+        sd_event *event;
 
-#define _cleanup_bus_unref_ __attribute__((cleanup(bus_unrefp)))
-#define _cleanup_bus_error_free_ __attribute__((cleanup(sd_bus_error_free)))
+        sd_bus_message *current;
+
+        sd_bus **default_bus_ptr;
+        pid_t tid;
+};
 
 #define BUS_DEFAULT_TIMEOUT ((usec_t) (25 * USEC_PER_SEC))
 
-#define BUS_WQUEUE_MAX 128
-#define BUS_RQUEUE_MAX 128
+#define BUS_WQUEUE_MAX 1024
+#define BUS_RQUEUE_MAX 64*1024
 
 #define BUS_MESSAGE_SIZE_MAX (64*1024*1024)
 #define BUS_AUTH_SIZE_MAX (64*1024)
@@ -269,6 +274,7 @@ static inline void bus_unrefp(sd_bus **b) {
 
 bool interface_name_is_valid(const char *p);
 bool service_name_is_valid(const char *p);
+bool sender_name_is_valid(const char *p);
 bool member_name_is_valid(const char *p);
 bool object_path_is_valid(const char *p);
 char *object_path_startswith(const char *a, const char *b);
@@ -290,6 +296,8 @@ int bus_next_address(sd_bus *bus);
 
 bool bus_pid_changed(sd_bus *bus);
 
+char *bus_address_escape(const char *v);
+
 #define OBJECT_PATH_FOREACH_PREFIX(prefix, path)                        \
         for (char *_slash = ({ strcpy((prefix), (path)); streq((prefix), "/") ? NULL : strrchr((prefix), '/'); }) ; \
              _slash && !(_slash[(_slash) == (prefix)] = 0);             \