]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-journal: document relevant sd_journal_get_cursor() error codes 36964/head
authorLennart Poettering <lennart@poettering.net>
Mon, 24 Mar 2025 10:54:00 +0000 (06:54 -0400)
committerLennart Poettering <lennart@poettering.net>
Wed, 2 Apr 2025 15:29:49 +0000 (17:29 +0200)
man/sd_journal_get_cursor.xml

index 351c898483782583638e99f7a300dc1d09fdc33a..3b4fd8cea9a3e5982968abf8db640efc8d419c9e 100644 (file)
@@ -28,7 +28,7 @@
       <funcprototype>
         <funcdef>int <function>sd_journal_get_cursor</function></funcdef>
         <paramdef>sd_journal *<parameter>j</parameter></paramdef>
-        <paramdef>char **<parameter>cursor</parameter></paramdef>
+        <paramdef>char **<parameter>ret_cursor</parameter></paramdef>
       </funcprototype>
 
       <funcprototype>
   <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 formatted as text.
-    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
+    <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 formatted as text.  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 project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>
-    and should be freed after use with
-    <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
+    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
+    project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry> and
+    should be freed after use with <citerefentry
+    project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The
+    <parameter>ret_cursor</parameter> parameter may be passed as <constant>NULL</constant> in which case the
+    cursor string is not generated, however the return value will indicate whether the journal context is
+    currently positioned on an entry, and thus has a cursor associated.</para>
 
     <para><function>sd_journal_test_cursor()</function>
     may be used to check whether the current position in
     the current entry matches the specified cursor, 0 if it does not
     match the specified cursor or a negative errno-style error code on
     failure.</para>
+
+    <refsect2>
+      <title>Errors</title>
+
+      <para>Returned errors may indicate the following problems:</para>
+
+      <variablelist>
+        <varlistentry>
+          <term><constant>-EADDRNOTAVAIL</constant></term>
+
+          <listitem><para>The journal context is currently not positioned on any entry, and hence no cursor
+          string can be generated.</para></listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><constant>-EINVAL</constant></term>
+
+          <listitem><para>The journal context parameter is <constant>NULL</constant>.</para></listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><constant>-ECHILD</constant></term>
+
+          <listitem><para>The journal context object has been allocated in a different process than it is
+          being used in now.</para></listitem>
+        </varlistentry>
+      </variablelist>
+    </refsect2>
   </refsect1>
 
   <refsect1>