+ { interface, "SupplementaryGroups", bus_property_append_strv, "as", (context).supplementary_groups }, \
+ { interface, "TCPWrapName", bus_property_append_string, "s", (context).tcpwrap_name }, \
+ { interface, "PAMName", bus_property_append_string, "s", (context).pam_name }, \
+ { interface, "ReadWriteDirectories", bus_property_append_strv, "as", (context).read_write_dirs }, \
+ { interface, "ReadOnlyDirectories", bus_property_append_strv, "as", (context).read_only_dirs }, \
+ { interface, "InaccessibleDirectories", bus_property_append_strv, "as", (context).inaccessible_dirs }, \
+ { interface, "MountFlags", bus_property_append_ul, "t", &(context).mount_flags }, \
+ { interface, "PrivateTmp", bus_property_append_bool, "b", &(context).private_tmp }, \
+ { interface, "SameProcessGroup", bus_property_append_bool, "b", &(context).same_pgrp }, \
+ { interface, "KillMode", bus_execute_append_kill_mode, "s", &(context).kill_mode }, \
+ { interface, "KillSignal", bus_property_append_int, "i", &(context).kill_signal }, \
+ { interface, "UtmpIdentifier", bus_property_append_string, "s", (context).utmp_id }
+
+#define BUS_EXEC_STATUS_PROPERTIES(interface, estatus, prefix) \
+ { interface, prefix "StartTimestamp", bus_property_append_usec, "t", &(estatus).start_timestamp.realtime }, \
+ { interface, prefix "StartTimestampMonotonic",bus_property_append_usec, "t", &(estatus).start_timestamp.monotonic }, \
+ { interface, prefix "ExitTimestamp", bus_property_append_usec, "t", &(estatus).start_timestamp.realtime }, \
+ { interface, prefix "ExitTimestampMonotonic", bus_property_append_usec, "t", &(estatus).start_timestamp.monotonic }, \
+ { interface, prefix "PID", bus_property_append_pid, "u", &(estatus).pid }, \
+ { interface, prefix "Code", bus_property_append_int, "i", &(estatus).code }, \
+ { interface, prefix "Status", bus_property_append_int, "i", &(estatus).status }
+
+#define BUS_EXEC_COMMAND_PROPERTY(interface, command, name) \
+ { interface, name, bus_execute_append_command, "a(sasbttttuii)", (command) }