X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_session_is_active.xml;h=4d5e6d113eab9f04cd303a6929360cb0fda1589f;hp=5db305d467ff8b85561134c8ab3435324be996ee;hb=49ebd11fb0ea6af249990439bf0690641e8be559;hpb=50b1678aaba9d3c2be5115db34a822911d791b8c diff --git a/man/sd_session_is_active.xml b/man/sd_session_is_active.xml index 5db305d46..4d5e6d113 100644 --- a/man/sd_session_is_active.xml +++ b/man/sd_session_is_active.xml @@ -8,20 +8,20 @@ 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 . --> - + sd_session_is_active @@ -44,9 +44,18 @@ sd_session_is_active + sd_session_is_remote + sd_session_get_state sd_session_get_uid sd_session_get_seat sd_session_get_service + sd_session_get_type + sd_session_get_class + sd_session_get_display + sd_session_get_tty + sd_session_get_vt + sd_session_get_remote_host + sd_session_get_remote_user Determine state of a specific session @@ -59,6 +68,17 @@ const char* session + + int sd_session_is_remote + const char* session + + + + int sd_session_get_state + const char* session + char** state + + int sd_session_get_uid const char* session @@ -76,6 +96,48 @@ const char* session char** service + + + int sd_session_get_type + const char* session + char** type + + + + int sd_session_get_class + const char* session + char** class + + + + int sd_session_get_display + const char* session + char** display + + + + int sd_session_get_remote_host + const char* session + char** remote_host + + + + int sd_session_get_remote_user + const char* session + char** remote_user + + + + int sd_session_get_tty + const char* session + char** tty + + + + int sd_session_get_vt + const char* session + unsigned int* vt + @@ -88,6 +150,30 @@ (i.e. currently in the foreground and available for user input) or not. + sd_session_is_remote() may + be used to determine whether the session identified by + the specified session identifier is a remote session + (i.e. its remote host is known) or not. + + sd_session_get_state() may + be used to determine the state of the session + identified by the specified session identifier. The + following states are currently known: + online (session logged in, but + session not active, i.e. not in the foreground), + active (session logged in and + active, i.e. in the foreground), + closing (session nominally logged + out, but some processes belonging to it are still + around). In the future additional states might be + defined, client code should be written to be robust in + regards to additional state strings being + returned. This function is a more generic version of + sd_session_is_active(). The returned + string needs to be freed with the libc + free3 + call after use. + sd_session_get_uid() may be used to determine the user identifier of the Unix user the session identified by the specified session identifier belongs @@ -111,21 +197,90 @@ free3 call after use. - If the session parameter of - any of these functions is passed as NULL the operation - is executed for the session the calling process is a - member of, if there is any. + sd_session_get_type() may + be used to determine the type of the session + identified by the specified session identifier. The + returned string is one of x11, + wayland, tty or + unspecified and needs to be freed + with the libc + free3 + call after use. + + sd_session_get_class() may + be used to determine the class of the session + identified by the specified session identifier. The + returned string is one of user, + greeter, + lock-screen, or + background and needs to be freed + with the libc + free3 + call after use. + + sd_session_get_display() + may be used to determine the X11 display of the + session identified by the specified session + identifier. The returned string needs to be + freed with the libc + free3 + call after use. + + sd_session_get_remote_host() + may be used to determine the remote hostname of the + session identified by the specified session + identifier. The returned string needs to be + freed with the libc + free3 + call after use. + + sd_session_get_remote_user() + may be used to determine the remote username of the + session identified by the specified session + identifier. The returned string needs to be + freed with the libc + free3 + call after use. Note that this value is rarely known + to the system, and even then should not be relied on. + + sd_session_get_tty() + may be used to determine the TTY device of the + session identified by the specified session + identifier. The returned string needs to be + freed with the libc + free3 + call after use. + + sd_session_get_vt() + may be used to determine the VT number of the + session identified by the specified session + identifier. This function will return an error if + the seat does not support VTs. + + If the session parameter of + any of these functions is passed as + NULL, the operation is executed + for the session the calling process is a member of, if + there is any. Return Value - If the test succeeds - sd_session_is_active() returns a - positive integer, if it fails 0. On success + If the test succeeds, + sd_session_is_active() and + sd_session_is_remote() return a + positive integer; if it fails, 0. On success, + sd_session_get_state(), sd_session_get_uid(), - sd_session_get_service() and - sd_session_get_seat() return 0 or + sd_session_get_seat(), + sd_session_get_service(), + sd_session_get_type(), + sd_session_get_class(), + sd_session_get_display(), + sd_session_get_remote_user(), + sd_session_get_remote_host() and + sd_session_get_tty() return 0 or a positive integer. On failure, these calls return a negative errno-style error code. @@ -134,13 +289,19 @@ Notes The sd_session_is_active(), + sd_session_get_state(), sd_session_get_uid(), - sd_session_get_service() and - sd_session_get_seat() interfaces - are available as shared library, which can be compiled - and linked to with the - libsystemd-login - pkg-config1 + sd_session_get_seat(), + sd_session_get_service(), + sd_session_get_type(), + sd_session_get_class(), + sd_session_get_display(), + sd_session_get_remote_host(), + sd_session_get_remote_user() and + sd_session_get_tty() + interfaces are available as a shared library, which can + be compiled and linked to with the + libsystemd-login pkg-config1 file. @@ -149,7 +310,7 @@ systemd1, - sd-login7, + sd-login3, sd_pid_get_session3