X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Floginctl.c;h=7b751e778fa29d4dc826d28b339de115da4e78b7;hb=d05c5031ad4c528fe6bbfed289519edb9f13180a;hp=f1cb16e713e17fa56a9a1dc39ed1112255e79b49;hpb=c3175a7f40a2d2fabc3a2de63033a6810d45221a;p=elogind.git diff --git a/src/login/loginctl.c b/src/login/loginctl.c index f1cb16e71..7b751e778 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -352,7 +352,7 @@ typedef struct SessionStatusInfo { 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; @@ -364,14 +364,14 @@ typedef struct SessionStatusInfo { 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; @@ -458,13 +458,13 @@ static void print_session_status_info(SessionStatusInfo *i) { } 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(); @@ -473,7 +473,7 @@ static void print_session_status_info(SessionStatusInfo *i) { else c = 0; - show_cgroup_by_path(i->control_group, "\t\t ", c, false, arg_all); + show_cgroup_and_extra_by_spec(i->default_control_group, "\t\t ", c, false, arg_all, &i->leader, i->leader > 0 ? 1 : 0); } } } @@ -513,10 +513,10 @@ static void print_user_status_info(UserStatusInfo *i) { 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(); @@ -525,7 +525,7 @@ static void print_user_status_info(UserStatusInfo *i) { else c = 0; - show_cgroup_by_path(i->control_group, "\t\t ", c, false, arg_all); + show_cgroup_by_path(i->default_control_group, "\t\t ", c, false, arg_all); } } } @@ -581,8 +581,8 @@ static int status_property_session(const char *name, DBusMessageIter *iter, Sess 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")) @@ -597,6 +597,8 @@ static int status_property_session(const char *name, DBusMessageIter *iter, Sess i->type = s; else if (streq(name, "Class")) i->class = s; + else if (streq(name, "State")) + i->state = s; } break; } @@ -621,8 +623,6 @@ static int status_property_session(const char *name, DBusMessageIter *iter, Sess if (streq(name, "Remote")) i->remote = b; - else if (streq(name, "Active")) - i->active = b; break; } @@ -680,8 +680,8 @@ static int status_property_user(const char *name, DBusMessageIter *iter, UserSta 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; } @@ -1089,7 +1089,7 @@ static int show(DBusConnection *bus, char **args, unsigned n) { 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; @@ -1260,7 +1260,7 @@ static int kill_session(DBusConnection *bus, char **args, unsigned n) { 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; @@ -1320,7 +1320,7 @@ static int enable_linger(DBusConnection *bus, char **args, unsigned n) { 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; @@ -1387,7 +1387,7 @@ static int terminate_user(DBusConnection *bus, char **args, unsigned n) { 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; @@ -1455,7 +1455,7 @@ static int kill_user(DBusConnection *bus, char **args, unsigned n) { 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; @@ -1464,7 +1464,7 @@ static int kill_user(DBusConnection *bus, char **args, unsigned n) { 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;