]> git.ipfire.org Git - thirdparty/systemd.git/blame - main.c
add more special units
[thirdparty/systemd.git] / main.c
CommitLineData
60918275
LP
1/*-*- Mode: C; c-basic-offset: 8 -*-*/
2
3#include <stdio.h>
4#include <errno.h>
5#include <string.h>
16354eff 6#include <unistd.h>
60918275
LP
7
8#include "manager.h"
16354eff 9#include "log.h"
60918275
LP
10
11int main(int argc, char *argv[]) {
12 Manager *m = NULL;
87f0e418 13 Unit *target = NULL;
60918275
LP
14 Job *job = NULL;
15 int r, retval = 1;
16
0301abf4 17 assert_se(set_unit_path("test1") >= 0);
16354eff 18
60918275 19 if (!(m = manager_new()) < 0) {
16354eff 20 log_error("Failed to allocate manager object: %s", strerror(ENOMEM));
60918275
LP
21 goto finish;
22 }
23
87f0e418 24 if ((r = manager_load_unit(m, "default.target", &target)) < 0) {
c22cbe26 25 log_error("Failed to load default target: %s", strerror(-r));
60918275
LP
26 goto finish;
27 }
28
8f5847c4
LP
29 if ((r = manager_add_job(m, JOB_START, target, JOB_REPLACE, false, &job)) < 0) {
30 log_error("Failed to start default target: %s", strerror(-r));
31 goto finish;
32 }
11dd41ce 33
87f0e418
LP
34 printf("→ By units:\n");
35 manager_dump_units(m, stdout, "\t");
cea8e32e 36
44d8db9e 37 printf("→ By jobs:\n");
cea8e32e
LP
38 manager_dump_jobs(m, stdout, "\t");
39
acbb0225
LP
40 if ((r = manager_loop(m)) < 0) {
41 log_error("Failed to run mainloop: %s", strerror(-r));
42 goto finish;
43 }
9152c765 44
60918275
LP
45 retval = 0;
46
47finish:
48 if (m)
49 manager_free(m);
50
b9cd2ec1
LP
51 log_debug("Exit.");
52
60918275
LP
53 return retval;
54}