summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am3
-rw-r--r--man/sd_journal_get_cursor.xml122
-rw-r--r--man/sd_journal_get_cutoff_realtime_usec.xml2
-rw-r--r--man/sd_journal_get_data.xml2
-rw-r--r--man/sd_journal_get_realtime_usec.xml2
-rw-r--r--man/sd_journal_next.xml4
-rw-r--r--man/sd_journal_open.xml19
7 files changed, 149 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index f6301f1283..50b2a9f363 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -505,7 +505,8 @@ MANPAGES = \
man/sd_journal_next.3 \
man/sd_journal_get_data.3 \
man/sd_journal_get_realtime_usec.3 \
- man/sd_journal_get_cutoff_realtime_usec.3
+ man/sd_journal_get_cutoff_realtime_usec.3 \
+ man/sd_journal_get_cursor.3
MANPAGES_ALIAS = \
man/reboot.8 \
diff --git a/man/sd_journal_get_cursor.xml b/man/sd_journal_get_cursor.xml
new file mode 100644
index 0000000000..9e00ef7c82
--- /dev/null
+++ b/man/sd_journal_get_cursor.xml
@@ -0,0 +1,122 @@
+<?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">
+
+<!--
+ This file is part of systemd.
+
+ Copyright 2012 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_journal_get_cursor">
+
+ <refentryinfo>
+ <title>sd_journal_get_cursor</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart@poettering.net</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>sd_journal_get_cursor</refentrytitle>
+ <manvolnum>3</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>sd_journal_get_cursor</refname>
+ <refpurpose>Get cursor string for the current journal entry</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>#include &lt;systemd/sd-journal.h&gt;</funcsynopsisinfo>
+
+ <funcprototype>
+ <funcdef>int <function>sd_journal_get_cursor</function></funcdef>
+ <paramdef>sd_journal* <parameter>j</parameter></paramdef>
+ <paramdef>char ** <parameter>cursor</parameter></paramdef>
+ </funcprototype>
+
+ </funcsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para><function>sd_journal_get_cursor()</function>
+ returns a cursor string for the current journal
+ entry. A cursor is a serialization of the current
+ journal position in text form. The string only
+ contains printable characters and can be passed around
+ in text form. The cursor identifies a journal entry
+ globally and in a stable way and may be used to later
+ seek to it via
+ <citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The
+ cursor string should be considered opaque and not be
+ parsed by clients. Seeking to a cursor position
+ without the specific entry being available locally
+ will seek to the next closest (in terms of time)
+ available entry. The call takes two arguments: a
+ journal context object and a pointer to a
+ string pointer where the cursor string will be
+ placed. The string is allocated via libc <citerefentry><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry> and should
+ be freed after use with
+ <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
+
+ <para>Note that this function will not work before
+ <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ (or related call) has been called at least
+ once, in order to position the read pointer at a valid entry.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Return Value</title>
+
+ <para><function>sd_journal_get_cursor()</function>
+ returns 0 on success or a negative errno-style error
+ code.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Notes</title>
+
+ <para>The <function>sd_journal_get_cursor()</function>
+ interface is available as shared library, which can be
+ compiled and linked to with the
+ <literal>libsystemd-journal</literal>
+ <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ file.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+</refentry>
diff --git a/man/sd_journal_get_cutoff_realtime_usec.xml b/man/sd_journal_get_cutoff_realtime_usec.xml
index c60e8f43ad..ed014cb509 100644
--- a/man/sd_journal_get_cutoff_realtime_usec.xml
+++ b/man/sd_journal_get_cutoff_realtime_usec.xml
@@ -45,7 +45,7 @@
<refnamediv>
<refname>sd_journal_get_cutoff_realtime_usec</refname>
<refname>sd_journal_get_cutoff_monotonic_usec</refname>
- <refpurpose>Read timestamps from the current journal entry</refpurpose>
+ <refpurpose>Read cut-off timestamps from the current journal entry</refpurpose>
</refnamediv>
<refsynopsisdiv>
diff --git a/man/sd_journal_get_data.xml b/man/sd_journal_get_data.xml
index 6f20c62012..a7754129f0 100644
--- a/man/sd_journal_get_data.xml
+++ b/man/sd_journal_get_data.xml
@@ -127,7 +127,7 @@
<para>Note that these functions will not work before
<citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>
(or related call) has been called at least
- once.</para>
+ once, in order to position the read pointer at a valid entry.</para>
</refsect1>
<refsect1>
diff --git a/man/sd_journal_get_realtime_usec.xml b/man/sd_journal_get_realtime_usec.xml
index a8aa3a4772..515932c6d8 100644
--- a/man/sd_journal_get_realtime_usec.xml
+++ b/man/sd_journal_get_realtime_usec.xml
@@ -99,7 +99,7 @@
<para>Note that these functions will not work before
<citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>
(or related call) has been called at least
- once.</para>
+ once, in order to position the read pointer at a valid entry.</para>
</refsect1>
<refsect1>
diff --git a/man/sd_journal_next.xml b/man/sd_journal_next.xml
index 90fcecb107..95429fa6ff 100644
--- a/man/sd_journal_next.xml
+++ b/man/sd_journal_next.xml
@@ -205,7 +205,9 @@ int main(int argc, char *argv[]) {
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>
</para>
</refsect1>
diff --git a/man/sd_journal_open.xml b/man/sd_journal_open.xml
index 12b80551a2..ff089a88e0 100644
--- a/man/sd_journal_open.xml
+++ b/man/sd_journal_open.xml
@@ -118,6 +118,25 @@
for an example how to iterate through the journal
after opening it it with
<function>sd_journal_open()</function>.</para>
+
+ <para>A journal context object returned by
+ <function>sd_journal_open()</function> references a
+ specific journal entry as <emphasis>current</emphasis> entry,
+ similar to a file seek index in a classic file system
+ file, but without absolute positions. It may be
+ altered with
+ <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ and
+ <citerefentry><refentrytitle>sd_journal_seek_head</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ and related calls. The current entry position may be
+ exported in <emphasis>cursor</emphasis> strings, as accessible
+ via
+ <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Cursor
+ strings may be used to globally identify a specific
+ journal entry in a stable way and then later to seek
+ to it (or if the specific entry is not available
+ locally, to its closest entry in time)
+ <citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
</refsect1>
<refsect1>