]>
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 | |
a7e88558 LP |
30 | int generator_write_blockdev_dependency( |
31 | FILE *f, | |
32 | const char *what); | |
33 | ||
34 | int generator_write_cryptsetup_unit_section( | |
35 | FILE *f, | |
36 | const char *source); | |
37 | ||
38 | int generator_write_cryptsetup_service_section( | |
39 | FILE *f, | |
40 | const char *name, | |
41 | const char *what, | |
42 | const char *password, | |
43 | const char *options); | |
44 | ||
4195077a | 45 | int generator_write_device_deps( |
da495a03 ZJS |
46 | const char *dir, |
47 | const char *what, | |
48 | const char *where, | |
49 | const char *opts); | |
4195077a | 50 | |
7163e1ca DD |
51 | int generator_write_initrd_root_device_deps( |
52 | const char *dir, | |
53 | const char *what); | |
da495a03 ZJS |
54 | |
55 | int generator_hook_up_mkswap( | |
56 | const char *dir, | |
57 | const char *what); | |
58 | int generator_hook_up_mkfs( | |
59 | const char *dir, | |
60 | const char *what, | |
61 | const char *where, | |
62 | const char *type); | |
7f2806d5 ZJS |
63 | int generator_hook_up_growfs( |
64 | const char *dir, | |
65 | const char *where, | |
66 | const char *target); | |
afe44c8f | 67 | |
9b69569d ZJS |
68 | int generator_enable_remount_fs_service(const char *dir); |
69 | ||
afe44c8f | 70 | void log_setup_generator(void); |
7a44c7e3 ZJS |
71 | |
72 | /* Similar to DEFINE_MAIN_FUNCTION, but initializes logging and assigns positional arguments. */ | |
73 | #define DEFINE_MAIN_GENERATOR_FUNCTION(impl) \ | |
74 | _DEFINE_MAIN_FUNCTION( \ | |
75 | ({ \ | |
76 | log_setup_generator(); \ | |
77 | if (argc > 1 && argc != 4) \ | |
78 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), \ | |
79 | "This program takes zero or three arguments."); \ | |
80 | }), \ | |
81 | impl(argc > 1 ? argv[1] : "/tmp", \ | |
82 | argc > 1 ? argv[2] : "/tmp", \ | |
83 | argc > 1 ? argv[3] : "/tmp"), \ | |
84 | r < 0 ? EXIT_FAILURE : EXIT_SUCCESS) |