<refnamediv>
<refname>sd_session_is_active</refname>
+ <refname>sd_session_get_state</refname>
<refname>sd_session_get_uid</refname>
<refname>sd_session_get_seat</refname>
<refname>sd_session_get_service</refname>
<paramdef>const char* <parameter>session</parameter></paramdef>
</funcprototype>
+ <funcprototype>
+ <funcdef>int <function>sd_session_get_state</function></funcdef>
+ <paramdef>const char* <parameter>session</parameter></paramdef>
+ <paramdef>char** <parameter>state</parameter></paramdef>
+ </funcprototype>
+
<funcprototype>
<funcdef>int <function>sd_session_get_uid</function></funcdef>
<paramdef>const char* <parameter>session</parameter></paramdef>
(i.e. currently in the foreground and available for
user input) or not.</para>
+ <para><function>sd_session_get_state()</function> may
+ be used to determine the state of the session
+ identified by the specified session identifier. The
+ following states are currently known:
+ <literal>online</literal> (session logged in, but
+ session not active, i.e. not in the foreground),
+ <literal>active</literal> (session logged in and
+ active, i.e. in the foreground),
+ <literal>closing</literal> (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
+ <function>sd_session_is_active()</function>. The returned
+ string needs to be freed with the libc
+ <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ call after use.</para>
+
<para><function>sd_session_get_uid()</function> may be
used to determine the user identifier of the Unix user the session
identified by the specified session identifier belongs
<para>If the test succeeds
<function>sd_session_is_active()</function> returns a
positive integer, if it fails 0. On success
+ <function>sd_session_get_state()</function>,
<function>sd_session_get_uid()</function>,
- <function>sd_session_get_service()</function> and
- <function>sd_session_get_seat()</function> return 0 or
+ <function>sd_session_get_seat()</function>,
+ <function>sd_session_get_service()</function>,
+ <function>sd_session_get_type()</function>,
+ <function>sd_session_get_class()</function> and
+ <function>sd_session_get_display()</function> return 0 or
a positive integer. On failure, these calls return a
negative errno-style error code.</para>
</refsect1>
<title>Notes</title>
<para>The <function>sd_session_is_active()</function>,
+ <function>sd_session_get_state()</function>,
<function>sd_session_get_uid()</function>,
- <function>sd_session_get_service()</function> and
- <function>sd_session_get_seat()</function> interfaces
+ <function>sd_session_get_seat()</function>,
+ <function>sd_session_get_service()</function>,
+ <function>sd_session_get_type()</function>,
+ <function>sd_session_get_class()</function> and
+ <function>sd_session_get_display()</function> interfaces
are available as shared library, which can be compiled
and linked to with the
<literal>libsystemd-login</literal>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_pid_get_session</refentrytitle><manvolnum>3</manvolnum></citerefentry>
</para>
</refsect1>