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=c522a8eda565c2a822aec1345ce7aab4cf905ec0;hp=afdeed55d61f3d0301fb9523a3f903253158b893;hb=167bf427227158dbcad675d951e67038f23a9486;hpb=19c5f19d69bb5f520fa7213239490c55de06d99d diff --git a/man/sd_session_is_active.xml b/man/sd_session_is_active.xml index afdeed55d..c522a8eda 100644 --- a/man/sd_session_is_active.xml +++ b/man/sd_session_is_active.xml @@ -1,206 +1,359 @@ + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - - - - sd_session_is_active - systemd - - - - Developer - Lennart - Poettering - lennart@poettering.net - - - - - - sd_session_is_active - 3 - - - - sd_session_is_active - sd_session_get_uid - sd_session_get_seat - sd_session_get_service - sd_session_get_type - sd_session_get_class - sd_session_get_display - Determine state of a specific session - - - - - #include <systemd/sd-login.h> - - - int sd_session_is_active - const char* session - - - - int sd_session_get_uid - const char* session - uid_t* uid - - - - int sd_session_get_seat - const char* session - char** seat - - - - int sd_session_get_service - 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 - - - - - - Description - - sd_session_is_active() may - be used to determine whether the session identified by - the specified session identifier is currently active - (i.e. currently in the foreground and available for - user input) or not. - - 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 - to. - - sd_session_get_seat() may - be used to determine the seat identifier of the seat - the session identified by the specified session - identifier belongs to. Note that not all sessions are - attached to a seat, this call will fail for them. The - returned string needs to be freed with the libc - free3 - call after use. - - sd_session_get_service() - may be used to determine the name of the service (as - passed during PAM session setup) that registered 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_type() may - be used to determine the type of the session - identified by the specified session identifier. The - returned string is one of x11, - 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 or - lock-screen 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 is one of needs to be - freed with the libc - 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. - - - - Return Value - - If the test succeeds - sd_session_is_active() returns a - positive integer, if it fails 0. On success - sd_session_get_uid(), - sd_session_get_service() and - sd_session_get_seat() return 0 or - a positive integer. On failure, these calls return a - negative errno-style error code. - - - - Notes - - The sd_session_is_active(), - 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 - file. - - - - See Also - - - systemd1, - sd-login7, - sd_pid_get_session3 - - + + + + sd_session_is_active + elogind + + + + Developer + Lennart + Poettering + lennart@poettering.net + + + + + + sd_session_is_active + 3 + + + + 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_desktop + 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 + + + + + #include <elogind/sd-login.h> + + + int sd_session_is_active + 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 + uid_t *uid + + + + int sd_session_get_seat + const char *session + char **seat + + + + int sd_session_get_service + 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_desktop + const char *session + char **desktop + + + + 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 + + + + + + Description + + sd_session_is_active() may be used to + determine whether the session identified by the specified session + identifier is currently active (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 to. + + sd_session_get_seat() may be used to + determine the seat identifier of the seat the session identified + by the specified session identifier belongs to. Note that not all + sessions are attached to a seat, this call will fail for them. The + returned string needs to be freed with the libc + free3 + call after use. + + sd_session_get_service() may be used to + determine the name of the service (as passed during PAM session + setup) that registered 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_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, mir 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_desktop() may be used to + determine the brand of the desktop running on the session + identified by the specified session identifier. This field can be + set freely by desktop environments and does not follow any special + formatting. However, desktops are strongly recommended to use the + same identifiers and capitalization as for + $XDG_CURRENT_DESKTOP, as defined by the Desktop + Entry Specification. The returned string 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() 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_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. + + + + Errors + + Returned errors may indicate the following problems: + + + + + -ENXIO + + The specified session does not exist. + + + + + -ENODATA + + Given field is not specified for the described + session. + + + + + -EINVAL + + An input parameter was invalid (out of range, + or NULL, where that's not accepted). + + + + -ENOMEM + + Memory allocation failed. + + + + + + Notes + + The sd_session_is_active(), + 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_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 + libelogind pkg-config1 + file. + + + + See Also + + + elogind1, + sd-login3, + sd_pid_get_session3 + +