chiark / gitweb /
bus: Add bus_kernel_monitor function
[elogind.git] / src / libsystemd-bus / bus-kernel.c
index d0a9fbc3fb9af7476e65275ac910c17188900ed6..e2e825f0f3d28f6d3dd2e6991db93f0eec08c358 100644 (file)
@@ -1211,3 +1211,19 @@ int bus_kernel_create_namespace(const char *name, char **s) {
 
         return fd;
 }
+
+int bus_kernel_monitor(sd_bus *bus) {
+        struct kdbus_cmd_monitor cmd_monitor;
+        int r;
+
+        assert(bus);
+
+        cmd_monitor.id = 0;
+        cmd_monitor.flags = KDBUS_MONITOR_ENABLE;
+
+        r = ioctl(bus->input_fd, KDBUS_CMD_MONITOR, &cmd_monitor);
+        if (r < 0)
+                return -errno;
+
+        return 1;
+}