chiark / gitweb /
man: add note that sd_journal_open_files is racy
[elogind.git] / man / sd_journal_open.xml
index ff089a88e03de792d44483f8fc389609b1853f24..182840e1df67fc403489139e400c0923b135c3c3 100644 (file)
         <refnamediv>
                 <refname>sd_journal_open</refname>
                 <refname>sd_journal_open_directory</refname>
         <refnamediv>
                 <refname>sd_journal_open</refname>
                 <refname>sd_journal_open_directory</refname>
+                <refname>sd_journal_open_files</refname>
                 <refname>sd_journal_close</refname>
                 <refname>sd_journal_close</refname>
+                <refname>sd_journal</refname>
+                <refname>SD_JOURNAL_LOCAL_ONLY</refname>
+                <refname>SD_JOURNAL_RUNTIME_ONLY</refname>
+                <refname>SD_JOURNAL_SYSTEM</refname>
+                <refname>SD_JOURNAL_CURRENT_USER</refname>
                 <refpurpose>Open the system journal for reading</refpurpose>
         </refnamediv>
 
                 <refpurpose>Open the system journal for reading</refpurpose>
         </refnamediv>
 
                         </funcprototype>
 
                         <funcprototype>
                         </funcprototype>
 
                         <funcprototype>
-                                <funcdef>int <function>sd_journal_close</function></funcdef>
+                                <funcdef>int <function>sd_journal_open_files</function></funcdef>
+                                <paramdef>sd_journal** <parameter>ret</parameter></paramdef>
+                                <paramdef>const char** <parameter>paths</parameter></paramdef>
+                                <paramdef>int <parameter>flags</parameter></paramdef>
+                        </funcprototype>
+
+                        <funcprototype>
+                                <funcdef>void <function>sd_journal_close</function></funcdef>
                                 <paramdef>sd_journal* <parameter>j</parameter></paramdef>
                         </funcprototype>
                 </funcsynopsis>
                                 <paramdef>sd_journal* <parameter>j</parameter></paramdef>
                         </funcprototype>
                 </funcsynopsis>
         <refsect1>
                 <title>Description</title>
 
         <refsect1>
                 <title>Description</title>
 
-                <para><function>sd_journal_open()</function> opens the
+                <para><function>sd_journal_open()</function> opens
                 the log journal for reading. It will find all journal
                 files automatically and interleave them automatically
                 when reading. As first argument it takes a pointer to
                 a <literal>sd_journal</literal> pointer, which on
                 the log journal for reading. It will find all journal
                 files automatically and interleave them automatically
                 when reading. As first argument it takes a pointer to
                 a <literal>sd_journal</literal> pointer, which on
-                success will contain journal context afterwards. The
+                success will contain journal context object afterwards. The
                 second argument is a flags field, which may consist of
                 the following flags ORed together:
                 <literal>SD_JOURNAL_LOCAL_ONLY</literal> makes sure
                 only journal files generated on the local machine will
                 be opened. <literal>SD_JOURNAL_RUNTIME_ONLY</literal>
                 makes sure only volatile journal files will be opened,
                 second argument is a flags field, which may consist of
                 the following flags ORed together:
                 <literal>SD_JOURNAL_LOCAL_ONLY</literal> makes sure
                 only journal files generated on the local machine will
                 be opened. <literal>SD_JOURNAL_RUNTIME_ONLY</literal>
                 makes sure only volatile journal files will be opened,
-                excluding those which are stored on persistant
-                storage. <literal>SD_JOURNAL_SYSTEM_ONLY</literal>
-                will ensure that only journal files of system services
-                and the kernel (in opposition to user session processes) will
-                be opened.</para>
+                excluding those which are stored on persistent
+                storage. <literal>SD_JOURNAL_SYSTEM</literal>
+                will cause journal files of system services and the
+                kernel (in opposition to user session processes) to
+                be opened. <literal>SD_JOURNAL_CURRENT_USER</literal>
+                will cause journal files of the current user to be
+                opened. If neither <literal>SD_JOURNAL_SYSTEM</literal>
+                nor <literal>SD_JOURNAL_CURRENT_USER</literal> are
+                specified, all journal file types will be opened.</para>
 
                 <para><function>sd_journal_open_directory()</function>
                 is similar to <function>sd_journal_open()</function>
 
                 <para><function>sd_journal_open_directory()</function>
                 is similar to <function>sd_journal_open()</function>
                 flags argument, but it must be passed as 0 as no flags
                 are currently understood for this call.</para>
 
                 flags argument, but it must be passed as 0 as no flags
                 are currently understood for this call.</para>
 
+                <para><function>sd_journal_open_files()</function>
+                is similar to <function>sd_journal_open()</function>
+                but takes a <literal>NULL</literal>-terminated list
+                of file paths to open. All files will be opened and
+                interleaved automatically. This call also takes a
+                flags argument, but it must be passed as 0 as no flags
+                are currently understood for this call. Please note
+                that in case of a live journal, this function is only
+                useful for debugging, because individual journal files
+                can be rotated at any moment, and the opening of
+                specific files in inherently racy.</para>
+
                 <para><function>sd_journal_close()</function> will
                 close the journal context allocated with
                 <function>sd_journal_open()</function> or
                 <para><function>sd_journal_close()</function> will
                 close the journal context allocated with
                 <function>sd_journal_open()</function> or
                 <para>See
                 <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 for an example how to iterate through the journal
                 <para>See
                 <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 for an example how to iterate through the journal
-                after opening it it with
+                after opening it with
                 <function>sd_journal_open()</function>.</para>
 
                 <para>A journal context object returned by
                 <function>sd_journal_open()</function>.</para>
 
                 <para>A journal context object returned by
                 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>
                 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>
+
+                <para>Notification of journal changes is available via
+                <function>sd_journal_get_fd()</function> and related
+                calls.</para>
         </refsect1>
 
         <refsect1>
         </refsect1>
 
         <refsect1>
                 file.</para>
         </refsect1>
 
                 file.</para>
         </refsect1>
 
+        <refsect1>
+                <title>History</title>
+
+                <para><function>sd_journal_open()</function>,
+                <function>sd_journal_close()</function>,
+                <literal>SD_JOURNAL_LOCAL_ONLY</literal>,
+                <literal>SD_JOURNAL_RUNTIME_ONLY</literal>,
+                <literal>SD_JOURNAL_SYSTEM_ONLY</literal> were added
+                in systemd-38.</para>
+
+                <para><function>sd_journal_open_directory()</function>
+                was added in systemd-187.</para>
+
+                <para><literal>SD_JOURNAL_SYSTEM</literal>,
+                <literal>SD_JOURNAL_CURRENT_USER</literal>,
+                and <function>sd_journal_open_files()</function>
+                were added in systemd-205.
+                <literal>SD_JOURNAL_SYSTEM_ONLY</literal>
+                was deprecated.</para>
+        </refsect1>
+
         <refsect1>
                 <title>See Also</title>
 
         <refsect1>
                 <title>See Also</title>