]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
e48fdd84 LP |
2 | #pragma once |
3 | ||
e48fdd84 LP |
4 | #include <stdio.h> |
5 | ||
7a44c7e3 ZJS |
6 | #include "main-func.h" |
7 | ||
fb883e75 ZJS |
8 | int generator_open_unit_file( |
9 | const char *dest, | |
10 | const char *source, | |
11 | const char *name, | |
12 | FILE **file); | |
13 | ||
5c176eb4 | 14 | int generator_add_symlink(const char *dir, const char *dst, const char *dep_type, const char *src); |
b559616f | 15 | |
2e852276 ZJS |
16 | int generator_write_fsck_deps( |
17 | FILE *f, | |
18 | const char *dir, | |
19 | const char *what, | |
20 | const char *where, | |
21 | const char *type); | |
22 | ||
23 | int generator_write_timeouts( | |
24 | const char *dir, | |
25 | const char *what, | |
26 | const char *where, | |
27 | const char *opts, | |
28 | char **filtered); | |
7163e1ca | 29 | |
4195077a | 30 | int generator_write_device_deps( |
da495a03 ZJS |
31 | const char *dir, |
32 | const char *what, | |
33 | const char *where, | |
34 | const char *opts); | |
4195077a | 35 | |
7163e1ca DD |
36 | int generator_write_initrd_root_device_deps( |
37 | const char *dir, | |
38 | const char *what); | |
da495a03 ZJS |
39 | |
40 | int generator_hook_up_mkswap( | |
41 | const char *dir, | |
42 | const char *what); | |
43 | int generator_hook_up_mkfs( | |
44 | const char *dir, | |
45 | const char *what, | |
46 | const char *where, | |
47 | const char *type); | |
7f2806d5 ZJS |
48 | int generator_hook_up_growfs( |
49 | const char *dir, | |
50 | const char *where, | |
51 | const char *target); | |
afe44c8f | 52 | |
9b69569d ZJS |
53 | int generator_enable_remount_fs_service(const char *dir); |
54 | ||
afe44c8f | 55 | void log_setup_generator(void); |
7a44c7e3 ZJS |
56 | |
57 | /* Similar to DEFINE_MAIN_FUNCTION, but initializes logging and assigns positional arguments. */ | |
58 | #define DEFINE_MAIN_GENERATOR_FUNCTION(impl) \ | |
59 | _DEFINE_MAIN_FUNCTION( \ | |
60 | ({ \ | |
61 | log_setup_generator(); \ | |
62 | if (argc > 1 && argc != 4) \ | |
63 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), \ | |
64 | "This program takes zero or three arguments."); \ | |
65 | }), \ | |
66 | impl(argc > 1 ? argv[1] : "/tmp", \ | |
67 | argc > 1 ? argv[2] : "/tmp", \ | |
68 | argc > 1 ? argv[3] : "/tmp"), \ | |
69 | r < 0 ? EXIT_FAILURE : EXIT_SUCCESS) |