dbus-execute.h revision 4288f619215e3dda0b75113d78e4fb7ba219ed58
d657c51f14601d0235434ffb78cf6ac0f27cc83cLennart Poettering/*-*- Mode: C; c-basic-offset: 8 -*-*/
220a21d38f675eb835f5758e3d23e896573aa5eaLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering#ifndef foodbusexecutehfoo
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering#define foodbusexecutehfoo
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering/***
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering This file is part of systemd.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering Copyright 2010 Lennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering systemd is free software; you can redistribute it and/or modify it
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering under the terms of the GNU General Public License as published by
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering the Free Software Foundation; either version 2 of the License, or
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering (at your option) any later version.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering systemd is distributed in the hope that it will be useful, but
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering General Public License for more details.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering You should have received a copy of the GNU General Public License
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering***/
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering#include <dbus/dbus.h>
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering#include "manager.h"
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering#define BUS_EXEC_CONTEXT_INTERFACE \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"Environment\" type=\"as\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"UMask\" type=\"u\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"WorkingDirectory\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"RootDirectory\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"CPUSchedulingResetOnFork\" type=\"b\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"NonBlocking\" type=\"b\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"StandardInput\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"StandardOutput\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"StandardError\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"TTYPath\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"SyslogPriority\" type=\"i\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"SyslogIdentifier\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"SecureBits\" type=\"i\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"CapabilityBoundingSetDrop\" type=\"t\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"User\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"Group\" type=\"s\" access=\"read\"/>\n" \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering " <property name=\"SupplementaryGroups\" type=\"as\" access=\"read\"/>\n"
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering#define BUS_EXEC_CONTEXT_PROPERTIES(interface, context) \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "Environment", bus_property_append_strv, "as", (context).environment }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "UMask", bus_property_append_mode, "u", &(context).umask }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* RLimits */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "WorkingDirectory", bus_property_append_string, "s", (context).working_directory }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "RootDirectory", bus_property_append_string, "s", (context).root_directory }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* OOM Adjust */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* Nice */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* IOPrio */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* CPUSchedPolicy */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* CPUSchedPriority */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* CPUAffinity */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering /* TimerSlackNS */ \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "CPUSchedulingResetOnFork", bus_property_append_bool, "b", &(context).cpu_sched_reset_on_fork }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "NonBlocking", bus_property_append_bool, "b", &(context).non_blocking }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "StandardInput", bus_execute_append_input, "s", &(context).std_input }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "StandardOutput", bus_execute_append_output, "s", &(context).std_output }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "StandardError", bus_execute_append_output, "s", &(context).std_error }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "TTYPath", bus_property_append_string, "s", (context).tty_path }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "SyslogPriority", bus_property_append_int, "i", &(context).syslog_priority }, \
a98d5d64720bdf32e3b5f72f896b583e23f730adLennart Poettering { interface, "SyslogIdentifier", bus_property_append_string, "s", (context).syslog_identifier }, \
a98d5d64720bdf32e3b5f72f896b583e23f730adLennart Poettering /* CAPABILITIES */ \
a98d5d64720bdf32e3b5f72f896b583e23f730adLennart Poettering { interface, "SecureBits", bus_property_append_int, "i", &(context).secure_bits }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "CapabilityBoundingSetDrop", bus_property_append_uint64, "t", &(context).capability_bounding_set_drop }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "User", bus_property_append_string, "s", (context).user }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "Group", bus_property_append_string, "s", (context).group }, \
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering { interface, "SupplementaryGroups", bus_property_append_strv, "as", (context).supplementary_groups }
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poetteringint bus_execute_append_output(Manager *m, DBusMessageIter *i, const char *property, void *data);
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poetteringint bus_execute_append_input(Manager *m, DBusMessageIter *i, const char *property, void *data);
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering#endif
0c11f949db8d6d9899e0c473bf1f8cca0614493eLennart Poettering