-#define UDEV_MAGIC "udevd_" UDEV_VERSION
-#define EVENT_TIMEOUT_SEC 10
-#define UDEVSEND_CONNECT_RETRY 20 /* x 100 millisec */
-#define UDEVD_SOCK_PATH "udevd"
+#define UDEVD_PRIORITY -4
+#define UDEV_PRIORITY -2
+
+#define EVENT_QUEUE_DIR ".udev/queue"
+#define EVENT_FAILED_DIR ".udev/failed"
+#define EVENT_SEQNUM ".udev/uevent_seqnum"
+
+/* 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,
+};
+
+struct udevd_ctrl_msg {
+ char magic[32];
+ enum udevd_ctrl_msg_type type;
+ char buf[256];
+};