]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
56599585 LP |
2 | #pragma once |
3 | ||
4 | /*** | |
5 | This file is part of systemd. | |
6 | ||
7 | Copyright 2016 Lennart Poettering | |
8 | ||
9 | systemd is free software; you can redistribute it and/or modify it | |
10 | under the terms of the GNU Lesser General Public License as published by | |
11 | the Free Software Foundation; either version 2.1 of the License, or | |
12 | (at your option) any later version. | |
13 | ||
14 | systemd is distributed in the hope that it will be useful, but | |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | Lesser General Public License for more details. | |
18 | ||
19 | You should have received a copy of the GNU Lesser General Public License | |
20 | along with systemd; If not, see <http://www.gnu.org/licenses/>. | |
21 | ***/ | |
22 | ||
23 | #include <sys/types.h> | |
24 | ||
25 | #include "sd-bus.h" | |
26 | #include "sd-event.h" | |
27 | ||
28 | #include "list.h" | |
29 | ||
30 | typedef struct Operation Operation; | |
31 | ||
32 | #include "machined.h" | |
33 | ||
34 | #define OPERATIONS_MAX 64 | |
35 | ||
36 | struct Operation { | |
37 | Manager *manager; | |
795c5d31 | 38 | Machine *machine; |
56599585 LP |
39 | pid_t pid; |
40 | sd_bus_message *message; | |
41 | int errno_fd; | |
03c2b288 | 42 | int extra_fd; |
56599585 | 43 | sd_event_source *event_source; |
03c2b288 | 44 | int (*done)(Operation *o, int ret, sd_bus_error *error); |
56599585 | 45 | LIST_FIELDS(Operation, operations); |
795c5d31 | 46 | LIST_FIELDS(Operation, operations_by_machine); |
56599585 LP |
47 | }; |
48 | ||
03c2b288 | 49 | int operation_new(Manager *manager, Machine *machine, pid_t child, sd_bus_message *message, int errno_fd, Operation **ret); |
56599585 | 50 | Operation *operation_free(Operation *o); |