chiark / gitweb /
Prep v234: Clarify status of $XDG_RUNTIME_DIR
[elogind.git] / src / basic / exec-util.h
1 /***
2   This file is part of systemd.
3
4   Copyright 2017 Zbigniew JÄ™drzejewski-Szmek
5
6   systemd is free software; you can redistribute it and/or modify it
7   under the terms of the GNU Lesser General Public License as published by
8   the Free Software Foundation; either version 2.1 of the License, or
9   (at your option) any later version.
10
11   systemd is distributed in the hope that it will be useful, but
12   WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14   Lesser General Public License for more details.
15
16   You should have received a copy of the GNU Lesser General Public License
17   along with systemd; If not, see <http://www.gnu.org/licenses/>.
18 ***/
19
20 #include <stdbool.h>
21
22 #include "time-util.h"
23
24 typedef int (*gather_stdout_callback_t) (int fd, void *arg);
25
26 enum {
27         STDOUT_GENERATE,   /* from generators to helper process */
28         STDOUT_COLLECT,    /* from helper process to main process */
29         STDOUT_CONSUME,    /* process data in main process */
30         _STDOUT_CONSUME_MAX,
31 };
32
33 int execute_directories(
34                 const char* const* directories,
35                 usec_t timeout,
36                 gather_stdout_callback_t const callbacks[_STDOUT_CONSUME_MAX],
37                 void* const callback_args[_STDOUT_CONSUME_MAX],
38                 char *argv[]);
39
40 #if 0 /// UNNEEDED by elogind
41 extern const gather_stdout_callback_t gather_environment[_STDOUT_CONSUME_MAX];
42 #endif // 0
43