summaryrefslogtreecommitdiffstats
path: root/src/udev/udev-spawn.h
blob: 5efea2e8862474bc3e134ae3bc55d9a0bc74401e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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);
}