chiark / gitweb /
dbus: use _cleanup_free_ instead of freeing ourself
[elogind.git] / man / sd_journal_add_match.xml
index 04b33883cba7b4bb780bea7843f0ceac14c83134..d02285f2059ed166b4bc2366c9e4f32f3e364ded 100644 (file)
@@ -45,6 +45,7 @@
         <refnamediv>
                 <refname>sd_journal_add_match</refname>
                 <refname>sd_journal_add_disjunction</refname>
+                <refname>sd_journal_add_conjunction</refname>
                 <refname>sd_journal_flush_matches</refname>
                 <refpurpose>Add or remove entry matches</refpurpose>
         </refnamediv>
                                 <paramdef>sd_journal* <parameter>j</parameter></paramdef>
                         </funcprototype>
 
+                        <funcprototype>
+                                <funcdef>int <function>sd_journal_add_conjunction</function></funcdef>
+                                <paramdef>sd_journal* <parameter>j</parameter></paramdef>
+                        </funcprototype>
+
                         <funcprototype>
                                 <funcdef>void <function>sd_journal_flush_matches</function></funcdef>
                                 <paramdef>sd_journal* <parameter>j</parameter></paramdef>
                 <para><function>sd_journal_add_disjunction()</function>
                 may be used to insert a disjunction (i.e. logical OR)
                 in the match list. If this call is invoked all
-                previously added matches are combined in an OR with
-                all matches added afterwards, until
-                <function>sd_journal_add_disjunction()</function> is
-                invoked again to begin the next OR term. The
+                previously added matches since the last invocation of
+                <function>sd_journal_add_disjunction()</function> or
+                <function>sd_journal_add_conjunction()</function> are
+                combined in an OR with all matches added afterwards,
+                until
+                <function>sd_journal_add_disjunction()</function> or
+                <function>sd_journal_add_conjunction()</function> is
+                invoked again to begin the next OR or AND
+                term. </para>
+
+                <para><function>sd_journal_add_conjunction()</function>
+                may be used to insert a conjunction (i.e. logical AND)
+                in the match list. If this call is invoked all
+                previously added matches since the last invocation of
+                <function>sd_journal_add_conjunction()</function> are
+                combined in an AND with all matches added afterwards,
+                until
+                <function>sd_journal_add_conjunction()</function> is
+                invoked again to begin the next AND term. The
                 combination of
-                <function>sd_journal_add_match()</function> and
-                <function>sd_journal_add_disjunction()</function> may
+                <function>sd_journal_add_match()</function>,
+                <function>sd_journal_add_disjunction()</function> and
+                <function>sd_journal_add_conjunction()</function> may
                 be used to build complex search terms, even though
-                full logical expressions are not available.</para>
+                full logical expressions are not available. Note that
+                <function>sd_journal_add_conjunction()</function>
+                operates one level 'higher' than
+                <function>sd_journal_add_disjunction()</function>. It
+                is hence possible to build an expression of AND terms,
+                consisting of OR terms, consisting of AND terms,
+                consisting of OR terms of matches (the latter OR
+                expression is implicitly created for matches with the
+                same field name, see above).</para>
 
                 <para><function>sd_journal_flush_matches()</function>
-                may be used to flush all matches and disjunction terms
-                again. After this call all filtering is removed and
-                all entries in the journal will be iterated
-                again.</para>
+                may be used to flush all matches, disjunction and
+                conjunction terms again. After this call all filtering
+                is removed and all entries in the journal will be
+                iterated again.</para>
 
                 <para>Note that filtering via matches only applies to
                 the way the journal is read, it has no effect on storage
         <refsect1>
                 <title>Return Value</title>
 
-                <para><function>sd_journal_add_match()</function> and
-                <function>sd_journal_add_disjunction()</function>
+                <para><function>sd_journal_add_match()</function>,
+                <function>sd_journal_add_disjunction()</function> and
+                <function>sd_journal_add_conjunction()</function>
                 return 0 on success or a negative errno-style error
                 code. <function>sd_journal_flush_matches()</function>
                 returns nothing.</para>
                 <title>Notes</title>
 
                 <para>The <function>sd_journal_add_match()</function>,
-                <function>sd_journal_add_disjunction()</function> and
-                <function>sd_journal_flush_matches()</function> interfaces are
-                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>
+                <function>sd_journal_add_disjunction()</function>,
+                <function>sd_journal_add_conjunction()</function> and
+                <function>sd_journal_flush_matches()</function>
+                interfaces are available as shared library, which can
+                be compiled and linked to with the
+                <constant>libsystemd-journal</constant> <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                 file.</para>
         </refsect1>