<refentry id="camel-camel-debug">
<refmeta>
<refentrytitle role="top_of_page" id="camel-camel-debug.top_of_page">camel-debug</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAMEL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>camel-debug</refname>
<refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv id="camel-camel-debug.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
#define             <link linkend="CAMEL-DEBUG-IMAP--CAPS">CAMEL_DEBUG_IMAP</link>
#define             <link linkend="CAMEL-DEBUG-IMAP-FOLDER--CAPS">CAMEL_DEBUG_IMAP_FOLDER</link>
<link linkend="void">void</link>                <link linkend="camel-debug-init">camel_debug_init</link>                    (void);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-debug">camel_debug</link>                         (const <link linkend="char">char</link> *mode);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-debug-start">camel_debug_start</link>                   (const <link linkend="char">char</link> *mode);
<link linkend="void">void</link>                <link linkend="camel-debug-end">camel_debug_end</link>                     (void);
extern              int <link linkend="camel-verbose-debug">camel_verbose_debug</link>;
</synopsis>
</refsynopsisdiv>









<refsect1 id="camel-camel-debug.description" role="desc">
<title role="desc.title">Description</title>
<para>
</para>
</refsect1>

<refsect1 id="camel-camel-debug.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="CAMEL-DEBUG-IMAP--CAPS" role="macro">
<title>CAMEL_DEBUG_IMAP</title>
<indexterm zone="CAMEL-DEBUG-IMAP--CAPS"><primary sortas="CAMEL_DEBUG_IMAP">CAMEL_DEBUG_IMAP</primary></indexterm><programlisting>#define CAMEL_DEBUG_IMAP "imap"
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-DEBUG-IMAP-FOLDER--CAPS" role="macro">
<title>CAMEL_DEBUG_IMAP_FOLDER</title>
<indexterm zone="CAMEL-DEBUG-IMAP-FOLDER--CAPS"><primary sortas="CAMEL_DEBUG_IMAP_FOLDER">CAMEL_DEBUG_IMAP_FOLDER</primary></indexterm><programlisting>#define CAMEL_DEBUG_IMAP_FOLDER "imap:folder"
</programlisting>
<para>
</para></refsect2>
<refsect2 id="camel-debug-init" role="function">
<title>camel_debug_init ()</title>
<indexterm zone="camel-debug-init"><primary sortas="camel_debug_init">camel_debug_init</primary></indexterm><programlisting><link linkend="void">void</link>                camel_debug_init                    (void);</programlisting>
<para>
Init camel debug.  Maintain legacy CAMEL_VERBOSE_DEBUG as well as the
new CAMEL_DEBUG based environment variable interfaces.
</para>
<para>
CAMEL_VERBOSE_DEBUG is set to a number to turn debug on.
</para>
<para>
CAMEL_DEBUG is set to a comma separated list of modules to debug.
The modules can contain module-specific specifiers after a ':', or
just act as a wildcard for the module or even specifier.  e.g. 'imap'
for imap debug, or 'imap:folder' for imap folder debug.  Additionaly,
':folder' can be used for a wildcard for any folder operations.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>void</parameter>&#160;:</term>
<listitem><simpara> 
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-debug" role="function">
<title>camel_debug ()</title>
<indexterm zone="camel-debug"><primary sortas="camel_debug">camel_debug</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_debug                         (const <link linkend="char">char</link> *mode);</programlisting>
<para>
Check to see if a debug mode is activated.  <parameter>mode</parameter> takes one of two forms,
a fully qualified 'module:target', or a wildcard 'module' name.  It
returns a boolean to indicate if the module or module and target is
currently activated for debug output.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>mode</parameter>&#160;:</term>
<listitem><simpara> 
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-debug-start" role="function">
<title>camel_debug_start ()</title>
<indexterm zone="camel-debug-start"><primary sortas="camel_debug_start">camel_debug_start</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_debug_start                   (const <link linkend="char">char</link> *mode);</programlisting>
<para>
Start debug output for a given mode, used to make sure debug output
is output atomically and not interspersed with unrelated stuff.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>mode</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> Returns true if mode is set, and in which case, you must
call debug_end when finished any screen output.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-debug-end" role="function">
<title>camel_debug_end ()</title>
<indexterm zone="camel-debug-end"><primary sortas="camel_debug_end">camel_debug_end</primary></indexterm><programlisting><link linkend="void">void</link>                camel_debug_end                     (void);</programlisting>
<para>
Call this when you're done with your debug output.  If and only if
you called camel_debug_start, and if it returns TRUE.</para>
<para>
</para></refsect2>
<refsect2 id="camel-verbose-debug" role="variable" condition="deprecated:">
<title>camel_verbose_debug</title>
<indexterm zone="camel-verbose-debug" role="deprecated"><primary sortas="camel_verbose_debug">camel_verbose_debug</primary></indexterm><programlisting>extern int camel_verbose_debug;
</programlisting>
<warning><para><literal>camel_verbose_debug</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
</para></refsect2>

</refsect1>




</refentry>
