<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="sd_event_add_time" xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>sd_event_add_time</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>sd_event_add_time</refentrytitle>
    <manvolnum>3</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>sd_event_add_time</refname>
    <refname>sd_event_add_time_relative</refname>
    <refname>sd_event_source_get_time</refname>
    <refname>sd_event_source_set_time</refname>
    <refname>sd_event_source_set_time_relative</refname>
    <refname>sd_event_source_get_time_accuracy</refname>
    <refname>sd_event_source_set_time_accuracy</refname>
    <refname>sd_event_source_get_time_clock</refname>
    <refname>sd_event_time_handler_t</refname>

    <refpurpose>Add a timer event source to an event loop</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <funcsynopsis>
      <funcsynopsisinfo>#include &lt;systemd/sd-event.h&gt;</funcsynopsisinfo>

      <funcsynopsisinfo><token>typedef</token> struct sd_event_source sd_event_source;</funcsynopsisinfo>

      <funcprototype>
        <funcdef>typedef int (*<function>sd_event_time_handler_t</function>)</funcdef>
        <paramdef>sd_event_source *<parameter>s</parameter></paramdef>
        <paramdef>uint64_t <parameter>usec</parameter></paramdef>
        <paramdef>void *<parameter>userdata</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_add_time</function></funcdef>
        <paramdef>sd_event *<parameter>event</parameter></paramdef>
        <paramdef>sd_event_source **<parameter>source</parameter></paramdef>
        <paramdef>clockid_t <parameter>clock</parameter></paramdef>
        <paramdef>uint64_t <parameter>usec</parameter></paramdef>
        <paramdef>uint64_t <parameter>accuracy</parameter></paramdef>
        <paramdef>sd_event_time_handler_t <parameter>handler</parameter></paramdef>
        <paramdef>void *<parameter>userdata</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_add_time_relative</function></funcdef>
        <paramdef>sd_event *<parameter>event</parameter></paramdef>
        <paramdef>sd_event_source **<parameter>source</parameter></paramdef>
        <paramdef>clockid_t <parameter>clock</parameter></paramdef>
        <paramdef>uint64_t <parameter>usec</parameter></paramdef>
        <paramdef>uint64_t <parameter>accuracy</parameter></paramdef>
        <paramdef>sd_event_time_handler_t <parameter>handler</parameter></paramdef>
        <paramdef>void *<parameter>userdata</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_source_get_time</function></funcdef>
        <paramdef>sd_event_source *<parameter>source</parameter></paramdef>
        <paramdef>uint64_t *<parameter>usec</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_source_set_time</function></funcdef>
        <paramdef>sd_event_source *<parameter>source</parameter></paramdef>
        <paramdef>uint64_t <parameter>usec</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_source_set_time_relative</function></funcdef>
        <paramdef>sd_event_source *<parameter>source</parameter></paramdef>
        <paramdef>uint64_t <parameter>usec</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_source_get_time_accuracy</function></funcdef>
        <paramdef>sd_event_source *<parameter>source</parameter></paramdef>
        <paramdef>uint64_t *<parameter>usec</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_source_set_time_accuracy</function></funcdef>
        <paramdef>sd_event_source *<parameter>source</parameter></paramdef>
        <paramdef>uint64_t <parameter>usec</parameter></paramdef>
      </funcprototype>

      <funcprototype>
        <funcdef>int <function>sd_event_source_get_time_clock</function></funcdef>
        <paramdef>sd_event_source *<parameter>source</parameter></paramdef>
        <paramdef>clockid_t *<parameter>clock</parameter></paramdef>
      </funcprototype>

    </funcsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><function>sd_event_add_time()</function> adds a new timer event source to an event loop. The event loop
    object is specified in the <parameter>event</parameter> parameter, the event source object is returned in the
    <parameter>source</parameter> parameter. The <parameter>clock</parameter> parameter takes a clock identifier, one
    of <constant>CLOCK_REALTIME</constant>, <constant>CLOCK_MONOTONIC</constant>, <constant>CLOCK_BOOTTIME</constant>,
    <constant>CLOCK_REALTIME_ALARM</constant>, or <constant>CLOCK_BOOTTIME_ALARM</constant>. See
    <citerefentry><refentrytitle>timerfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry> for details
    regarding the various types of clocks. The <parameter>usec</parameter> parameter specifies the earliest time, in
    microseconds (µs), relative to the clock's epoch, when the timer shall be triggered. If a time already in the past
    is specified (including <constant>0</constant>), this timer source "fires" immediately and is ready to be
    dispatched. If the parameter is specified as <constant>UINT64_MAX</constant> the timer event will never elapse,
    which may be used as an alternative to explicitly disabling a timer event source with
    <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The
    <parameter>accuracy</parameter> parameter specifies an additional accuracy value in µs specifying how much the
    timer event may be delayed. Use <constant>0</constant> to select the default accuracy (250ms). Use 1µs for maximum
    accuracy. Consider specifying 60000000µs (1min) or larger for long-running events that may be delayed
    substantially. Picking higher accuracy values allows the system to coalesce timer events more aggressively,
    improving power efficiency.</para>

    <para>The <parameter>handler</parameter> is a function to call when the timer elapses or
    <constant>NULL</constant>. The <parameter>userdata</parameter> pointer will be passed to the handler
    function, and may be chosen freely by the caller. The configured trigger time is also passed to the
    handler, even if the call actually happens slightly later, subject to the specified accuracy value, the
    kernel timer slack (see
    <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>), and
    additional scheduling latencies. To query the actual time the handler was called use
    <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The
    handler may return negative to signal an error (see below), other return values are ignored. If
    <parameter>handler</parameter> is <constant>NULL</constant>, a default handler that calls
    <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry> will be
    used.</para>

    <para>By default, the timer will elapse once (<constant>SD_EVENT_ONESHOT</constant>), but this may be
    changed with
    <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
    If the handler function returns a negative error code, it will either be disabled after the invocation,
    even if the <constant>SD_EVENT_ON</constant> mode was requested before, or it will cause the loop to
    terminate, see
    <citerefentry><refentrytitle>sd_event_source_set_exit_on_failure</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
    Note that a timer event set to <constant>SD_EVENT_ON</constant> will fire continuously unless its
    configured time is updated using <function>sd_event_source_set_time()</function>.</para>

    <para><function>sd_event_add_time_relative()</function> is like <function>sd_event_add_time()</function>,
    but takes a relative time specification. It's relative to the current time of the event loop iteration,
    as returned by
    <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>

    <para>To destroy an event source object use
    <citerefentry><refentrytitle>sd_event_source_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
    but note that the event source is only removed from the event loop
    when all references to the event source are dropped. To make sure
    an event source does not fire anymore, even if it is still referenced,
    disable the event source using
    <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>
    with <constant>SD_EVENT_OFF</constant>.</para>

    <para>If the second parameter of
    <function>sd_event_add_time()</function> is
    <constant>NULL</constant> no reference to the event source object
    is returned. In this case the event source is considered
    "floating", and will be destroyed implicitly when the event loop
    itself is destroyed.</para>

    <para>If the <parameter>handler</parameter> parameter to <function>sd_event_add_time()</function> is
    <constant>NULL</constant>, and the event source fires, this will be considered a request to exit the
    event loop. In this case, the <parameter>userdata</parameter> parameter, cast to an integer, is passed as
    the exit code parameter to
    <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>

    <para>Use <constant>CLOCK_BOOTTIME_ALARM</constant> and
    <constant>CLOCK_REALTIME_ALARM</constant> to define event sources
    that may wake up the system from suspend.</para>

    <para>In order to set up relative timers (that is, relative to the
    current time), retrieve the current time via
    <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
    add the desired timespan to it, and use the result as
    the <parameter>usec</parameter> parameter to
    <function>sd_event_add_time()</function>.</para>

    <para>In order to set up repetitive timers (that is, timers that
    are triggered in regular intervals), set up the timer normally,
    for the first invocation. Each time the event handler is invoked,
    update the timer's trigger time with
    <citerefentry><refentrytitle>sd_event_source_set_time</refentrytitle><manvolnum>3</manvolnum></citerefentry> for the next timer
    iteration, and reenable the timer using
    <function>sd_event_source_set_enabled()</function>. To calculate
    the next point in time to pass to
    <function>sd_event_source_set_time()</function>, either use as
    base the <parameter>usec</parameter> parameter passed to the timer
    callback, or the timestamp returned by
    <function>sd_event_now()</function>. In the former case timer
    events will be regular, while in the latter case the scheduling
    latency will keep accumulating on the timer.</para>

    <para><function>sd_event_source_get_time()</function> retrieves the configured time value of an event
    source created previously with <function>sd_event_add_time()</function> or
    <function>sd_event_add_time_relative()</function>. It takes the event source object and a pointer to a
    variable to store the time in, relative to the selected clock's epoch, in µs. The returned value is
    relative to the epoch, even if the event source was created with a relative time via
    <function>sd_event_add_time_relative()</function>.</para>

    <para><function>sd_event_source_set_time()</function> changes the time of an event source created
    previously with <function>sd_event_add_time()</function> or
    <function>sd_event_add_time_relative()</function>. It takes the event source object and a time relative
    to the selected clock's epoch, in µs.</para>

    <para><function>sd_event_source_set_time_relative()</function> is similar to
    <function>sd_event_source_set_time()</function>, but takes a time relative to the current time of the
    event loop iteration, as returned by <function>sd_event_now()</function>.</para>

    <para><function>sd_event_source_get_time_accuracy()</function>
    retrieves the configured accuracy value of an event source
    created previously with <function>sd_event_add_time()</function>. It
    takes the event source object and a pointer to a variable to store
    the accuracy in. The accuracy is specified in µs.</para>

    <para><function>sd_event_source_set_time_accuracy()</function>
    changes the configured accuracy of a timer event source created
    previously with <function>sd_event_add_time()</function>. It takes
    the event source object and accuracy, in µs.</para>

    <para><function>sd_event_source_get_time_clock()</function>
    retrieves the configured clock of an event source created
    previously with <function>sd_event_add_time()</function>. It takes
    the event source object and a pointer to a variable to store the
    clock identifier in.</para>
  </refsect1>

  <refsect1>
    <title>Return Value</title>

    <para>On success, these functions return 0 or a positive
    integer. On failure, they return a negative errno-style error
    code. </para>

    <refsect2>
      <title>Errors</title>

      <para>Returned values may indicate the following problems:</para>

      <variablelist>
        <varlistentry>
          <term><constant>-ENOMEM</constant></term>

          <listitem><para>Not enough memory to allocate an object.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><constant>-EINVAL</constant></term>

          <listitem><para>An invalid argument has been passed.</para></listitem>

        </varlistentry>

        <varlistentry>
          <term><constant>-ESTALE</constant></term>

          <listitem><para>The event loop is already terminated.</para></listitem>

        </varlistentry>

        <varlistentry>
          <term><constant>-ECHILD</constant></term>

          <listitem><para>The event loop has been created in a different process.</para></listitem>

        </varlistentry>

        <varlistentry>
          <term><constant>-EOPNOTSUPP</constant></term>

          <listitem><para>The selected clock is not supported by the event loop implementation.</para></listitem>

        </varlistentry>

        <varlistentry>
          <term><constant>-EDOM</constant></term>

          <listitem><para>The passed event source is not a timer event source.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><constant>-EOVERFLOW</constant></term>

          <listitem><para>The passed relative time is outside of the allowed range for time values (i.e. the
          specified value added to the current time is outside the 64 bit unsigned integer range).</para></listitem>
        </varlistentry>
      </variablelist>
    </refsect2>
  </refsect1>

  <xi:include href="libsystemd-pkgconfig.xml" />

  <refsect1>
    <title>See Also</title>

    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_add_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_add_inotify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>sd_event_source_set_floating</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>timerfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
