]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/shared/exec-util.h
Merge pull request #11827 from keszybz/pkgconfig-variables
[thirdparty/systemd.git] / src / shared / exec-util.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
f18edd8a 2#pragma once
89711996 3
c6e47247
ZJS
4#include <stdbool.h>
5
89711996
ZJS
6#include "time-util.h"
7
c6e47247
ZJS
8typedef int (*gather_stdout_callback_t) (int fd, void *arg);
9
10enum {
11 STDOUT_GENERATE, /* from generators to helper process */
12 STDOUT_COLLECT, /* from helper process to main process */
13 STDOUT_CONSUME, /* process data in main process */
14 _STDOUT_CONSUME_MAX,
15};
16
4b05f0c9
MK
17typedef enum {
18 EXEC_DIR_NONE = 0, /* No execdir flags */
19 EXEC_DIR_PARALLEL = 1 << 0, /* Execute scripts in parallel, if possible */
20 EXEC_DIR_IGNORE_ERRORS = 1 << 1, /* Ignore non-zero exit status of scripts */
21} ExecDirFlags;
22
c6e47247
ZJS
23int execute_directories(
24 const char* const* directories,
25 usec_t timeout,
26 gather_stdout_callback_t const callbacks[_STDOUT_CONSUME_MAX],
27 void* const callback_args[_STDOUT_CONSUME_MAX],
78ec1bb4 28 char *argv[],
4b05f0c9
MK
29 char *envp[],
30 ExecDirFlags flags);
3303d1b2
ZJS
31
32extern const gather_stdout_callback_t gather_environment[_STDOUT_CONSUME_MAX];