]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - man/sd_uid_get_state.xml
man: use same version in public and system ident.
[thirdparty/systemd.git] / man / sd_uid_get_state.xml
index 1183d9079ad915774b069e0a95917613fe020ed4..2a91686e1c7e9a04c8bce09d33dce23cea4239a3 100644 (file)
@@ -1,42 +1,14 @@
 <?xml version='1.0'?> <!--*-nxml-*-->
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
 
-<!--
-  SPDX-License-Identifier: LGPL-2.1+
-
-  This file is part of systemd.
-
-  Copyright 2010 Lennart Poettering
-
-  systemd is free software; you can redistribute it and/or modify it
-  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
-  Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with systemd; If not, see <http://www.gnu.org/licenses/>.
--->
-
-<refentry id="sd_uid_get_state" conditional='HAVE_PAM'>
+<refentry id="sd_uid_get_state" conditional='HAVE_PAM'
+          xmlns:xi="http://www.w3.org/2001/XInclude">
 
   <refentryinfo>
     <title>sd_uid_get_state</title>
     <productname>systemd</productname>
-
-    <authorgroup>
-      <author>
-        <contrib>Developer</contrib>
-        <firstname>Lennart</firstname>
-        <surname>Poettering</surname>
-        <email>lennart@poettering.net</email>
-      </author>
-    </authorgroup>
   </refentryinfo>
 
   <refmeta>
@@ -50,6 +22,7 @@
     <refname>sd_uid_get_sessions</refname>
     <refname>sd_uid_get_seats</refname>
     <refname>sd_uid_get_display</refname>
+    <refname>sd_uid_get_login_time</refname>
     <refpurpose>Determine login state of a specific Unix user ID</refpurpose>
   </refnamediv>
 
         <paramdef>uid_t <parameter>uid</parameter></paramdef>
         <paramdef>char **<parameter>session</parameter></paramdef>
       </funcprototype>
+
+      <funcprototype>
+        <funcdef>int <function>sd_uid_get_login_time</function></funcdef>
+        <paramdef>uid_t <parameter>uid</parameter></paramdef>
+        <paramdef>uint64_t *<parameter>usec</parameter></paramdef>
+      </funcprototype>
     </funcsynopsis>
   </refsynopsisdiv>
 
     <parameter>require_active</parameter> parameter controls whether
     the returned list shall consist of only those sessions where the
     user is currently active (&gt; 0), where the user is currently
-    online but possibly inactive (= 0), or logged in at all but
+    online but possibly inactive (= 0), or logged in but
     possibly closing the session (&lt; 0). The call returns a
     <constant>NULL</constant> terminated string array of session
     identifiers in <parameter>sessions</parameter> which needs to be
     of the "primary" session of a user. If the user has graphical
     sessions, it will be the oldest graphical session. Otherwise, it
     will be the oldest open session.</para>
+
+    <para><function>sd_uid_get_login_time()</function> may be used to
+    determine the time the user's service manager has been invoked,
+    which is the time when the user's first active session, since which
+    they stayed logged in continuously, began. The <parameter>usec</parameter>
+    is in microseconds since the epoch (<constant>CLOCK_REALTIME</constant>).
+    This call will fail with <constant>-ENXIO</constant> if the user is not
+    currently logged in.</para>
   </refsect1>
 
   <refsect1>
     <title>Return Value</title>
 
-    <para>On success, <function>sd_uid_get_state()</function> returns
-    0 or a positive integer. If the test succeeds,
-    <function>sd_uid_is_on_seat()</function> returns a positive
-    integer; if it fails, 0.
-    <function>sd_uid_get_sessions()</function> and
-    <function>sd_uid_get_seats()</function> return the number of
-    entries in the returned arrays.
-    <function>sd_uid_get_display()</function> returns a non-negative
-    code on success. On failure, these calls return a negative
-    errno-style error code.</para>
-  </refsect1>
+    <para>On success, <function>sd_uid_get_state()</function> and
+    <function>sd_uid_get_login_time()</function> returns 0 or a positive
+    integer. If the test succeeds, <function>sd_uid_is_on_seat()</function>
+    returns a positive integer; if it fails, 0. <function>sd_uid_get_sessions()</function>
+    and <function>sd_uid_get_seats()</function> return the number of entries
+    in the returned arrays. <function>sd_uid_get_display()</function>
+    returns a non-negative code on success. On failure, these calls return
+    a negative errno-style error code.</para>
 
-  <refsect1>
-    <title>Errors</title>
+    <refsect2>
+      <title>Errors</title>
 
-    <para>Returned errors may indicate the following problems:</para>
+      <para>Returned errors may indicate the following problems:</para>
 
-    <variablelist>
+      <variablelist>
 
-      <varlistentry>
-        <term><constant>-ENODATA</constant></term>
+        <varlistentry>
+          <term><constant>-ENODATA</constant></term>
 
-        <listitem><para>The given field is not specified for the described
-        user.</para>
-        </listitem>
-      </varlistentry>
+          <listitem><para>The given field is not specified for the described user.</para>
+          </listitem>
+        </varlistentry>
 
-      <varlistentry>
-        <term><constant>-ENXIO</constant></term>
+        <varlistentry>
+          <term><constant>-ENXIO</constant></term>
 
-        <listitem><para>The specified seat is unknown.</para>
-        </listitem>
-      </varlistentry>
+          <listitem><para>The specified seat is unknown.</para>
+          </listitem>
+        </varlistentry>
 
-      <varlistentry>
-        <term><constant>-EINVAL</constant></term>
+        <varlistentry>
+          <term><constant>-EINVAL</constant></term>
 
-        <listitem><para>An input parameter was invalid (out of range,
-        or NULL, where that is not accepted). This is also returned if
-        the passed user ID is 0xFFFF or 0xFFFFFFFF, which are
-        undefined on Linux.</para></listitem>
-      </varlistentry>
+          <listitem><para>An input parameter was invalid (out of range, or <constant>NULL</constant>,
+          where that is not accepted). This is also returned if the passed user ID is
+          <constant>0xFFFF</constant> or <constant>0xFFFFFFFF</constant>, which are undefined on Linux.
+          </para></listitem>
+        </varlistentry>
 
-      <varlistentry>
-        <term><constant>-ENOMEM</constant></term>
+        <varlistentry>
+          <term><constant>-ENOMEM</constant></term>
 
-        <listitem><para>Memory allocation failed.</para></listitem>
-      </varlistentry>
-    </variablelist>
+          <listitem><para>Memory allocation failed.</para></listitem>
+        </varlistentry>
+      </variablelist>
+    </refsect2>
   </refsect1>
 
-  <refsect1>
-    <title>Notes</title>
+  <xi:include href="libsystemd-pkgconfig.xml" />
 
-    <para>Functions described here are available as a shared library,
-    and can be compiled and linked to using the
-    <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-    entry.</para>
+  <refsect1>
+    <title>History</title>
+    <para><function>sd_uid_get_display()</function> was added in version 213.</para>
+    <para><function>sd_uid_get_login_time()</function> was added in version 254.</para>
   </refsect1>
 
   <refsect1>
     <title>See Also</title>
 
-    <para>
-      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sd_pid_get_owner_uid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
-    </para>
+    <para><simplelist type="inline">
+      <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
+      <member><citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
+      <member><citerefentry><refentrytitle>sd_pid_get_owner_uid</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
+    </simplelist></para>
   </refsect1>
 
 </refentry>