summaryrefslogtreecommitdiffstats
path: root/src/udev/udev-spawn.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/udev/udev-spawn.h')
-rw-r--r--src/udev/udev-spawn.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/udev/udev-spawn.h b/src/udev/udev-spawn.h
new file mode 100644
index 0000000..5efea2e
--- /dev/null
+++ b/src/udev/udev-spawn.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#pragma once
+
+#include <stdbool.h>
+#include <stddef.h>
+
+#include "macro.h"
+#include "time-util.h"
+
+#define READ_END 0
+#define WRITE_END 1
+
+typedef struct UdevEvent UdevEvent;
+
+int udev_event_spawn(
+ UdevEvent *event,
+ usec_t timeout_usec,
+ int timeout_signal,
+ bool accept_failure,
+ const char *cmd,
+ char *result,
+ size_t ressize,
+ bool *ret_truncated);
+void udev_event_execute_run(UdevEvent *event, usec_t timeout_usec, int timeout_signal);
+
+static inline usec_t udev_warn_timeout(usec_t timeout_usec) {
+ return DIV_ROUND_UP(timeout_usec, 3);
+}