1 <?xml version='
1.0'
?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC
"-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
6 SPDX-License-Identifier: LGPL-2.1+
8 This file is part of systemd.
10 Copyright 2012 Lennart Poettering
13 <refentry id=
"sd_journal_get_realtime_usec">
16 <title>sd_journal_get_realtime_usec
</title>
17 <productname>systemd
</productname>
21 <contrib>Developer
</contrib>
22 <firstname>Lennart
</firstname>
23 <surname>Poettering
</surname>
24 <email>lennart@poettering.net
</email>
30 <refentrytitle>sd_journal_get_realtime_usec
</refentrytitle>
31 <manvolnum>3</manvolnum>
35 <refname>sd_journal_get_realtime_usec
</refname>
36 <refname>sd_journal_get_monotonic_usec
</refname>
37 <refpurpose>Read timestamps from the current journal entry
</refpurpose>
42 <funcsynopsisinfo>#include
<systemd/sd-journal.h
></funcsynopsisinfo>
45 <funcdef>int
<function>sd_journal_get_realtime_usec
</function></funcdef>
46 <paramdef>sd_journal *
<parameter>j
</parameter></paramdef>
47 <paramdef>uint64_t *
<parameter>usec
</parameter></paramdef>
51 <funcdef>int
<function>sd_journal_get_monotonic_usec
</function></funcdef>
52 <paramdef>sd_journal *
<parameter>j
</parameter></paramdef>
53 <paramdef>uint64_t *
<parameter>usec
</parameter></paramdef>
54 <paramdef>sd_id128_t *
<parameter>boot_id
</parameter></paramdef>
61 <title>Description
</title>
63 <para><function>sd_journal_get_realtime_usec()
</function> gets the
64 realtime (wallclock) timestamp of the current journal entry. It
65 takes two arguments: the journal context object and a pointer to a
66 64-bit unsigned integer to store the timestamp in. The timestamp
67 is in microseconds since the epoch, i.e.
68 <constant>CLOCK_REALTIME
</constant>.
</para>
70 <para><function>sd_journal_get_monotonic_usec()
</function> gets
71 the monotonic timestamp of the current journal entry. It takes
72 three arguments: the journal context object, a pointer to a
64-bit
73 unsigned integer to store the timestamp in, as well as a
128-bit
74 ID buffer to store the boot ID of the monotonic timestamp. The
75 timestamp is in microseconds since boot-up of the specific boot,
76 i.e.
<constant>CLOCK_MONOTONIC
</constant>. Since the monotonic
77 clock begins new with every reboot, it only defines a well-defined
78 point in time when used together with an identifier identifying
80 <citerefentry><refentrytitle>sd_id128_get_boot
</refentrytitle><manvolnum>3</manvolnum></citerefentry>
81 for more information. If the boot ID parameter is passed
82 <constant>NULL
</constant>, the function will fail if the monotonic
83 timestamp of the current entry is not of the current system
86 <para>Note that these functions will not work before
87 <citerefentry><refentrytitle>sd_journal_next
</refentrytitle><manvolnum>3</manvolnum></citerefentry>
88 (or related call) has been called at least
89 once, in order to position the read pointer at a valid entry.
</para>
93 <title>Return Value
</title>
95 <para><function>sd_journal_get_realtime_usec()
</function> and
96 <function>sd_journal_get_monotonic_usec()
</function> returns
0 on
97 success or a negative errno-style error code. If the boot ID
98 parameter was passed
<constant>NULL
</constant> and the monotonic
99 timestamp of the current journal entry is not of the current
100 system boot,
<constant>-ESTALE
</constant> is returned by
101 <function>sd_journal_get_monotonic_usec()
</function>.
</para>
107 <para>The
<function>sd_journal_get_realtime_usec()
</function> and
108 <function>sd_journal_get_monotonic_usec()
</function> interfaces
109 are available as a shared library, which can be compiled and
111 <constant>libsystemd
</constant> <citerefentry project='die-net'
><refentrytitle>pkg-config
</refentrytitle><manvolnum>1</manvolnum></citerefentry>
116 <title>See Also
</title>
119 <citerefentry><refentrytitle>systemd
</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
120 <citerefentry><refentrytitle>sd-journal
</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
121 <citerefentry><refentrytitle>sd_journal_open
</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
122 <citerefentry><refentrytitle>sd_journal_next
</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
123 <citerefentry><refentrytitle>sd_journal_get_data
</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
124 <citerefentry><refentrytitle>sd_id128_get_boot
</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
125 <citerefentry><refentrytitle>clock_gettime
</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
126 <citerefentry><refentrytitle>sd_journal_get_cutoff_realtime_usec
</refentrytitle><manvolnum>3</manvolnum></citerefentry>