Copyright 2010 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
+ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
uid_t uid;
const char *name;
usec_t timestamp;
- const char *control_group;
+ const char *default_control_group;
int vtnr;
const char *seat;
const char *tty;
pid_t leader;
const char *type;
const char *class;
- bool active;
+ const char *state;
} SessionStatusInfo;
typedef struct UserStatusInfo {
uid_t uid;
const char *name;
usec_t timestamp;
- const char *control_group;
+ const char *default_control_group;
const char *state;
char **sessions;
const char *display;
} else if (i->class)
printf("\t Class: %s\n", i->class);
+ if (i->state)
+ printf("\t State: %s\n", i->state);
- printf("\t Active: %s\n", yes_no(i->active));
-
- if (i->control_group) {
+ if (i->default_control_group) {
unsigned c;
- printf("\t CGroup: %s\n", i->control_group);
+ printf("\t CGroup: %s\n", i->default_control_group);
if (arg_transport != TRANSPORT_SSH) {
c = columns();
else
c = 0;
- show_cgroup_by_path(i->control_group, "\t\t ", c, false);
+ show_cgroup_and_extra_by_spec(i->default_control_group, "\t\t ", c, false, arg_all, &i->leader, i->leader > 0 ? 1 : 0);
}
}
}
printf("\n");
}
- if (i->control_group) {
+ if (i->default_control_group) {
unsigned c;
- printf("\t CGroup: %s\n", i->control_group);
+ printf("\t CGroup: %s\n", i->default_control_group);
if (arg_transport != TRANSPORT_SSH) {
c = columns();
else
c = 0;
- show_cgroup_by_path(i->control_group, "\t\t ", c, false);
+ show_cgroup_by_path(i->default_control_group, "\t\t ", c, false, arg_all);
}
}
}
i->id = s;
else if (streq(name, "Name"))
i->name = s;
- else if (streq(name, "ControlGroupPath"))
- i->control_group = s;
+ else if (streq(name, "DefaultControlGroup"))
+ i->default_control_group = s;
else if (streq(name, "TTY"))
i->tty = s;
else if (streq(name, "Display"))
i->type = s;
else if (streq(name, "Class"))
i->class = s;
+ else if (streq(name, "State"))
+ i->state = s;
}
break;
}
if (streq(name, "Remote"))
i->remote = b;
- else if (streq(name, "Active"))
- i->active = b;
break;
}
if (!isempty(s)) {
if (streq(name, "Name"))
i->name = s;
- else if (streq(name, "ControlGroupPath"))
- i->control_group = s;
+ else if (streq(name, "DefaultControlGroup"))
+ i->default_control_group = s;
else if (streq(name, "State"))
i->state = s;
}
uid_t uid;
uint32_t u;
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
if (ret < 0) {
log_error("User %s unknown.", args[i]);
goto finish;
if (!dbus_message_append_args(m,
DBUS_TYPE_STRING, &args[i],
DBUS_TYPE_STRING, &arg_kill_who,
- DBUS_TYPE_INT32, arg_signal,
+ DBUS_TYPE_INT32, &arg_signal,
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
ret = -ENOMEM;
goto finish;
}
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
if (ret < 0) {
log_error("Failed to resolve user %s: %s", args[i], strerror(-ret));
goto finish;
goto finish;
}
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
if (ret < 0) {
log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
goto finish;
goto finish;
}
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL, NULL);
if (ret < 0) {
log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
goto finish;
u = (uint32_t) uid;
if (!dbus_message_append_args(m,
DBUS_TYPE_UINT32, &u,
- DBUS_TYPE_INT32, arg_signal,
+ DBUS_TYPE_INT32, &arg_signal,
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
ret = -ENOMEM;