mirror of
https://git.proxmox.com/git/systemd
synced 2026-01-27 00:08:45 +00:00
login: reshuffle meaning of require_active parameter
This commit is contained in:
parent
78ab361c8f
commit
d18dff430b
@ -111,7 +111,7 @@
|
||||
or active on a specific seat. Accepts a Unix user
|
||||
identifier and a seat identifier string as
|
||||
parameters. The <parameter>require_active</parameter>
|
||||
parameter is a boolean. If non-zero (true) this
|
||||
parameter is a boolean value. If non-zero (true) this
|
||||
function will test if the user is active (i.e. has a
|
||||
session that is in the foreground and accepting user
|
||||
input) on the specified seat, otherwise (false) only
|
||||
@ -122,13 +122,14 @@
|
||||
be used to determine the current sessions of the
|
||||
specified user. Acceptes a Unix user identifier as
|
||||
parameter. The <parameter>require_active</parameter>
|
||||
boolean parameter controls whether the returned list
|
||||
shall consist of only those sessions where the user is
|
||||
currently active (true) or where the user is currently
|
||||
logged in at all, possibly inactive (false). The call
|
||||
returns a NULL terminated string array of session
|
||||
identifiers in <parameter>sessions</parameter> which
|
||||
needs to be freed by the caller with the libc
|
||||
parameter controls whether the returned list shall
|
||||
consist of only those sessions where the user is
|
||||
currently active (> 0), where the user is currently
|
||||
online but possibly inactive (= 0), or
|
||||
logged in at all but possibly closing the session (< 0). The call returns a
|
||||
NULL terminated string array of session identifiers in
|
||||
<parameter>sessions</parameter> which needs to be
|
||||
freed by the caller with the libc
|
||||
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
call after use, including all the strings
|
||||
referenced. If the string array parameter is passed as
|
||||
|
||||
@ -259,11 +259,21 @@ static int uid_get_array(uid_t uid, const char *variable, char ***array) {
|
||||
}
|
||||
|
||||
_public_ int sd_uid_get_sessions(uid_t uid, int require_active, char ***sessions) {
|
||||
return uid_get_array(uid, require_active == 2 ? "ONLINE_SESSIONS" : (require_active ? "ACTIVE_SESSIONS" : "SESSIONS"), sessions);
|
||||
return uid_get_array(
|
||||
uid,
|
||||
require_active == 0 ? "ONLINE_SESSIONS" :
|
||||
require_active > 0 ? "ACTIVE_SESSIONS" :
|
||||
"SESSIONS",
|
||||
sessions);
|
||||
}
|
||||
|
||||
_public_ int sd_uid_get_seats(uid_t uid, int require_active, char ***seats) {
|
||||
return uid_get_array(uid, require_active == 2 ? "ONLINE_SEATS" : (require_active ? "ACTIVE_SEATS" : "SEATS"), seats);
|
||||
return uid_get_array(
|
||||
uid,
|
||||
require_active == 0 ? "ONLINE_SEATS" :
|
||||
require_active > 0 ? "ACTIVE_SEATS" :
|
||||
"SEATS",
|
||||
seats);
|
||||
}
|
||||
|
||||
static int file_of_session(const char *session, char **_p) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user