chiark / gitweb /
bus: implement 'unixexec:' protocol
[elogind.git] / src / libsystemd-bus / bus-internal.h
index cdd7b2164f3c99c0a29b4a295ffc584183db9bdf..b7ed42ccd4496e51816ee5aba43eec5e3dc9ed78 100644 (file)
@@ -57,6 +57,7 @@ struct object_callback {
 };
 
 enum bus_state {
+        BUS_UNSET,
         BUS_OPENING,
         BUS_AUTHENTICATING,
         BUS_HELLO,
@@ -68,8 +69,10 @@ struct sd_bus {
         enum bus_state state;
         int fd;
         int message_version;
+
+        bool negotiate_fds:1;
         bool can_fds:1;
-        bool sent_hello:1;
+        bool send_hello:1;
         bool ucred_valid:1;
 
         void *rbuffer;
@@ -117,6 +120,9 @@ struct sd_bus {
 
         int *fds;
         unsigned n_fds;
+
+        char *exec_path;
+        char **exec_argv;
 };
 
 static inline void bus_unrefp(sd_bus **b) {
@@ -142,6 +148,8 @@ static inline void bus_unrefp(sd_bus **b) {
 
 #define BUS_FDS_MAX 1024
 
+#define BUS_EXEC_ARGV_MAX 256
+
 bool object_path_is_valid(const char *p);
 bool interface_name_is_valid(const char *p);
 bool service_name_is_valid(const char *p);