-/* environment buffer, should match the kernel's size in lib/kobject_uevent.h */
-#define HOTPLUG_BUFFER_SIZE 1024
-#define HOTPLUG_NUM_ENVP 32
+/* maximum limit of forked childs */
+#define UDEVD_MAX_CHILDS 256
+/* start to throttle forking if maximum number of running childs in our session is reached */
+#define UDEVD_MAX_CHILDS_RUNNING 16
+
+/* linux/include/linux/kobject.h */
+#define UEVENT_BUFFER_SIZE 2048
+#define UEVENT_NUM_ENVP 32
+
+#define UDEVD_CTRL_SOCK_PATH "/org/kernel/udev/udevd"
+#define UDEVD_CTRL_MAGIC "udevd_" UDEV_VERSION
+
+enum udevd_ctrl_msg_type {
+ UDEVD_CTRL_UNKNOWN,
+ UDEVD_CTRL_STOP_EXEC_QUEUE,
+ UDEVD_CTRL_START_EXEC_QUEUE,
+ UDEVD_CTRL_SET_LOG_LEVEL,
+ UDEVD_CTRL_SET_MAX_CHILDS,
+ UDEVD_CTRL_SET_MAX_CHILDS_RUNNING,
+ UDEVD_CTRL_RELOAD_RULES,
+ UDEVD_CTRL_ENV,
+};