X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fdbus-execute.c;h=3cb09c2dbf57c00336c576f95ef0d2d0b576e8f0;hb=4fe60156fc45e34c7bcba4779123e15620532dff;hp=504651fc9fca37fa12c1aaede32a98e800b62d6b;hpb=8c7be95e5a80c4bd82d86e9640a071fd98618172;p=elogind.git diff --git a/src/dbus-execute.c b/src/dbus-execute.c index 504651fc9..3cb09c2db 100644 --- a/src/dbus-execute.c +++ b/src/dbus-execute.c @@ -234,6 +234,24 @@ int bus_execute_append_timer_slack_nsec(Manager *m, DBusMessageIter *i, const ch return 0; } +int bus_execute_append_capability_bs(Manager *m, DBusMessageIter *i, const char *property, void *data) { + ExecContext *c = data; + uint64_t normal, inverted; + + assert(m); + assert(i); + assert(property); + assert(c); + + /* We store this negated internally, to match the kernel, bu + * we expose it normalized. */ + + normal = *(uint64_t*) data; + inverted = ~normal; + + return bus_property_append_uint64(m, i, property, &inverted); +} + int bus_execute_append_capabilities(Manager *m, DBusMessageIter *i, const char *property, void *data) { ExecContext *c = data; char *t = NULL; @@ -328,7 +346,9 @@ int bus_execute_append_command(Manager *m, DBusMessageIter *i, const char *prope if (!dbus_message_iter_close_container(&sub2, &sub3) || !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_BOOLEAN, &c->ignore) || !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.realtime) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.start_timestamp.monotonic) || !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.exit_timestamp.realtime) || + !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT64, &c->exec_status.exit_timestamp.monotonic) || !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_UINT32, &pid) || !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_INT32, &code) || !dbus_message_iter_append_basic(&sub2, DBUS_TYPE_INT32, &status))