chiark / gitweb /
Prep v239: fs-util: Mask new chase_symlinks_and_*() functions.
[elogind.git] / man / sd_event_now.xml
1 <?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5 <!--
6   SPDX-License-Identifier: LGPL-2.1+
7 -->
8
9 <refentry id="sd_event_now" xmlns:xi="http://www.w3.org/2001/XInclude">
10
11   <refentryinfo>
12     <title>sd_event_now</title>
13     <productname>elogind</productname>
14   </refentryinfo>
15
16   <refmeta>
17     <refentrytitle>sd_event_now</refentrytitle>
18     <manvolnum>3</manvolnum>
19   </refmeta>
20
21   <refnamediv>
22     <refname>sd_event_now</refname>
23
24     <refpurpose>Retrieve current event loop iteration timestamp</refpurpose>
25   </refnamediv>
26
27   <refsynopsisdiv>
28     <funcsynopsis>
29       <funcsynopsisinfo>#include &lt;elogind/sd-event.h&gt;</funcsynopsisinfo>
30
31       <funcprototype>
32         <funcdef>int <function>sd_event_now</function></funcdef>
33         <paramdef>sd_event *<parameter>event</parameter></paramdef>
34         <paramdef>clockid_t <parameter>clock</parameter></paramdef>
35         <paramdef>uint64_t *<parameter>usec</parameter></paramdef>
36       </funcprototype>
37
38     </funcsynopsis>
39   </refsynopsisdiv>
40
41   <refsect1>
42     <title>Description</title>
43
44     <para><function>sd_event_now()</function> returns the time when
45     the most recent event loop iteration began. A timestamp
46     is taken right after returning from the event sleep, and before
47     dispatching any event sources. The <parameter>event</parameter>
48     parameter specifies the event loop object to retrieve the timestamp
49     from. The <parameter>clock</parameter> parameter specifies the clock to
50     retrieve the timestamp for, and is one of
51     <constant>CLOCK_REALTIME</constant> (or equivalently
52     <constant>CLOCK_REALTIME_ALARM</constant>),
53     <constant>CLOCK_MONOTONIC</constant>, or
54     <constant>CLOCK_BOOTTIME</constant> (or equivalently
55     <constant>CLOCK_BOOTTIME_ALARM</constant>), see
56     <citerefentry project='man-pages'><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>
57     for more information on the various clocks. The retrieved
58     timestamp is stored in the <parameter>usec</parameter> parameter,
59     in µs since the clock's epoch. If this function is invoked before
60     the first event loop iteration, the current time is returned, as
61     reported by <function>clock_gettime()</function>. To distinguish
62     this case from a regular invocation the return value will be
63     positive, and zero when the returned timestamp refers to an actual
64     event loop iteration.</para>
65   </refsect1>
66
67   <refsect1>
68     <title>Return Value</title>
69
70     <para>If the first event loop iteration has not run yet
71     <function>sd_event_now()</function> writes current time to
72     <parameter>usec</parameter> and returns a positive return value.
73     Otherwise, it will write the requested timestamp to <parameter>usec</parameter>
74     and return 0. On failure, the call returns a negative errno-style
75     error code.</para>
76   </refsect1>
77
78   <refsect1>
79     <title>Errors</title>
80
81     <para>Returned values may indicate the following problems:</para>
82
83     <variablelist>
84       <varlistentry>
85         <term><constant>-EINVAL</constant></term>
86
87         <listitem><para>An invalid parameter was
88         passed.</para></listitem>
89
90       </varlistentry>
91
92       <varlistentry>
93         <term><constant>-EOPNOTSUPP</constant></term>
94
95         <listitem><para>Unsupported clock type.
96         </para></listitem>
97       </varlistentry>
98
99       <varlistentry>
100         <term><constant>-ECHILD</constant></term>
101
102         <listitem><para>The event loop object was created in a
103         different process.</para></listitem>
104       </varlistentry>
105     </variablelist>
106   </refsect1>
107
108   <xi:include href="libelogind-pkgconfig.xml" />
109
110   <refsect1>
111     <title>See Also</title>
112
113     <para>
114       <!-- 0 /// elogind is in section 8
115       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
116       --><!-- else -->
117       <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
118       <!-- // 0 -->
119       <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
120       <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
121       <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
122       <citerefentry project='man-pages'><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>
123     </para>
124   </refsect1>
125
126 </refentry>