]> git.proxmox.com Git - systemd.git/blame - man/sd_session_get_state.html
Imported Upstream version 208
[systemd.git] / man / sd_session_get_state.html
CommitLineData
663996b3
MS
1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>sd_session_is_active</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
2 a.headerlink {
3 color: #c60f0f;
4 font-size: 0.8em;
5 padding: 0 4px 0 4px;
6 text-decoration: none;
7 visibility: hidden;
8 }
9
10 a.headerlink:hover {
11 background-color: #c60f0f;
12 color: white;
13 }
14
15 h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
16 visibility: visible;
17 }
18 </style><a href="index.html">Index </a>·
19 <a href="systemd.directives.html">Directives </a>·
20 <a href="../python-systemd/index.html">Python </a>·
21 <a href="../libudev/index.html">libudev </a>·
14228c0d 22 <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_session_is_active"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>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_tty, sd_session_get_vt — Determine state of a specific session</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-login.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_is_active</b>(</code></td><td>const char* <var class="pdparam">session</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_state</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>char** <var class="pdparam">state</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_uid</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>uid_t* <var class="pdparam">uid</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_seat</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>char** <var class="pdparam">seat</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_service</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>char** <var class="pdparam">service</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_type</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>char** <var class="pdparam">type</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_class</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>char** <var class="pdparam">class</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_display</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>char** <var class="pdparam">display</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_tty</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>char** <var class="pdparam">tty</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_session_get_vt</b>(</code></td><td>const char* <var class="pdparam">session</var>, </td></tr><tr><td> </td><td>unsigned int* <var class="pdparam">vt</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274695276976"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p><code class="function">sd_session_is_active()</code> may
663996b3
MS
23 be used to determine whether the session identified by
24 the specified session identifier is currently active
25 (i.e. currently in the foreground and available for
26 user input) or not.</p><p><code class="function">sd_session_get_state()</code> may
27 be used to determine the state of the session
28 identified by the specified session identifier. The
29 following states are currently known:
14228c0d 30 "<code class="literal">online</code>" (session logged in, but
663996b3 31 session not active, i.e. not in the foreground),
14228c0d 32 "<code class="literal">active</code>" (session logged in and
663996b3 33 active, i.e. in the foreground),
14228c0d 34 "<code class="literal">closing</code>" (session nominally logged
663996b3
MS
35 out, but some processes belonging to it are still
36 around). In the future additional states might be
37 defined, client code should be written to be robust in
38 regards to additional state strings being
39 returned. This function is a more generic version of
40 <code class="function">sd_session_is_active()</code>. The returned
41 string needs to be freed with the libc
42 <a href="free.html"><span class="citerefentry"><span class="refentrytitle">free</span>(3)</span></a>
43 call after use.</p><p><code class="function">sd_session_get_uid()</code> may be
44 used to determine the user identifier of the Unix user the session
45 identified by the specified session identifier belongs
46 to.</p><p><code class="function">sd_session_get_seat()</code> may
47 be used to determine the seat identifier of the seat
48 the session identified by the specified session
49 identifier belongs to. Note that not all sessions are
50 attached to a seat, this call will fail for them. The
51 returned string needs to be freed with the libc
52 <a href="free.html"><span class="citerefentry"><span class="refentrytitle">free</span>(3)</span></a>
53 call after use.</p><p><code class="function">sd_session_get_service()</code>
54 may be used to determine the name of the service (as
55 passed during PAM session setup) that registered the
56 session identified by the specified session
57 identifier. The returned string needs to be freed with
58 the libc
59 <a href="free.html"><span class="citerefentry"><span class="refentrytitle">free</span>(3)</span></a>
60 call after use.</p><p><code class="function">sd_session_get_type()</code> may
61 be used to determine the type of the session
62 identified by the specified session identifier. The
14228c0d
MB
63 returned string is one of "<code class="literal">x11</code>",
64 "<code class="literal">tty</code>" or
65 "<code class="literal">unspecified</code>" and needs to be freed
663996b3
MS
66 with the libc
67 <a href="free.html"><span class="citerefentry"><span class="refentrytitle">free</span>(3)</span></a>
68 call after use.</p><p><code class="function">sd_session_get_class()</code> may
69 be used to determine the class of the session
70 identified by the specified session identifier. The
14228c0d
MB
71 returned string is one of "<code class="literal">user</code>",
72 "<code class="literal">greeter</code>",
73 "<code class="literal">lock-screen</code>", or
74 "<code class="literal">background</code>" and needs to be freed
663996b3
MS
75 with the libc
76 <a href="free.html"><span class="citerefentry"><span class="refentrytitle">free</span>(3)</span></a>
77 call after use.</p><p><code class="function">sd_session_get_display()</code>
78 may be used to determine the X11 display of the
79 session identified by the specified session
80 identifier. The returned string needs to be
81 freed with the libc
82 <a href="free.html"><span class="citerefentry"><span class="refentrytitle">free</span>(3)</span></a>
83 call after use.</p><p><code class="function">sd_session_get_tty()</code>
84 may be used to determine the TTY device of the
85 session identified by the specified session
86 identifier. The returned string needs to be
87 freed with the libc
88 <a href="free.html"><span class="citerefentry"><span class="refentrytitle">free</span>(3)</span></a>
14228c0d
MB
89 call after use.</p><p><code class="function">sd_session_get_vt()</code>
90 may be used to determine the VT number of the
91 session identified by the specified session
92 identifier. This function will return an error if
93 the seat does not support VTs.</p><p>If the <code class="varname">session</code> parameter of
94 any of these functions is passed as
95 <code class="constant">NULL</code>, the operation is executed
96 for the session the calling process is a member of, if
97 there is any.</p></div><div class="refsect1"><a name="idm274690339776"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value">¶</a></h2><p>If the test succeeds,
663996b3
MS
98 <code class="function">sd_session_is_active()</code> returns a
99 positive integer, if it fails 0. On success
100 <code class="function">sd_session_get_state()</code>,
101 <code class="function">sd_session_get_uid()</code>,
102 <code class="function">sd_session_get_seat()</code>,
103 <code class="function">sd_session_get_service()</code>,
104 <code class="function">sd_session_get_type()</code>,
105 <code class="function">sd_session_get_class()</code>,
106 <code class="function">sd_session_get_display()</code> and
107 <code class="function">sd_session_get_tty()</code> return 0 or
108 a positive integer. On failure, these calls return a
14228c0d 109 negative errno-style error code.</p></div><div class="refsect1"><a name="idm274690332752"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes">¶</a></h2><p>The <code class="function">sd_session_is_active()</code>,
663996b3
MS
110 <code class="function">sd_session_get_state()</code>,
111 <code class="function">sd_session_get_uid()</code>,
112 <code class="function">sd_session_get_seat()</code>,
113 <code class="function">sd_session_get_service()</code>,
114 <code class="function">sd_session_get_type()</code>,
115 <code class="function">sd_session_get_class()</code>,
116 <code class="function">sd_session_get_display()</code> and
117 <code class="function">sd_session_get_tty()</code>
118 interfaces are available as shared library, which can
119 be compiled and linked to with the
14228c0d
MB
120 <code class="constant">libsystemd-login</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
121 file.</p></div><div class="refsect1"><a name="idm274690324672"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
663996b3
MS
122 <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
123 <a href="sd-login.html"><span class="citerefentry"><span class="refentrytitle">sd-login</span>(3)</span></a>,
124 <a href="sd_pid_get_session.html"><span class="citerefentry"><span class="refentrytitle">sd_pid_get_session</span>(3)</span></a>
125 </p></div></div></body></html>