chiark / gitweb /
udev: avoid building selinux parts without have_selinux
[elogind.git] / src / dbus-execute.h
1 /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2
3 #ifndef foodbusexecutehfoo
4 #define foodbusexecutehfoo
5
6 /***
7   This file is part of systemd.
8
9   Copyright 2010 Lennart Poettering
10
11   systemd is free software; you can redistribute it and/or modify it
12   under the terms of the GNU General Public License as published by
13   the Free Software Foundation; either version 2 of the License, or
14   (at your option) any later version.
15
16   systemd is distributed in the hope that it will be useful, but
17   WITHOUT ANY WARRANTY; without even the implied warranty of
18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19   General Public License for more details.
20
21   You should have received a copy of the GNU General Public License
22   along with systemd; If not, see <http://www.gnu.org/licenses/>.
23 ***/
24
25 #include <dbus/dbus.h>
26
27 #include "manager.h"
28 #include "dbus-common.h"
29
30 #define BUS_EXEC_STATUS_INTERFACE(prefix)                               \
31         "  <property name=\"" prefix "StartTimestamp\" type=\"t\" access=\"read\"/>\n" \
32         "  <property name=\"" prefix "StartTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \
33         "  <property name=\"" prefix "ExitTimestamp\" type=\"t\" access=\"read\"/>\n" \
34         "  <property name=\"" prefix "ExitTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \
35         "  <property name=\"" prefix "PID\" type=\"u\" access=\"read\"/>\n" \
36         "  <property name=\"" prefix "Code\" type=\"i\" access=\"read\"/>\n" \
37         "  <property name=\"" prefix "Status\" type=\"i\" access=\"read\"/>\n"
38
39 #define BUS_EXEC_CONTEXT_INTERFACE                                      \
40         "  <property name=\"Environment\" type=\"as\" access=\"read\"/>\n" \
41         "  <property name=\"UMask\" type=\"u\" access=\"read\"/>\n"     \
42         "  <property name=\"LimitCPU\" type=\"t\" access=\"read\"/>\n"  \
43         "  <property name=\"LimitFSIZE\" type=\"t\" access=\"read\"/>\n" \
44         "  <property name=\"LimitDATA\" type=\"t\" access=\"read\"/>\n" \
45         "  <property name=\"LimitSTACK\" type=\"t\" access=\"read\"/>\n" \
46         "  <property name=\"LimitCORE\" type=\"t\" access=\"read\"/>\n" \
47         "  <property name=\"LimitRSS\" type=\"t\" access=\"read\"/>\n"  \
48         "  <property name=\"LimitNOFILE\" type=\"t\" access=\"read\"/>\n" \
49         "  <property name=\"LimitAS\" type=\"t\" access=\"read\"/>\n"   \
50         "  <property name=\"LimitNPROC\" type=\"t\" access=\"read\"/>\n" \
51         "  <property name=\"LimitMEMLOCK\" type=\"t\" access=\"read\"/>\n" \
52         "  <property name=\"LimitLOCKS\" type=\"t\" access=\"read\"/>\n" \
53         "  <property name=\"LimitSIGPENDING\" type=\"t\" access=\"read\"/>\n" \
54         "  <property name=\"LimitMSGQUEUE\" type=\"t\" access=\"read\"/>\n" \
55         "  <property name=\"LimitNICE\" type=\"t\" access=\"read\"/>\n" \
56         "  <property name=\"LimitRTPRIO\" type=\"t\" access=\"read\"/>\n" \
57         "  <property name=\"LimitRTTIME\" type=\"t\" access=\"read\"/>\n" \
58         "  <property name=\"WorkingDirectory\" type=\"s\" access=\"read\"/>\n" \
59         "  <property name=\"RootDirectory\" type=\"s\" access=\"read\"/>\n" \
60         "  <property name=\"OOMScoreAdjust\" type=\"i\" access=\"read\"/>\n" \
61         "  <property name=\"Nice\" type=\"i\" access=\"read\"/>\n" \
62         "  <property name=\"IOScheduling\" type=\"i\" access=\"read\"/>\n" \
63         "  <property name=\"CPUSchedulingPolicy\" type=\"i\" access=\"read\"/>\n" \
64         "  <property name=\"CPUSchedulingPriority\" type=\"i\" access=\"read\"/>\n" \
65         "  <property name=\"CPUAffinity\" type=\"ay\" access=\"read\"/>\n" \
66         "  <property name=\"TimerSlackNS\" type=\"t\" access=\"read\"/>\n" \
67         "  <property name=\"CPUSchedulingResetOnFork\" type=\"b\" access=\"read\"/>\n" \
68         "  <property name=\"NonBlocking\" type=\"b\" access=\"read\"/>\n" \
69         "  <property name=\"StandardInput\" type=\"s\" access=\"read\"/>\n" \
70         "  <property name=\"StandardOutput\" type=\"s\" access=\"read\"/>\n" \
71         "  <property name=\"StandardError\" type=\"s\" access=\"read\"/>\n" \
72         "  <property name=\"TTYPath\" type=\"s\" access=\"read\"/>\n"   \
73         "  <property name=\"TTYReset\" type=\"b\" access=\"read\"/>\n"   \
74         "  <property name=\"TTYVHangup\" type=\"b\" access=\"read\"/>\n"   \
75         "  <property name=\"TTYVTDisallocate\" type=\"b\" access=\"read\"/>\n"   \
76         "  <property name=\"SyslogPriority\" type=\"i\" access=\"read\"/>\n" \
77         "  <property name=\"SyslogIdentifier\" type=\"s\" access=\"read\"/>\n" \
78         "  <property name=\"SyslogLevelPrefix\" type=\"b\" access=\"read\"/>\n" \
79         "  <property name=\"Capabilities\" type=\"s\" access=\"read\"/>\n" \
80         "  <property name=\"SecureBits\" type=\"i\" access=\"read\"/>\n" \
81         "  <property name=\"CapabilityBoundingSet\" type=\"t\" access=\"read\"/>\n" \
82         "  <property name=\"User\" type=\"s\" access=\"read\"/>\n"      \
83         "  <property name=\"Group\" type=\"s\" access=\"read\"/>\n"     \
84         "  <property name=\"SupplementaryGroups\" type=\"as\" access=\"read\"/>\n" \
85         "  <property name=\"TCPWrapName\" type=\"s\" access=\"read\"/>\n" \
86         "  <property name=\"PAMName\" type=\"s\" access=\"read\"/>\n"   \
87         "  <property name=\"ReadWriteDirectories\" type=\"as\" access=\"read\"/>\n" \
88         "  <property name=\"ReadOnlyDirectories\" type=\"as\" access=\"read\"/>\n" \
89         "  <property name=\"InaccessibleDirectories\" type=\"as\" access=\"read\"/>\n" \
90         "  <property name=\"MountFlags\" type=\"t\" access=\"read\"/>\n" \
91         "  <property name=\"PrivateTmp\" type=\"b\" access=\"read\"/>\n" \
92         "  <property name=\"SameProcessGroup\" type=\"b\" access=\"read\"/>\n" \
93         "  <property name=\"KillMode\" type=\"s\" access=\"read\"/>\n"  \
94         "  <property name=\"KillSignal\" type=\"i\" access=\"read\"/>\n" \
95         "  <property name=\"UtmpIdentifier\" type=\"s\" access=\"read\"/>\n" \
96         "  <property name=\"ControlGroupModify\" type=\"b\" access=\"read\"/>\n" \
97         "  <property name=\"ControlGroupPersistent\" type=\"b\" access=\"read\"/>\n" \
98         "  <property name=\"PrivateNetwork\" type=\"b\" access=\"read\"/>\n" \
99         "  <property name=\"IgnoreSIGPIPE\" type=\"b\" access=\"read\"/>\n"
100
101 #define BUS_EXEC_COMMAND_INTERFACE(name)                             \
102         "  <property name=\"" name "\" type=\"a(sasbttuii)\" access=\"read\"/>\n"
103
104 extern const BusProperty bus_exec_context_properties[];
105
106 #define BUS_EXEC_COMMAND_PROPERTY(name, command, indirect)             \
107         { name, bus_execute_append_command, "a(sasbttttuii)", (command), (indirect), NULL }
108
109 int bus_execute_append_output(DBusMessageIter *i, const char *property, void *data);
110 int bus_execute_append_input(DBusMessageIter *i, const char *property, void *data);
111 int bus_execute_append_oom_score_adjust(DBusMessageIter *i, const char *property, void *data);
112 int bus_execute_append_nice(DBusMessageIter *i, const char *property, void *data);
113 int bus_execute_append_ioprio(DBusMessageIter *i, const char *property, void *data);
114 int bus_execute_append_cpu_sched_policy(DBusMessageIter *i, const char *property, void *data);
115 int bus_execute_append_cpu_sched_priority(DBusMessageIter *i, const char *property, void *data);
116 int bus_execute_append_affinity(DBusMessageIter *i, const char *property, void *data);
117 int bus_execute_append_timer_slack_nsec(DBusMessageIter *i, const char *property, void *data);
118 int bus_execute_append_capabilities(DBusMessageIter *i, const char *property, void *data);
119 int bus_execute_append_capability_bs(DBusMessageIter *i, const char *property, void *data);
120 int bus_execute_append_rlimits(DBusMessageIter *i, const char *property, void *data);
121 int bus_execute_append_command(DBusMessageIter *u, const char *property, void *data);
122 int bus_execute_append_kill_mode(DBusMessageIter *i, const char *property, void *data);
123 int bus_execute_append_env_files(DBusMessageIter *i, const char *property, void *data);
124
125 #endif