1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
<refentry id="pcapnav-pcapnav-debug">
<refmeta>
<refentrytitle>pcapnav_debug</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>PCAPNAV Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>pcapnav_debug</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="pcapnav-debug-enter">pcapnav_debug_enter</link> (const <link linkend="char">char</link> *function);
<link linkend="void">void</link> <link linkend="pcapnav-debug-return">pcapnav_debug_return</link> (const <link linkend="char">char</link> *function);
<link linkend="int">int</link> <link linkend="pcapnav-debuggable">pcapnav_debuggable</link> (void);
#define <link linkend="D-CAPS">D</link> (x)
#define <link linkend="D-ASSERT-CAPS">D_ASSERT</link> (exp, msg)
#define <link linkend="D-ASSERT-PTR-CAPS">D_ASSERT_PTR</link> (ptr)
#define <link linkend="D-ENTER-CAPS">D_ENTER</link>
#define <link linkend="D-RETURN-CAPS">D_RETURN</link>
#define <link linkend="D-RETURN--CAPS">D_RETURN_</link> (x)
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="pcapnav-debug-enter">pcapnav_debug_enter ()</title>
<indexterm><primary>pcapnav_debug_enter</primary></indexterm><programlisting><link linkend="void">void</link> pcapnav_debug_enter (const <link linkend="char">char</link> *function);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>function</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="pcapnav-debug-return">pcapnav_debug_return ()</title>
<indexterm><primary>pcapnav_debug_return</primary></indexterm><programlisting><link linkend="void">void</link> pcapnav_debug_return (const <link linkend="char">char</link> *function);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>function</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="pcapnav-debuggable">pcapnav_debuggable ()</title>
<indexterm><primary>pcapnav_debuggable</primary></indexterm><programlisting><link linkend="int">int</link> pcapnav_debuggable (void);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="D-CAPS">D()</title>
<indexterm><primary>D</primary></indexterm><programlisting>#define D(x)</programlisting>
<para>
Use this macro to output debugging information. <parameter>x</parameter> is
the content as you would pass it to <link linkend="printf"><function>printf()</function></link>, including
braces to make the arguments appear as one argument to
the macro. The macro is automatically deleted if -DPCAPNAV_DEBUG
is not passed at build time.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter> :</term>
<listitem><simpara> debugging information.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="D-ASSERT-CAPS">D_ASSERT()</title>
<indexterm><primary>D_ASSERT</primary></indexterm><programlisting>#define D_ASSERT(exp, msg)</programlisting>
<para>
The macro outputs <parameter>msg</parameter> if the expression <parameter>exp</parameter> evaluates
to <literal>FALSE</literal>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>exp</parameter> :</term>
<listitem><simpara> expression to evaluate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>msg</parameter> :</term>
<listitem><simpara> message to output if <parameter>exp</parameter> fails.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="D-ASSERT-PTR-CAPS">D_ASSERT_PTR()</title>
<indexterm><primary>D_ASSERT_PTR</primary></indexterm><programlisting>#define D_ASSERT_PTR(ptr)</programlisting>
<para>
The macro asserts the existence (i.e. non-NULL-ness) of
the given pointer, and outpus a message if it is <literal>NULL</literal>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>ptr</parameter> :</term>
<listitem><simpara> pointer to check.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="D-ENTER-CAPS">D_ENTER</title>
<indexterm><primary>D_ENTER</primary></indexterm><programlisting>#define D_ENTER</programlisting>
<para>
The macro updates internal debugging state when entering
the function where this macro is used. Use it at the beginning
of a function, but don't forget to properly match up <literal>D_ENTER</literal>
with <literal>D_RETURN</literal>! The macro outpus the name of the entered function
indented by the current nesting level.</para>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="D-RETURN-CAPS">D_RETURN</title>
<indexterm><primary>D_RETURN</primary></indexterm><programlisting>#define D_RETURN</programlisting>
<para>
The macro updates internal debugging state when leaving
the function where this macro is used. Use this macro
wherever the function can be left, and don't forget D_ENTER.</para>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="D-RETURN--CAPS">D_RETURN_()</title>
<indexterm><primary>D_RETURN_</primary></indexterm><programlisting>#define D_RETURN_(x)</programlisting>
<para>
Same as <literal>D_RETURN</literal>, but for return with an argument.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter> :</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>
|