ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libspf/docs/API/doxygen/html/util_8h.html
Revision: 1.1
Committed: Tue Nov 13 00:51:32 2007 UTC (18 years, 10 months ago) by root
Content type: text/html
Branch: MAIN
CVS Tags: HEAD
Log Message:
initial import of libspf-1.0.0-p5 from freebsd ports

File Contents

# User Rev Content
1 root 1.1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2     <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3     <title>libSPF v1.0: util.h File Reference</title>
4     <link href="doxygen.css" rel="stylesheet" type="text/css">
5     </head><body>
6     <!-- Generated by Doxygen 1.3.8 -->
7     <div class="qindex"> <form class="search" action="search.php" method="get">
8     <a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
9     <h1>util.h File Reference</h1><code>#include "../../config.h"</code><br>
10     <code>#include &lt;stdio.h&gt;</code><br>
11     <code>#include &lt;stdlib.h&gt;</code><br>
12     <code>#include &lt;stdarg.h&gt;</code><br>
13     <code>#include &lt;string.h&gt;</code><br>
14     <code>#include &lt;strings.h&gt;</code><br>
15     <code>#include &lt;unistd.h&gt;</code><br>
16     <code>#include &lt;sys/socket.h&gt;</code><br>
17     <code>#include &lt;netinet/in.h&gt;</code><br>
18     <code>#include &lt;time.h&gt;</code><br>
19     <code>#include &lt;ctype.h&gt;</code><br>
20     <code>#include &lt;stdint.h&gt;</code><br>
21     <code>#include "<a class="el" href="main_8h-source.html">main.h</a>"</code><br>
22    
23     <p>
24     Include dependency graph for util.h:<p><center><img src="util_8h__incl.png" border="0" usemap="#util.h_map" alt="Include dependency graph"></center>
25     <map name="util.h_map">
26     <area href="main_8h.html" shape="rect" coords="211,155,261,174" alt="">
27     <area href="spf_8h.html" shape="rect" coords="257,86,295,105" alt="">
28     </map>
29    
30     <p>
31     This graph shows which files directly or indirectly include this file:<p><center><img src="util_8h__dep__incl.png" border="0" usemap="#util.hdep_map" alt="Included by dependency graph"></center>
32     <map name="util.hdep_map">
33     <area href="dns_8c.html" shape="rect" coords="7,17,49,36" alt="">
34     <area href="macro_8c.html" shape="rect" coords="73,17,132,36" alt="">
35     <area href="main_8c.html" shape="rect" coords="156,17,207,36" alt="">
36     <area href="util_8c.html" shape="rect" coords="231,17,268,36" alt="">
37     </map>
38    
39     <p>
40     <a href="util_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
41     <tr><td></td></tr>
42     <tr><td colspan=2><br><h2>Defines</h2></td></tr>
43     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a0">_UTIL_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
44    
45     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a1">SPF_MAX_DATETIME</a>&nbsp;&nbsp;&nbsp;26</td></tr>
46    
47     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a2">SPF_MAX_GHBNR_DBUF</a>&nbsp;&nbsp;&nbsp;2048</td></tr>
48    
49     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a3">SIZEOF</a>(object)&nbsp;&nbsp;&nbsp;((size_t) sizeof(object))</td></tr>
50    
51     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a4">xmalloc</a>(n)&nbsp;&nbsp;&nbsp;UTIL_malloc(n, __FILE__, __LINE__, __FUNCTION__)</td></tr>
52    
53     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a5">xrealloc</a>(m, n)&nbsp;&nbsp;&nbsp;UTIL_realloc(m, n, __FILE__, __LINE__, __FUNCTION__)</td></tr>
54    
55     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a6">xfree</a>(m)&nbsp;&nbsp;&nbsp;UTIL_free(m, __FILE__, __LINE__, __FUNCTION__)</td></tr>
56    
57     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a7">xstrdup</a>(m)&nbsp;&nbsp;&nbsp;UTIL_strdup(m)</td></tr>
58    
59     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a8">xstrndup</a>(m, n)&nbsp;&nbsp;&nbsp;UTIL_strndup(m, n)</td></tr>
60    
61     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a9">xprintf</a>(format,)&nbsp;&nbsp;&nbsp;dbg_printf(FL_A, __FUNCTION__, __FILE__, __LINE__, format, __VA_ARGS__)</td></tr>
62    
63     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a10">xvprintf</a>(format,)&nbsp;&nbsp;&nbsp;dbg_printf(FL_B, __FUNCTION__, __FILE__, __LINE__, format, __VA_ARGS__)</td></tr>
64    
65     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a11">xpprintf</a>(s)&nbsp;&nbsp;&nbsp;dbg_pprintf(FL_D, __FUNCTION__, __FILE__, __LINE__, s)</td></tr>
66    
67     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a12">xeprintf</a>(format,)&nbsp;&nbsp;&nbsp;dbg_printf(FL_E, __FUNCTION__, __FILE__, __LINE__, format, __VA_ARGS__)</td></tr>
68    
69     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a13">xepprintf</a>(s)&nbsp;&nbsp;&nbsp;dbg_pprintf(FL_F, __FUNCTION__, __FILE__, __LINE__, s)</td></tr>
70    
71     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a14">xpthread_mutex_lock</a>(m)&nbsp;&nbsp;&nbsp;_UTIL_pthread_mutex(m, SPF_TRUE)</td></tr>
72    
73     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a15">xpthread_mutex_unlock</a>(m)&nbsp;&nbsp;&nbsp;_UTIL_pthread_mutex(m, SPF_FALSE)</td></tr>
74    
75     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a16">f_bit_set</a>(fl_bit_vector, bit)&nbsp;&nbsp;&nbsp;((int)((fl_bit_vector)&amp;(bit)))</td></tr>
76    
77     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a17">urlchr_test</a>(c)&nbsp;&nbsp;&nbsp;(<a class="el" href="util_8h.html#a22">urlchr_table</a>[(unsigned char)(c)] &amp; 1)</td></tr>
78    
79     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a18">DEBUG_LOG_FILE</a>&nbsp;&nbsp;&nbsp;"/var/log/spf.log"</td></tr>
80    
81     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a19">OUTPUT_LOG_FILE</a>&nbsp;&nbsp;&nbsp;"/var/log/spflog.txt"</td></tr>
82    
83     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a20">dbg_printf</a>&nbsp;&nbsp;&nbsp;_dummy_debug</td></tr>
84    
85     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a21">dbg_pprintf</a>&nbsp;&nbsp;&nbsp;_dummy_pdebug</td></tr>
86    
87     <tr><td colspan=2><br><h2>Functions</h2></td></tr>
88     <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a24">_printf_dbg</a> (const u_int8_t, const char *, const char *, const size_t, const char *,...)</td></tr>
89    
90     <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a25">_pprintf_dbg</a> (const u_int8_t, const char *, const char *, const size_t, const char *)</td></tr>
91    
92     <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a26">_dummy_debug</a> (const u_int8_t, const char *, const char *, const size_t, const char *,...)</td></tr>
93    
94     <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a27">_dummy_pdebug</a> (const u_int8_t, const char *, const char *, const size_t, const char *)</td></tr>
95    
96     <tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a28">UTIL_malloc</a> (const int32_t, const char *, const int32_t, const char *)</td></tr>
97    
98     <tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a29">UTIL_realloc</a> (void *, const int32_t, const char *, const int32_t, const char *)</td></tr>
99    
100     <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a30">UTIL_free</a> (void *, const char *, const int32_t, const char *)</td></tr>
101    
102     <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a31">UTIL_log_result</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *)</td></tr>
103    
104     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a32">UTIL_get_date</a> (void)</td></tr>
105    
106     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a33">UTIL_strndup</a> (const char *, const size_t)</td></tr>
107    
108     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a34">UTIL_strdup</a> (const char *)</td></tr>
109    
110     <tr><td class="memItemLeft" nowrap align=right valign=top>int16_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a35">UTIL_index</a> (const char *, const char)</td></tr>
111    
112     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a36">UTIL_split_str</a> (const char *, const char, const u_int8_t)</td></tr>
113    
114     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a37">UTIL_split_strr</a> (const char *, const char, const u_int8_t)</td></tr>
115    
116     <tr><td class="memItemLeft" nowrap align=right valign=top>u_int8_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a38">UTIL_count_delim</a> (const char *, const char)</td></tr>
117    
118     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a39">UTIL_is_spf_delim</a> (const char)</td></tr>
119    
120     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a40">UTIL_is_spf_result</a> (const char)</td></tr>
121    
122     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a41">UTIL_is_macro</a> (const char *)</td></tr>
123    
124     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a42">UTIL_mx_cmp</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *, const char *, const int8_t)</td></tr>
125    
126     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a43">UTIL_a_cmp</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *, const char *, const int8_t)</td></tr>
127    
128     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a44">UTIL_ptr_cmp</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *, const char *)</td></tr>
129    
130     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a38">SPF_MECHANISM</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a45">UTIL_get_policy_mech</a> (const char *)</td></tr>
131    
132     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a36">SPF_RESULT</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a46">UTIL_get_mech_prefix</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *, const char *)</td></tr>
133    
134     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a47">UTIL_assoc_prefix</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *, <a class="el" href="spf_8h.html#a36">SPF_RESULT</a>, const char *)</td></tr>
135    
136     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structpolicy__addr__s.html">policy_addr_t</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a48">UTIL_expand_ip</a> (const char *)</td></tr>
137    
138     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a49">UTIL_is_ip</a> (const char *)</td></tr>
139    
140     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a50">UTIL_rev_addr</a> (const char *)</td></tr>
141    
142     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a51">UTIL_get_dname</a> (const char *)</td></tr>
143    
144     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a52">UTIL_cidr_cmp</a> (const <a class="el" href="structpolicy__addr__s.html">policy_addr_t</a> *, const struct in_addr *)</td></tr>
145    
146     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a53">UTIL_validate_ptr</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *)</td></tr>
147    
148     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a54">UTIL_validate_hostname</a> (<a class="el" href="structpeer__info__s.html">peer_info_t</a> *, const char *, const int8_t)</td></tr>
149    
150     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a55">UTIL_url_encode</a> (const char *)</td></tr>
151    
152     <tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a56">UTIL_reverse</a> (const char *, const char)</td></tr>
153    
154     <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a57">UTIL_addnode</a> (<a class="el" href="structsplit__str__s.html">split_str_t</a> *, const char *, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>)</td></tr>
155    
156     <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a58">_UTIL_pthread_mutex</a> (void *, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>)</td></tr>
157    
158     <tr><td colspan=2><br><h2>Variables</h2></td></tr>
159     <tr><td class="memItemLeft" nowrap align=right valign=top>const u_char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a22">urlchr_table</a> [256]</td></tr>
160    
161     <tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="util_8h.html#a23">util_mutex</a></td></tr>
162    
163     </table>
164     <hr><h2>Define Documentation</h2>
165     <a class="anchor" name="a0" doxytag="util.h::_UTIL_H" ></a><p>
166     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
167     <tr>
168     <td class="mdRow">
169     <table cellpadding="0" cellspacing="0" border="0">
170     <tr>
171     <td class="md" nowrap valign="top"> #define _UTIL_H&nbsp;&nbsp;&nbsp;1 </td>
172     </tr>
173     </table>
174     </td>
175     </tr>
176     </table>
177     <table cellspacing=5 cellpadding=0 border=0>
178     <tr>
179     <td>
180     &nbsp;
181     </td>
182     <td>
183    
184     <p>
185     Definition at line <a class="el" href="util_8h-source.html#l00047">47</a> of file <a class="el" href="util_8h-source.html">util.h</a>. </td>
186     </tr>
187     </table>
188     <a class="anchor" name="a21" doxytag="util.h::dbg_pprintf" ></a><p>
189     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
190     <tr>
191     <td class="mdRow">
192     <table cellpadding="0" cellspacing="0" border="0">
193     <tr>
194     <td class="md" nowrap valign="top"> #define dbg_pprintf&nbsp;&nbsp;&nbsp;_dummy_pdebug </td>
195     </tr>
196     </table>
197     </td>
198     </tr>
199     </table>
200     <table cellspacing=5 cellpadding=0 border=0>
201     <tr>
202     <td>
203     &nbsp;
204     </td>
205     <td>
206    
207     <p>
208     Definition at line <a class="el" href="util_8h-source.html#l00222">222</a> of file <a class="el" href="util_8h-source.html">util.h</a>. </td>
209     </tr>
210     </table>
211     <a class="anchor" name="a20" doxytag="util.h::dbg_printf" ></a><p>
212     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
213     <tr>
214     <td class="mdRow">
215     <table cellpadding="0" cellspacing="0" border="0">
216     <tr>
217     <td class="md" nowrap valign="top"> #define dbg_printf&nbsp;&nbsp;&nbsp;_dummy_debug </td>
218     </tr>
219     </table>
220     </td>
221     </tr>
222     </table>
223     <table cellspacing=5 cellpadding=0 border=0>
224     <tr>
225     <td>
226     &nbsp;
227     </td>
228     <td>
229    
230     <p>
231     Definition at line <a class="el" href="util_8h-source.html#l00221">221</a> of file <a class="el" href="util_8h-source.html">util.h</a>. </td>
232     </tr>
233     </table>
234     <a class="anchor" name="a18" doxytag="util.h::DEBUG_LOG_FILE" ></a><p>
235     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
236     <tr>
237     <td class="mdRow">
238     <table cellpadding="0" cellspacing="0" border="0">
239     <tr>
240     <td class="md" nowrap valign="top"> #define DEBUG_LOG_FILE&nbsp;&nbsp;&nbsp;"/var/log/spf.log" </td>
241     </tr>
242     </table>
243     </td>
244     </tr>
245     </table>
246     <table cellspacing=5 cellpadding=0 border=0>
247     <tr>
248     <td>
249     &nbsp;
250     </td>
251     <td>
252    
253     <p>
254     Definition at line <a class="el" href="util_8h-source.html#l00210">210</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
255     <p>
256     Referenced by <a class="el" href="util_8c-source.html#l00154">_printf_dbg()</a>. </td>
257     </tr>
258     </table>
259     <a class="anchor" name="a16" doxytag="util.h::f_bit_set" ></a><p>
260     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
261     <tr>
262     <td class="mdRow">
263     <table cellpadding="0" cellspacing="0" border="0">
264     <tr>
265     <td class="md" nowrap valign="top"> #define f_bit_set </td>
266     <td class="md" valign="top">(&nbsp;</td>
267     <td class="md" nowrap valign="top">fl_bit_vector, <tr>
268     <td class="md" nowrap align="right"></td>
269     <td></td>
270     <td class="md" nowrap>bit&nbsp;</td>
271     <td class="mdname1" valign="top" nowrap> </td>
272     <td class="md" valign="top">&nbsp;)&nbsp;</td>
273     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((int)((fl_bit_vector)&amp;(bit)))</td>
274     </tr>
275     </table>
276     </td>
277     </tr>
278     </table>
279     <table cellspacing=5 cellpadding=0 border=0>
280     <tr>
281     <td>
282     &nbsp;
283     </td>
284     <td>
285    
286     <p>
287     Definition at line <a class="el" href="util_8h-source.html#l00168">168</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
288     <p>
289     Referenced by <a class="el" href="util_8c-source.html#l00097">_pprintf_dbg()</a>, and <a class="el" href="util_8c-source.html#l00154">_printf_dbg()</a>. </td>
290     </tr>
291     </table>
292     <a class="anchor" name="a19" doxytag="util.h::OUTPUT_LOG_FILE" ></a><p>
293     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
294     <tr>
295     <td class="mdRow">
296     <table cellpadding="0" cellspacing="0" border="0">
297     <tr>
298     <td class="md" nowrap valign="top"> #define OUTPUT_LOG_FILE&nbsp;&nbsp;&nbsp;"/var/log/spflog.txt" </td>
299     </tr>
300     </table>
301     </td>
302     </tr>
303     </table>
304     <table cellspacing=5 cellpadding=0 border=0>
305     <tr>
306     <td>
307     &nbsp;
308     </td>
309     <td>
310    
311     <p>
312     Definition at line <a class="el" href="util_8h-source.html#l00213">213</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
313     <p>
314     Referenced by <a class="el" href="util_8c-source.html#l00326">UTIL_log_result()</a>. </td>
315     </tr>
316     </table>
317     <a class="anchor" name="a3" doxytag="util.h::SIZEOF" ></a><p>
318     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
319     <tr>
320     <td class="mdRow">
321     <table cellpadding="0" cellspacing="0" border="0">
322     <tr>
323     <td class="md" nowrap valign="top"> #define SIZEOF </td>
324     <td class="md" valign="top">(&nbsp;</td>
325     <td class="md" nowrap valign="top">object&nbsp;</td>
326     <td class="mdname1" valign="top" nowrap> </td>
327     <td class="md" valign="top">&nbsp;)&nbsp;</td>
328     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((size_t) sizeof(object))</td>
329     </tr>
330     </table>
331     </td>
332     </tr>
333     </table>
334     <table cellspacing=5 cellpadding=0 border=0>
335     <tr>
336     <td>
337     &nbsp;
338     </td>
339     <td>
340    
341     <p>
342     Definition at line <a class="el" href="util_8h-source.html#l00108">108</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
343     <p>
344     Referenced by <a class="el" href="macro_8c-source.html#l00638">MACRO_addbuf()</a>, <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l02421">UTIL_addnode()</a>, <a class="el" href="util_8c-source.html#l01694">UTIL_expand_ip()</a>, <a class="el" href="util_8c-source.html#l02331">UTIL_reverse()</a>, and <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>. </td>
345     </tr>
346     </table>
347     <a class="anchor" name="a1" doxytag="util.h::SPF_MAX_DATETIME" ></a><p>
348     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
349     <tr>
350     <td class="mdRow">
351     <table cellpadding="0" cellspacing="0" border="0">
352     <tr>
353     <td class="md" nowrap valign="top"> #define SPF_MAX_DATETIME&nbsp;&nbsp;&nbsp;26 </td>
354     </tr>
355     </table>
356     </td>
357     </tr>
358     </table>
359     <table cellspacing=5 cellpadding=0 border=0>
360     <tr>
361     <td>
362     &nbsp;
363     </td>
364     <td>
365    
366     <p>
367     Definition at line <a class="el" href="util_8h-source.html#l00095">95</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
368     <p>
369     Referenced by <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, and <a class="el" href="util_8c-source.html#l00282">UTIL_get_date()</a>. </td>
370     </tr>
371     </table>
372     <a class="anchor" name="a2" doxytag="util.h::SPF_MAX_GHBNR_DBUF" ></a><p>
373     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
374     <tr>
375     <td class="mdRow">
376     <table cellpadding="0" cellspacing="0" border="0">
377     <tr>
378     <td class="md" nowrap valign="top"> #define SPF_MAX_GHBNR_DBUF&nbsp;&nbsp;&nbsp;2048 </td>
379     </tr>
380     </table>
381     </td>
382     </tr>
383     </table>
384     <table cellspacing=5 cellpadding=0 border=0>
385     <tr>
386     <td>
387     &nbsp;
388     </td>
389     <td>
390    
391     <p>
392     Definition at line <a class="el" href="util_8h-source.html#l00098">98</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
393     <p>
394     Referenced by <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, and <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>. </td>
395     </tr>
396     </table>
397     <a class="anchor" name="a17" doxytag="util.h::urlchr_test" ></a><p>
398     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
399     <tr>
400     <td class="mdRow">
401     <table cellpadding="0" cellspacing="0" border="0">
402     <tr>
403     <td class="md" nowrap valign="top"> #define urlchr_test </td>
404     <td class="md" valign="top">(&nbsp;</td>
405     <td class="md" nowrap valign="top">c&nbsp;</td>
406     <td class="mdname1" valign="top" nowrap> </td>
407     <td class="md" valign="top">&nbsp;)&nbsp;</td>
408     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(<a class="el" href="util_8h.html#a22">urlchr_table</a>[(unsigned char)(c)] &amp; 1)</td>
409     </tr>
410     </table>
411     </td>
412     </tr>
413     </table>
414     <table cellspacing=5 cellpadding=0 border=0>
415     <tr>
416     <td>
417     &nbsp;
418     </td>
419     <td>
420    
421     <p>
422     Definition at line <a class="el" href="util_8h-source.html#l00171">171</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
423     <p>
424     Referenced by <a class="el" href="util_8c-source.html#l02272">UTIL_url_encode()</a>. </td>
425     </tr>
426     </table>
427     <a class="anchor" name="a13" doxytag="util.h::xepprintf" ></a><p>
428     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
429     <tr>
430     <td class="mdRow">
431     <table cellpadding="0" cellspacing="0" border="0">
432     <tr>
433     <td class="md" nowrap valign="top"> #define xepprintf </td>
434     <td class="md" valign="top">(&nbsp;</td>
435     <td class="md" nowrap valign="top">s&nbsp;</td>
436     <td class="mdname1" valign="top" nowrap> </td>
437     <td class="md" valign="top">&nbsp;)&nbsp;</td>
438     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;dbg_pprintf(FL_F, __FUNCTION__, __FILE__, __LINE__, s)</td>
439     </tr>
440     </table>
441     </td>
442     </tr>
443     </table>
444     <table cellspacing=5 cellpadding=0 border=0>
445     <tr>
446     <td>
447     &nbsp;
448     </td>
449     <td>
450    
451     <p>
452     Definition at line <a class="el" href="util_8h-source.html#l00154">154</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
453     <p>
454     Referenced by <a class="el" href="main_8c-source.html#l01564">_SPF_clear_holdbufs()</a>, <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, <a class="el" href="dns_8c-source.html#l00866">DNS_cname_answer()</a>, <a class="el" href="dns_8c-source.html#l00716">DNS_ptr_answer()</a>, <a class="el" href="dns_8c-source.html#l00217">DNS_query()</a>, <a class="el" href="dns_8c-source.html#l00419">DNS_txt_answer()</a>, <a class="el" href="macro_8c-source.html#l00638">MACRO_addbuf()</a>, <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>, <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="macro_8c-source.html#l00301">MACRO_process()</a>, <a class="el" href="main_8c-source.html#l00313">SPF_close()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="main_8c-source.html#l00399">SPF_policy_main()</a>, <a class="el" href="main_8c-source.html#l00570">SPF_policy_main_rec()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l02421">UTIL_addnode()</a>, <a class="el" href="util_8c-source.html#l01309">UTIL_assoc_prefix()</a>, <a class="el" href="util_8c-source.html#l01961">UTIL_cidr_cmp()</a>, <a class="el" href="util_8c-source.html#l00751">UTIL_count_delim()</a>, <a class="el" href="util_8c-source.html#l01694">UTIL_expand_ip()</a>, <a class="el" href="util_8c-source.html#l01906">UTIL_get_dname()</a>, <a class="el" href="util_8c-source.html#l01555">UTIL_get_mech_prefix()</a>, <a class="el" href="util_8c-source.html#l01198">UTIL_get_policy_mech()</a>, <a class="el" href="util_8c-source.html#l00564">UTIL_index()</a>, <a class="el" href="util_8c-source.html#l01793">UTIL_is_ip()</a>, <a class="el" href="util_8c-source.html#l00869">UTIL_is_macro()</a>, <a class="el" href="util_8c-source.html#l00790">UTIL_is_spf_delim()</a>, <a class="el" href="util_8c-source.html#l01135">UTIL_ptr_cmp()</a>, <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>, <a class="el" href="util_8c-source.html#l02331">UTIL_reverse()</a>, <a class="el" href="util_8c-source.html#l00615">UTIL_split_str()</a>, <a class="el" href="util_8c-source.html#l00684">UTIL_split_strr()</a>, <a class="el" href="util_8c-source.html#l00412">UTIL_strdup()</a>, <a class="el" href="util_8c-source.html#l00378">UTIL_strndup()</a>, <a class="el" href="util_8c-source.html#l02272">UTIL_url_encode()</a>, <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>, and <a class="el" href="util_8c-source.html#l02038">UTIL_validate_ptr()</a>. </td>
455     </tr>
456     </table>
457     <a class="anchor" name="a12" doxytag="util.h::xeprintf" ></a><p>
458     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
459     <tr>
460     <td class="mdRow">
461     <table cellpadding="0" cellspacing="0" border="0">
462     <tr>
463     <td class="md" nowrap valign="top"> #define xeprintf </td>
464     <td class="md" valign="top">(&nbsp;</td>
465     <td class="md" nowrap valign="top">format&nbsp;</td>
466     <td class="mdname1" valign="top" nowrap> </td>
467     <td class="md" valign="top">&nbsp;)&nbsp;</td>
468     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;dbg_printf(FL_E, __FUNCTION__, __FILE__, __LINE__, format, __VA_ARGS__)</td>
469     </tr>
470     </table>
471     </td>
472     </tr>
473     </table>
474     <table cellspacing=5 cellpadding=0 border=0>
475     <tr>
476     <td>
477     &nbsp;
478     </td>
479     <td>
480    
481     <p>
482     Definition at line <a class="el" href="util_8h-source.html#l00150">150</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
483     <p>
484     Referenced by <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, and <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>. </td>
485     </tr>
486     </table>
487     <a class="anchor" name="a6" doxytag="util.h::xfree" ></a><p>
488     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
489     <tr>
490     <td class="mdRow">
491     <table cellpadding="0" cellspacing="0" border="0">
492     <tr>
493     <td class="md" nowrap valign="top"> #define xfree </td>
494     <td class="md" valign="top">(&nbsp;</td>
495     <td class="md" nowrap valign="top">m&nbsp;</td>
496     <td class="mdname1" valign="top" nowrap> </td>
497     <td class="md" valign="top">&nbsp;)&nbsp;</td>
498     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;UTIL_free(m, __FILE__, __LINE__, __FUNCTION__)</td>
499     </tr>
500     </table>
501     </td>
502     </tr>
503     </table>
504     <table cellspacing=5 cellpadding=0 border=0>
505     <tr>
506     <td>
507     &nbsp;
508     </td>
509     <td>
510    
511     <p>
512     Definition at line <a class="el" href="util_8h-source.html#l00127">127</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
513     <p>
514     Referenced by <a class="el" href="util_8c-source.html#l00097">_pprintf_dbg()</a>, <a class="el" href="main_8c-source.html#l01564">_SPF_clear_holdbufs()</a>, <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, <a class="el" href="dns_8c-source.html#l00419">DNS_txt_answer()</a>, <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>, <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="macro_8c-source.html#l00301">MACRO_process()</a>, <a class="el" href="main_8c-source.html#l00313">SPF_close()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="main_8c-source.html#l00570">SPF_policy_main_rec()</a>, <a class="el" href="main_8c-source.html#l01456">SPF_smtp_from()</a>, <a class="el" href="main_8c-source.html#l01423">SPF_smtp_helo()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l01961">UTIL_cidr_cmp()</a>, <a class="el" href="util_8c-source.html#l01694">UTIL_expand_ip()</a>, <a class="el" href="util_8c-source.html#l00326">UTIL_log_result()</a>, <a class="el" href="util_8c-source.html#l00914">UTIL_mx_cmp()</a>, <a class="el" href="util_8c-source.html#l01135">UTIL_ptr_cmp()</a>, <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>, <a class="el" href="util_8c-source.html#l02331">UTIL_reverse()</a>, <a class="el" href="util_8c-source.html#l00615">UTIL_split_str()</a>, <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>, and <a class="el" href="util_8c-source.html#l02038">UTIL_validate_ptr()</a>. </td>
515     </tr>
516     </table>
517     <a class="anchor" name="a4" doxytag="util.h::xmalloc" ></a><p>
518     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
519     <tr>
520     <td class="mdRow">
521     <table cellpadding="0" cellspacing="0" border="0">
522     <tr>
523     <td class="md" nowrap valign="top"> #define xmalloc </td>
524     <td class="md" valign="top">(&nbsp;</td>
525     <td class="md" nowrap valign="top">n&nbsp;</td>
526     <td class="mdname1" valign="top" nowrap> </td>
527     <td class="md" valign="top">&nbsp;)&nbsp;</td>
528     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;UTIL_malloc(n, __FILE__, __LINE__, __FUNCTION__)</td>
529     </tr>
530     </table>
531     </td>
532     </tr>
533     </table>
534     <table cellspacing=5 cellpadding=0 border=0>
535     <tr>
536     <td>
537     &nbsp;
538     </td>
539     <td>
540    
541     <p>
542     Definition at line <a class="el" href="util_8h-source.html#l00125">125</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
543     <p>
544     Referenced by <a class="el" href="util_8c-source.html#l00097">_pprintf_dbg()</a>, <a class="el" href="util_8c-source.html#l00154">_printf_dbg()</a>, <a class="el" href="dns_8c-source.html#l00866">DNS_cname_answer()</a>, <a class="el" href="dns_8c-source.html#l00611">DNS_mx_answer()</a>, <a class="el" href="dns_8c-source.html#l00419">DNS_txt_answer()</a>, <a class="el" href="macro_8c-source.html#l00638">MACRO_addbuf()</a>, <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>, <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="macro_8c-source.html#l00301">MACRO_process()</a>, <a class="el" href="main_8c-source.html#l01342">SPF_build_header()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="main_8c-source.html#l01249">SPF_result()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l02421">UTIL_addnode()</a>, <a class="el" href="util_8c-source.html#l01694">UTIL_expand_ip()</a>, <a class="el" href="util_8c-source.html#l00282">UTIL_get_date()</a>, <a class="el" href="util_8c-source.html#l00326">UTIL_log_result()</a>, <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>, <a class="el" href="util_8c-source.html#l02331">UTIL_reverse()</a>, <a class="el" href="util_8c-source.html#l00378">UTIL_strndup()</a>, <a class="el" href="util_8c-source.html#l02272">UTIL_url_encode()</a>, and <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>. </td>
545     </tr>
546     </table>
547     <a class="anchor" name="a11" doxytag="util.h::xpprintf" ></a><p>
548     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
549     <tr>
550     <td class="mdRow">
551     <table cellpadding="0" cellspacing="0" border="0">
552     <tr>
553     <td class="md" nowrap valign="top"> #define xpprintf </td>
554     <td class="md" valign="top">(&nbsp;</td>
555     <td class="md" nowrap valign="top">s&nbsp;</td>
556     <td class="mdname1" valign="top" nowrap> </td>
557     <td class="md" valign="top">&nbsp;)&nbsp;</td>
558     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;dbg_pprintf(FL_D, __FUNCTION__, __FILE__, __LINE__, s)</td>
559     </tr>
560     </table>
561     </td>
562     </tr>
563     </table>
564     <table cellspacing=5 cellpadding=0 border=0>
565     <tr>
566     <td>
567     &nbsp;
568     </td>
569     <td>
570    
571     <p>
572     Definition at line <a class="el" href="util_8h-source.html#l00146">146</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
573     <p>
574     Referenced by <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, <a class="el" href="dns_8c-source.html#l00866">DNS_cname_answer()</a>, <a class="el" href="dns_8c-source.html#l00419">DNS_txt_answer()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="main_8c-source.html#l00399">SPF_policy_main()</a>, <a class="el" href="main_8c-source.html#l00570">SPF_policy_main_rec()</a>, <a class="el" href="util_8c-source.html#l02421">UTIL_addnode()</a>, <a class="el" href="util_8c-source.html#l01198">UTIL_get_policy_mech()</a>, <a class="el" href="util_8c-source.html#l00564">UTIL_index()</a>, <a class="el" href="util_8c-source.html#l01793">UTIL_is_ip()</a>, <a class="el" href="util_8c-source.html#l00869">UTIL_is_macro()</a>, <a class="el" href="util_8c-source.html#l00790">UTIL_is_spf_delim()</a>, <a class="el" href="util_8c-source.html#l00832">UTIL_is_spf_result()</a>, <a class="el" href="util_8c-source.html#l00914">UTIL_mx_cmp()</a>, and <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>. </td>
575     </tr>
576     </table>
577     <a class="anchor" name="a9" doxytag="util.h::xprintf" ></a><p>
578     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
579     <tr>
580     <td class="mdRow">
581     <table cellpadding="0" cellspacing="0" border="0">
582     <tr>
583     <td class="md" nowrap valign="top"> #define xprintf </td>
584     <td class="md" valign="top">(&nbsp;</td>
585     <td class="md" nowrap valign="top">format&nbsp;</td>
586     <td class="mdname1" valign="top" nowrap> </td>
587     <td class="md" valign="top">&nbsp;)&nbsp;</td>
588     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;dbg_printf(FL_A, __FUNCTION__, __FILE__, __LINE__, format, __VA_ARGS__)</td>
589     </tr>
590     </table>
591     </td>
592     </tr>
593     </table>
594     <table cellspacing=5 cellpadding=0 border=0>
595     <tr>
596     <td>
597     &nbsp;
598     </td>
599     <td>
600    
601     <p>
602     Definition at line <a class="el" href="util_8h-source.html#l00138">138</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
603     <p>
604     Referenced by <a class="el" href="dns_8c-source.html#l00611">DNS_mx_answer()</a>, <a class="el" href="dns_8c-source.html#l00217">DNS_query()</a>, <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>, <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="macro_8c-source.html#l00301">MACRO_process()</a>, <a class="el" href="main_8c-source.html#l01310">SPF_get_explain()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="main_8c-source.html#l00570">SPF_policy_main_rec()</a>, <a class="el" href="main_8c-source.html#l01249">SPF_result()</a>, <a class="el" href="main_8c-source.html#l01456">SPF_smtp_from()</a>, <a class="el" href="main_8c-source.html#l01423">SPF_smtp_helo()</a>, <a class="el" href="util_8c-source.html#l01906">UTIL_get_dname()</a>, <a class="el" href="util_8c-source.html#l01555">UTIL_get_mech_prefix()</a>, and <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>. </td>
605     </tr>
606     </table>
607     <a class="anchor" name="a14" doxytag="util.h::xpthread_mutex_lock" ></a><p>
608     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
609     <tr>
610     <td class="mdRow">
611     <table cellpadding="0" cellspacing="0" border="0">
612     <tr>
613     <td class="md" nowrap valign="top"> #define xpthread_mutex_lock </td>
614     <td class="md" valign="top">(&nbsp;</td>
615     <td class="md" nowrap valign="top">m&nbsp;</td>
616     <td class="mdname1" valign="top" nowrap> </td>
617     <td class="md" valign="top">&nbsp;)&nbsp;</td>
618     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_UTIL_pthread_mutex(m, SPF_TRUE)</td>
619     </tr>
620     </table>
621     </td>
622     </tr>
623     </table>
624     <table cellspacing=5 cellpadding=0 border=0>
625     <tr>
626     <td>
627     &nbsp;
628     </td>
629     <td>
630    
631     <p>
632     Definition at line <a class="el" href="util_8h-source.html#l00163">163</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
633     <p>
634     Referenced by <a class="el" href="util_8c-source.html#l00154">_printf_dbg()</a>, <a class="el" href="util_8c-source.html#l00282">UTIL_get_date()</a>, and <a class="el" href="util_8c-source.html#l00326">UTIL_log_result()</a>. </td>
635     </tr>
636     </table>
637     <a class="anchor" name="a15" doxytag="util.h::xpthread_mutex_unlock" ></a><p>
638     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
639     <tr>
640     <td class="mdRow">
641     <table cellpadding="0" cellspacing="0" border="0">
642     <tr>
643     <td class="md" nowrap valign="top"> #define xpthread_mutex_unlock </td>
644     <td class="md" valign="top">(&nbsp;</td>
645     <td class="md" nowrap valign="top">m&nbsp;</td>
646     <td class="mdname1" valign="top" nowrap> </td>
647     <td class="md" valign="top">&nbsp;)&nbsp;</td>
648     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;_UTIL_pthread_mutex(m, SPF_FALSE)</td>
649     </tr>
650     </table>
651     </td>
652     </tr>
653     </table>
654     <table cellspacing=5 cellpadding=0 border=0>
655     <tr>
656     <td>
657     &nbsp;
658     </td>
659     <td>
660    
661     <p>
662     Definition at line <a class="el" href="util_8h-source.html#l00164">164</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
663     <p>
664     Referenced by <a class="el" href="util_8c-source.html#l00154">_printf_dbg()</a>, <a class="el" href="util_8c-source.html#l00282">UTIL_get_date()</a>, and <a class="el" href="util_8c-source.html#l00326">UTIL_log_result()</a>. </td>
665     </tr>
666     </table>
667     <a class="anchor" name="a5" doxytag="util.h::xrealloc" ></a><p>
668     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
669     <tr>
670     <td class="mdRow">
671     <table cellpadding="0" cellspacing="0" border="0">
672     <tr>
673     <td class="md" nowrap valign="top"> #define xrealloc </td>
674     <td class="md" valign="top">(&nbsp;</td>
675     <td class="md" nowrap valign="top">m, <tr>
676     <td class="md" nowrap align="right"></td>
677     <td></td>
678     <td class="md" nowrap>n&nbsp;</td>
679     <td class="mdname1" valign="top" nowrap> </td>
680     <td class="md" valign="top">&nbsp;)&nbsp;</td>
681     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;UTIL_realloc(m, n, __FILE__, __LINE__, __FUNCTION__)</td>
682     </tr>
683     </table>
684     </td>
685     </tr>
686     </table>
687     <table cellspacing=5 cellpadding=0 border=0>
688     <tr>
689     <td>
690     &nbsp;
691     </td>
692     <td>
693    
694     <p>
695     Definition at line <a class="el" href="util_8h-source.html#l00126">126</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
696     <p>
697     Referenced by <a class="el" href="dns_8c-source.html#l00866">DNS_cname_answer()</a>, <a class="el" href="dns_8c-source.html#l00611">DNS_mx_answer()</a>, and <a class="el" href="dns_8c-source.html#l00419">DNS_txt_answer()</a>. </td>
698     </tr>
699     </table>
700     <a class="anchor" name="a7" doxytag="util.h::xstrdup" ></a><p>
701     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
702     <tr>
703     <td class="mdRow">
704     <table cellpadding="0" cellspacing="0" border="0">
705     <tr>
706     <td class="md" nowrap valign="top"> #define xstrdup </td>
707     <td class="md" valign="top">(&nbsp;</td>
708     <td class="md" nowrap valign="top">m&nbsp;</td>
709     <td class="mdname1" valign="top" nowrap> </td>
710     <td class="md" valign="top">&nbsp;)&nbsp;</td>
711     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;UTIL_strdup(m)</td>
712     </tr>
713     </table>
714     </td>
715     </tr>
716     </table>
717     <table cellspacing=5 cellpadding=0 border=0>
718     <tr>
719     <td>
720     &nbsp;
721     </td>
722     <td>
723    
724     <p>
725     Definition at line <a class="el" href="util_8h-source.html#l00128">128</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
726     <p>
727     Referenced by <a class="el" href="main_8c-source.html#l01423">SPF_smtp_helo()</a>, and <a class="el" href="util_8c-source.html#l00684">UTIL_split_strr()</a>. </td>
728     </tr>
729     </table>
730     <a class="anchor" name="a8" doxytag="util.h::xstrndup" ></a><p>
731     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
732     <tr>
733     <td class="mdRow">
734     <table cellpadding="0" cellspacing="0" border="0">
735     <tr>
736     <td class="md" nowrap valign="top"> #define xstrndup </td>
737     <td class="md" valign="top">(&nbsp;</td>
738     <td class="md" nowrap valign="top">m, <tr>
739     <td class="md" nowrap align="right"></td>
740     <td></td>
741     <td class="md" nowrap>n&nbsp;</td>
742     <td class="mdname1" valign="top" nowrap> </td>
743     <td class="md" valign="top">&nbsp;)&nbsp;</td>
744     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;UTIL_strndup(m, n)</td>
745     </tr>
746     </table>
747     </td>
748     </tr>
749     </table>
750     <table cellspacing=5 cellpadding=0 border=0>
751     <tr>
752     <td>
753     &nbsp;
754     </td>
755     <td>
756    
757     <p>
758     Definition at line <a class="el" href="util_8h-source.html#l00129">129</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
759     <p>
760     Referenced by <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, <a class="el" href="dns_8c-source.html#l00419">DNS_txt_answer()</a>, <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>, <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="macro_8c-source.html#l00301">MACRO_process()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="main_8c-source.html#l01456">SPF_smtp_from()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l01961">UTIL_cidr_cmp()</a>, <a class="el" href="util_8c-source.html#l01694">UTIL_expand_ip()</a>, <a class="el" href="util_8c-source.html#l01906">UTIL_get_dname()</a>, <a class="el" href="util_8c-source.html#l00914">UTIL_mx_cmp()</a>, <a class="el" href="util_8c-source.html#l01135">UTIL_ptr_cmp()</a>, <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>, <a class="el" href="util_8c-source.html#l02331">UTIL_reverse()</a>, <a class="el" href="util_8c-source.html#l00615">UTIL_split_str()</a>, <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>, and <a class="el" href="util_8c-source.html#l02038">UTIL_validate_ptr()</a>. </td>
761     </tr>
762     </table>
763     <a class="anchor" name="a10" doxytag="util.h::xvprintf" ></a><p>
764     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
765     <tr>
766     <td class="mdRow">
767     <table cellpadding="0" cellspacing="0" border="0">
768     <tr>
769     <td class="md" nowrap valign="top"> #define xvprintf </td>
770     <td class="md" valign="top">(&nbsp;</td>
771     <td class="md" nowrap valign="top">format&nbsp;</td>
772     <td class="mdname1" valign="top" nowrap> </td>
773     <td class="md" valign="top">&nbsp;)&nbsp;</td>
774     <td class="md" nowrap>&nbsp;&nbsp;&nbsp;dbg_printf(FL_B, __FUNCTION__, __FILE__, __LINE__, format, __VA_ARGS__)</td>
775     </tr>
776     </table>
777     </td>
778     </tr>
779     </table>
780     <table cellspacing=5 cellpadding=0 border=0>
781     <tr>
782     <td>
783     &nbsp;
784     </td>
785     <td>
786    
787     <p>
788     Definition at line <a class="el" href="util_8h-source.html#l00142">142</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
789     <p>
790     Referenced by <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, <a class="el" href="dns_8c-source.html#l00866">DNS_cname_answer()</a>, <a class="el" href="dns_8c-source.html#l00611">DNS_mx_answer()</a>, <a class="el" href="dns_8c-source.html#l00716">DNS_ptr_answer()</a>, <a class="el" href="dns_8c-source.html#l00217">DNS_query()</a>, <a class="el" href="dns_8c-source.html#l00419">DNS_txt_answer()</a>, <a class="el" href="macro_8c-source.html#l00638">MACRO_addbuf()</a>, <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>, <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="macro_8c-source.html#l00301">MACRO_process()</a>, <a class="el" href="main_8c-source.html#l01342">SPF_build_header()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="main_8c-source.html#l00399">SPF_policy_main()</a>, <a class="el" href="main_8c-source.html#l00570">SPF_policy_main_rec()</a>, <a class="el" href="main_8c-source.html#l01456">SPF_smtp_from()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l02421">UTIL_addnode()</a>, <a class="el" href="util_8c-source.html#l01309">UTIL_assoc_prefix()</a>, <a class="el" href="util_8c-source.html#l01961">UTIL_cidr_cmp()</a>, <a class="el" href="util_8c-source.html#l00751">UTIL_count_delim()</a>, <a class="el" href="util_8c-source.html#l01694">UTIL_expand_ip()</a>, <a class="el" href="util_8c-source.html#l00522">UTIL_free()</a>, <a class="el" href="util_8c-source.html#l01906">UTIL_get_dname()</a>, <a class="el" href="util_8c-source.html#l01555">UTIL_get_mech_prefix()</a>, <a class="el" href="util_8c-source.html#l01198">UTIL_get_policy_mech()</a>, <a class="el" href="util_8c-source.html#l00564">UTIL_index()</a>, <a class="el" href="util_8c-source.html#l01793">UTIL_is_ip()</a>, <a class="el" href="util_8c-source.html#l00869">UTIL_is_macro()</a>, <a class="el" href="util_8c-source.html#l00790">UTIL_is_spf_delim()</a>, <a class="el" href="util_8c-source.html#l00832">UTIL_is_spf_result()</a>, <a class="el" href="util_8c-source.html#l00447">UTIL_malloc()</a>, <a class="el" href="util_8c-source.html#l00914">UTIL_mx_cmp()</a>, <a class="el" href="util_8c-source.html#l01135">UTIL_ptr_cmp()</a>, <a class="el" href="util_8c-source.html#l00486">UTIL_realloc()</a>, <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>, <a class="el" href="util_8c-source.html#l02331">UTIL_reverse()</a>, <a class="el" href="util_8c-source.html#l00615">UTIL_split_str()</a>, <a class="el" href="util_8c-source.html#l00684">UTIL_split_strr()</a>, <a class="el" href="util_8c-source.html#l00412">UTIL_strdup()</a>, <a class="el" href="util_8c-source.html#l00378">UTIL_strndup()</a>, <a class="el" href="util_8c-source.html#l02272">UTIL_url_encode()</a>, <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>, and <a class="el" href="util_8c-source.html#l02038">UTIL_validate_ptr()</a>. </td>
791     </tr>
792     </table>
793     <hr><h2>Function Documentation</h2>
794     <a class="anchor" name="a26" doxytag="util.h::_dummy_debug" ></a><p>
795     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
796     <tr>
797     <td class="mdRow">
798     <table cellpadding="0" cellspacing="0" border="0">
799     <tr>
800     <td class="md" nowrap valign="top"> void _dummy_debug </td>
801     <td class="md" valign="top">(&nbsp;</td>
802     <td class="md" nowrap valign="top">const&nbsp;</td>
803     <td class="mdname" nowrap> <em>u_int8_t</em>, </td>
804     </tr>
805     <tr>
806     <td class="md" nowrap align="right"></td>
807     <td></td>
808     <td class="md" nowrap>const char *&nbsp;</td>
809     <td class="mdname" nowrap>, </td>
810     </tr>
811     <tr>
812     <td class="md" nowrap align="right"></td>
813     <td></td>
814     <td class="md" nowrap>const char *&nbsp;</td>
815     <td class="mdname" nowrap>, </td>
816     </tr>
817     <tr>
818     <td class="md" nowrap align="right"></td>
819     <td></td>
820     <td class="md" nowrap>const&nbsp;</td>
821     <td class="mdname" nowrap> <em>size_t</em>, </td>
822     </tr>
823     <tr>
824     <td class="md" nowrap align="right"></td>
825     <td></td>
826     <td class="md" nowrap>const char *&nbsp;</td>
827     <td class="mdname" nowrap>, </td>
828     </tr>
829     <tr>
830     <td class="md" nowrap align="right"></td>
831     <td></td>
832     <td class="md" nowrap>&nbsp;</td>
833     <td class="mdname" nowrap> <em>...</em></td>
834     </tr>
835     <tr>
836     <td></td>
837     <td class="md">)&nbsp;</td>
838     <td class="md" colspan="2"></td>
839     </tr>
840     </table>
841     </td>
842     </tr>
843     </table>
844     <table cellspacing=5 cellpadding=0 border=0>
845     <tr>
846     <td>
847     &nbsp;
848     </td>
849     <td>
850    
851     <p>
852     Definition at line <a class="el" href="util_8c-source.html#l00237">237</a> of file <a class="el" href="util_8c-source.html">util.c</a>. </td>
853     </tr>
854     </table>
855     <a class="anchor" name="a27" doxytag="util.h::_dummy_pdebug" ></a><p>
856     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
857     <tr>
858     <td class="mdRow">
859     <table cellpadding="0" cellspacing="0" border="0">
860     <tr>
861     <td class="md" nowrap valign="top"> void _dummy_pdebug </td>
862     <td class="md" valign="top">(&nbsp;</td>
863     <td class="md" nowrap valign="top">const&nbsp;</td>
864     <td class="mdname" nowrap> <em>u_int8_t</em>, </td>
865     </tr>
866     <tr>
867     <td class="md" nowrap align="right"></td>
868     <td></td>
869     <td class="md" nowrap>const char *&nbsp;</td>
870     <td class="mdname" nowrap>, </td>
871     </tr>
872     <tr>
873     <td class="md" nowrap align="right"></td>
874     <td></td>
875     <td class="md" nowrap>const char *&nbsp;</td>
876     <td class="mdname" nowrap>, </td>
877     </tr>
878     <tr>
879     <td class="md" nowrap align="right"></td>
880     <td></td>
881     <td class="md" nowrap>const&nbsp;</td>
882     <td class="mdname" nowrap> <em>size_t</em>, </td>
883     </tr>
884     <tr>
885     <td class="md" nowrap align="right"></td>
886     <td></td>
887     <td class="md" nowrap>const char *&nbsp;</td>
888     <td class="mdname" nowrap></td>
889     </tr>
890     <tr>
891     <td></td>
892     <td class="md">)&nbsp;</td>
893     <td class="md" colspan="2"></td>
894     </tr>
895     </table>
896     </td>
897     </tr>
898     </table>
899     <table cellspacing=5 cellpadding=0 border=0>
900     <tr>
901     <td>
902     &nbsp;
903     </td>
904     <td>
905    
906     <p>
907     Definition at line <a class="el" href="util_8c-source.html#l00255">255</a> of file <a class="el" href="util_8c-source.html">util.c</a>. </td>
908     </tr>
909     </table>
910     <a class="anchor" name="a25" doxytag="util.h::_pprintf_dbg" ></a><p>
911     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
912     <tr>
913     <td class="mdRow">
914     <table cellpadding="0" cellspacing="0" border="0">
915     <tr>
916     <td class="md" nowrap valign="top"> void _pprintf_dbg </td>
917     <td class="md" valign="top">(&nbsp;</td>
918     <td class="md" nowrap valign="top">const&nbsp;</td>
919     <td class="mdname" nowrap> <em>u_int8_t</em>, </td>
920     </tr>
921     <tr>
922     <td class="md" nowrap align="right"></td>
923     <td></td>
924     <td class="md" nowrap>const char *&nbsp;</td>
925     <td class="mdname" nowrap>, </td>
926     </tr>
927     <tr>
928     <td class="md" nowrap align="right"></td>
929     <td></td>
930     <td class="md" nowrap>const char *&nbsp;</td>
931     <td class="mdname" nowrap>, </td>
932     </tr>
933     <tr>
934     <td class="md" nowrap align="right"></td>
935     <td></td>
936     <td class="md" nowrap>const&nbsp;</td>
937     <td class="mdname" nowrap> <em>size_t</em>, </td>
938     </tr>
939     <tr>
940     <td class="md" nowrap align="right"></td>
941     <td></td>
942     <td class="md" nowrap>const char *&nbsp;</td>
943     <td class="mdname" nowrap></td>
944     </tr>
945     <tr>
946     <td></td>
947     <td class="md">)&nbsp;</td>
948     <td class="md" colspan="2"></td>
949     </tr>
950     </table>
951     </td>
952     </tr>
953     </table>
954     <table cellspacing=5 cellpadding=0 border=0>
955     <tr>
956     <td>
957     &nbsp;
958     </td>
959     <td>
960    
961     <p>
962     Definition at line <a class="el" href="util_8c-source.html#l00097">97</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
963     <p>
964     References <a class="el" href="main_8c-source.html#l00057">confg</a>, <a class="el" href="util_8h-source.html#l00168">f_bit_set</a>, <a class="el" href="main_8h-source.html#l00073">FL_D</a>, <a class="el" href="main_8h-source.html#l00075">FL_F</a>, <a class="el" href="spf_8h-source.html#l00244">spf_config_s::level</a>, <a class="el" href="spf_8h-source.html#l00070">SPF_MAX_DEBUG</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, and <a class="el" href="util_8h-source.html#l00125">xmalloc</a>. </td>
965     </tr>
966     </table>
967     <a class="anchor" name="a24" doxytag="util.h::_printf_dbg" ></a><p>
968     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
969     <tr>
970     <td class="mdRow">
971     <table cellpadding="0" cellspacing="0" border="0">
972     <tr>
973     <td class="md" nowrap valign="top"> void _printf_dbg </td>
974     <td class="md" valign="top">(&nbsp;</td>
975     <td class="md" nowrap valign="top">const&nbsp;</td>
976     <td class="mdname" nowrap> <em>u_int8_t</em>, </td>
977     </tr>
978     <tr>
979     <td class="md" nowrap align="right"></td>
980     <td></td>
981     <td class="md" nowrap>const char *&nbsp;</td>
982     <td class="mdname" nowrap>, </td>
983     </tr>
984     <tr>
985     <td class="md" nowrap align="right"></td>
986     <td></td>
987     <td class="md" nowrap>const char *&nbsp;</td>
988     <td class="mdname" nowrap>, </td>
989     </tr>
990     <tr>
991     <td class="md" nowrap align="right"></td>
992     <td></td>
993     <td class="md" nowrap>const&nbsp;</td>
994     <td class="mdname" nowrap> <em>size_t</em>, </td>
995     </tr>
996     <tr>
997     <td class="md" nowrap align="right"></td>
998     <td></td>
999     <td class="md" nowrap>const char *&nbsp;</td>
1000     <td class="mdname" nowrap>, </td>
1001     </tr>
1002     <tr>
1003     <td class="md" nowrap align="right"></td>
1004     <td></td>
1005     <td class="md" nowrap>&nbsp;</td>
1006     <td class="mdname" nowrap> <em>...</em></td>
1007     </tr>
1008     <tr>
1009     <td></td>
1010     <td class="md">)&nbsp;</td>
1011     <td class="md" colspan="2"></td>
1012     </tr>
1013     </table>
1014     </td>
1015     </tr>
1016     </table>
1017     <table cellspacing=5 cellpadding=0 border=0>
1018     <tr>
1019     <td>
1020     &nbsp;
1021     </td>
1022     <td>
1023    
1024     <p>
1025     Definition at line <a class="el" href="util_8c-source.html#l00154">154</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1026     <p>
1027     References <a class="el" href="main_8c-source.html#l00057">confg</a>, <a class="el" href="util_8h-source.html#l00210">DEBUG_LOG_FILE</a>, <a class="el" href="util_8h-source.html#l00168">f_bit_set</a>, <a class="el" href="main_8h-source.html#l00074">FL_E</a>, <a class="el" href="spf_8h-source.html#l00244">spf_config_s::level</a>, <a class="el" href="spf_8h-source.html#l00070">SPF_MAX_DEBUG</a>, <a class="el" href="util_8c-source.html#l00066">util_mutex</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00163">xpthread_mutex_lock</a>, and <a class="el" href="util_8h-source.html#l00164">xpthread_mutex_unlock</a>. </td>
1028     </tr>
1029     </table>
1030     <a class="anchor" name="a58" doxytag="util.h::_UTIL_pthread_mutex" ></a><p>
1031     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1032     <tr>
1033     <td class="mdRow">
1034     <table cellpadding="0" cellspacing="0" border="0">
1035     <tr>
1036     <td class="md" nowrap valign="top"> void _UTIL_pthread_mutex </td>
1037     <td class="md" valign="top">(&nbsp;</td>
1038     <td class="md" nowrap valign="top">void *&nbsp;</td>
1039     <td class="mdname" nowrap>, </td>
1040     </tr>
1041     <tr>
1042     <td class="md" nowrap align="right"></td>
1043     <td></td>
1044     <td class="md" nowrap><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td>
1045     <td class="mdname" nowrap></td>
1046     </tr>
1047     <tr>
1048     <td></td>
1049     <td class="md">)&nbsp;</td>
1050     <td class="md" colspan="2"></td>
1051     </tr>
1052     </table>
1053     </td>
1054     </tr>
1055     </table>
1056     <table cellspacing=5 cellpadding=0 border=0>
1057     <tr>
1058     <td>
1059     &nbsp;
1060     </td>
1061     <td>
1062    
1063     <p>
1064     Definition at line <a class="el" href="util_8c-source.html#l02512">2512</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1065     <p>
1066     References <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, and <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>. </td>
1067     </tr>
1068     </table>
1069     <a class="anchor" name="a43" doxytag="util.h::UTIL_a_cmp" ></a><p>
1070     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1071     <tr>
1072     <td class="mdRow">
1073     <table cellpadding="0" cellspacing="0" border="0">
1074     <tr>
1075     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_a_cmp </td>
1076     <td class="md" valign="top">(&nbsp;</td>
1077     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
1078     <td class="mdname" nowrap>, </td>
1079     </tr>
1080     <tr>
1081     <td class="md" nowrap align="right"></td>
1082     <td></td>
1083     <td class="md" nowrap>const char *&nbsp;</td>
1084     <td class="mdname" nowrap>, </td>
1085     </tr>
1086     <tr>
1087     <td class="md" nowrap align="right"></td>
1088     <td></td>
1089     <td class="md" nowrap>const&nbsp;</td>
1090     <td class="mdname" nowrap> <em>int8_t</em></td>
1091     </tr>
1092     <tr>
1093     <td></td>
1094     <td class="md">)&nbsp;</td>
1095     <td class="md" colspan="2"></td>
1096     </tr>
1097     </table>
1098     </td>
1099     </tr>
1100     </table>
1101     <table cellspacing=5 cellpadding=0 border=0>
1102     <tr>
1103     <td>
1104     &nbsp;
1105     </td>
1106     <td>
1107    
1108     <p>
1109     Definition at line <a class="el" href="util_8c-source.html#l00980">980</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1110     <p>
1111     References <a class="el" href="spf_8h-source.html#l00363">peer_info_s::addr</a>, <a class="el" href="spf_8h-source.html#l00349">peer_info_s::current_domain</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h.html#a40">policy_addr_t</a>, <a class="el" href="util_8h-source.html#l00108">SIZEOF</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="util_8h-source.html#l00098">SPF_MAX_GHBNR_DBUF</a>, <a class="el" href="spf_8h-source.html#l00083">SPF_MAX_HNAME</a>, <a class="el" href="spf_8h.html#a88a51">SPF_PASS</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8c-source.html#l01309">UTIL_assoc_prefix()</a>, <a class="el" href="util_8c-source.html#l01961">UTIL_cidr_cmp()</a>, <a class="el" href="util_8c-source.html#l00564">UTIL_index()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00150">xeprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="dns_8h-source.html#l00121">xgethostbyname</a>, <a class="el" href="dns_8h-source.html#l00122">xgethostbyname_free</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1112     <p>
1113     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>.
1114     <p>
1115     Here is the call graph for this function:<p><center><img src="util_8h_a43_cgraph.png" border="0" usemap="#util_8h_a43_cgraph_map" alt=""></center>
1116     <map name="util_8h_a43_cgraph_map">
1117     <area href="util_8h.html#a47" shape="rect" coords="155,5,275,24" alt="">
1118     <area href="util_8h.html#a35" shape="rect" coords="324,29,404,48" alt="">
1119     <area href="util_8h.html#a52" shape="rect" coords="164,99,265,117" alt="">
1120     </map>
1121     </td>
1122     </tr>
1123     </table>
1124     <a class="anchor" name="a57" doxytag="util.h::UTIL_addnode" ></a><p>
1125     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1126     <tr>
1127     <td class="mdRow">
1128     <table cellpadding="0" cellspacing="0" border="0">
1129     <tr>
1130     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_addnode </td>
1131     <td class="md" valign="top">(&nbsp;</td>
1132     <td class="md" nowrap valign="top"><a class="el" href="structsplit__str__s.html">split_str_t</a> *&nbsp;</td>
1133     <td class="mdname" nowrap>, </td>
1134     </tr>
1135     <tr>
1136     <td class="md" nowrap align="right"></td>
1137     <td></td>
1138     <td class="md" nowrap>const char *&nbsp;</td>
1139     <td class="mdname" nowrap>, </td>
1140     </tr>
1141     <tr>
1142     <td class="md" nowrap align="right"></td>
1143     <td></td>
1144     <td class="md" nowrap><a class="el" href="spf_8h.html#a35">SPF_BOOL</a>&nbsp;</td>
1145     <td class="mdname" nowrap></td>
1146     </tr>
1147     <tr>
1148     <td></td>
1149     <td class="md">)&nbsp;</td>
1150     <td class="md" colspan="2"></td>
1151     </tr>
1152     </table>
1153     </td>
1154     </tr>
1155     </table>
1156     <table cellspacing=5 cellpadding=0 border=0>
1157     <tr>
1158     <td>
1159     &nbsp;
1160     </td>
1161     <td>
1162    
1163     <p>
1164     Definition at line <a class="el" href="util_8c-source.html#l02421">2421</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1165     <p>
1166     References <a class="el" href="spf_8h-source.html#l00299">split_str_s::elements</a>, <a class="el" href="spf_8h-source.html#l00297">split_str_s::head</a>, <a class="el" href="spf_8h-source.html#l00283">split_str_node_s::len</a>, <a class="el" href="spf_8h-source.html#l00285">split_str_node_s::next</a>, <a class="el" href="spf_8h-source.html#l00284">split_str_node_s::s</a>, <a class="el" href="util_8h-source.html#l00108">SIZEOF</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="spf_8h.html#a44">split_str_node_t</a>, <a class="el" href="spf_8h.html#a45">split_str_t</a>, <a class="el" href="spf_8h-source.html#l00298">split_str_s::tail</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1167     <p>
1168     Referenced by <a class="el" href="util_8c-source.html#l02331">UTIL_reverse()</a>. </td>
1169     </tr>
1170     </table>
1171     <a class="anchor" name="a47" doxytag="util.h::UTIL_assoc_prefix" ></a><p>
1172     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1173     <tr>
1174     <td class="mdRow">
1175     <table cellpadding="0" cellspacing="0" border="0">
1176     <tr>
1177     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_assoc_prefix </td>
1178     <td class="md" valign="top">(&nbsp;</td>
1179     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
1180     <td class="mdname" nowrap>, </td>
1181     </tr>
1182     <tr>
1183     <td class="md" nowrap align="right"></td>
1184     <td></td>
1185     <td class="md" nowrap><a class="el" href="spf_8h.html#a36">SPF_RESULT</a>&nbsp;</td>
1186     <td class="mdname" nowrap>, </td>
1187     </tr>
1188     <tr>
1189     <td class="md" nowrap align="right"></td>
1190     <td></td>
1191     <td class="md" nowrap>const char *&nbsp;</td>
1192     <td class="mdname" nowrap></td>
1193     </tr>
1194     <tr>
1195     <td></td>
1196     <td class="md">)&nbsp;</td>
1197     <td class="md" colspan="2"></td>
1198     </tr>
1199     </table>
1200     </td>
1201     </tr>
1202     </table>
1203     <table cellspacing=5 cellpadding=0 border=0>
1204     <tr>
1205     <td>
1206     &nbsp;
1207     </td>
1208     <td>
1209    
1210     <p>
1211     Definition at line <a class="el" href="util_8c-source.html#l01309">1309</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1212     <p>
1213     References <a class="el" href="spf_8h-source.html#l00359">peer_info_s::error</a>, <a class="el" href="spf_8h-source.html#l00358">peer_info_s::last_m</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h-source.html#l00332">peer_info_s::RES</a>, <a class="el" href="spf_8h-source.html#l00341">peer_info_s::rs</a>, <a class="el" href="spf_8h-source.html#l00214">spf_result_t::s</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a88a55">SPF_ERROR</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a88a54">SPF_H_FAIL</a>, <a class="el" href="spf_8h-source.html#l00085">SPF_MAX_ERROR</a>, <a class="el" href="spf_8h.html#a88a56">SPF_NEUTRAL</a>, <a class="el" href="spf_8h.html#a88a52">SPF_NONE</a>, <a class="el" href="spf_8h.html#a88a51">SPF_PASS</a>, <a class="el" href="spf_8h-source.html#l00361">peer_info_s::spf_result</a>, <a class="el" href="spf_8h.html#a36">SPF_RESULT</a>, <a class="el" href="spf_8h.html#a88a53">SPF_S_FAIL</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="spf_8h.html#a88a57">SPF_UNKNOWN</a>, <a class="el" href="spf_8h.html#a88a58">SPF_UNMECH</a>, <a class="el" href="util_8c-source.html#l00564">UTIL_index()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1214     <p>
1215     Referenced by <a class="el" href="dns_8c-source.html#l00217">DNS_query()</a>, <a class="el" href="main_8c-source.html#l00081">SPF_init()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="main_8c-source.html#l00399">SPF_policy_main()</a>, <a class="el" href="main_8c-source.html#l00570">SPF_policy_main_rec()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l00914">UTIL_mx_cmp()</a>, and <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>.
1216     <p>
1217     Here is the call graph for this function:<p><center><img src="util_8h_a47_cgraph.png" border="0" usemap="#util_8h_a47_cgraph_map" alt=""></center>
1218     <map name="util_8h_a47_cgraph_map">
1219     <area href="util_8h.html#a35" shape="rect" coords="188,5,268,23" alt="">
1220     </map>
1221     </td>
1222     </tr>
1223     </table>
1224     <a class="anchor" name="a52" doxytag="util.h::UTIL_cidr_cmp" ></a><p>
1225     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1226     <tr>
1227     <td class="mdRow">
1228     <table cellpadding="0" cellspacing="0" border="0">
1229     <tr>
1230     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_cidr_cmp </td>
1231     <td class="md" valign="top">(&nbsp;</td>
1232     <td class="md" nowrap valign="top">const <a class="el" href="structpolicy__addr__s.html">policy_addr_t</a> *&nbsp;</td>
1233     <td class="mdname" nowrap>, </td>
1234     </tr>
1235     <tr>
1236     <td class="md" nowrap align="right"></td>
1237     <td></td>
1238     <td class="md" nowrap>const struct in_addr *&nbsp;</td>
1239     <td class="mdname" nowrap></td>
1240     </tr>
1241     <tr>
1242     <td></td>
1243     <td class="md">)&nbsp;</td>
1244     <td class="md" colspan="2"></td>
1245     </tr>
1246     </table>
1247     </td>
1248     </tr>
1249     </table>
1250     <table cellspacing=5 cellpadding=0 border=0>
1251     <tr>
1252     <td>
1253     &nbsp;
1254     </td>
1255     <td>
1256    
1257     <p>
1258     Definition at line <a class="el" href="util_8c-source.html#l01961">1961</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1259     <p>
1260     References <a class="el" href="spf_8h-source.html#l00233">policy_addr_s::addr</a>, <a class="el" href="spf_8h-source.html#l00232">policy_addr_s::cidr</a>, <a class="el" href="spf_8h.html#a40">policy_addr_t</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h-source.html#l00079">SPF_MAX_IP_ADDR</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1261     <p>
1262     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, and <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>. </td>
1263     </tr>
1264     </table>
1265     <a class="anchor" name="a38" doxytag="util.h::UTIL_count_delim" ></a><p>
1266     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1267     <tr>
1268     <td class="mdRow">
1269     <table cellpadding="0" cellspacing="0" border="0">
1270     <tr>
1271     <td class="md" nowrap valign="top"> u_int8_t UTIL_count_delim </td>
1272     <td class="md" valign="top">(&nbsp;</td>
1273     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1274     <td class="mdname" nowrap>, </td>
1275     </tr>
1276     <tr>
1277     <td class="md" nowrap align="right"></td>
1278     <td></td>
1279     <td class="md" nowrap>const&nbsp;</td>
1280     <td class="mdname" nowrap> <em>char</em></td>
1281     </tr>
1282     <tr>
1283     <td></td>
1284     <td class="md">)&nbsp;</td>
1285     <td class="md" colspan="2"></td>
1286     </tr>
1287     </table>
1288     </td>
1289     </tr>
1290     </table>
1291     <table cellspacing=5 cellpadding=0 border=0>
1292     <tr>
1293     <td>
1294     &nbsp;
1295     </td>
1296     <td>
1297    
1298     <p>
1299     Definition at line <a class="el" href="util_8c-source.html#l00751">751</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1300     <p>
1301     References <a class="el" href="spf_8h-source.html#l00073">SPF_MAX_DELIM</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1302     <p>
1303     Referenced by <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>, and <a class="el" href="util_8c-source.html#l01906">UTIL_get_dname()</a>. </td>
1304     </tr>
1305     </table>
1306     <a class="anchor" name="a48" doxytag="util.h::UTIL_expand_ip" ></a><p>
1307     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1308     <tr>
1309     <td class="mdRow">
1310     <table cellpadding="0" cellspacing="0" border="0">
1311     <tr>
1312     <td class="md" nowrap valign="top"> <a class="el" href="structpolicy__addr__s.html">policy_addr_t</a>* UTIL_expand_ip </td>
1313     <td class="md" valign="top">(&nbsp;</td>
1314     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1315     <td class="mdname1" valign="top" nowrap> </td>
1316     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1317     <td class="md" nowrap></td>
1318     </tr>
1319     </table>
1320     </td>
1321     </tr>
1322     </table>
1323     <table cellspacing=5 cellpadding=0 border=0>
1324     <tr>
1325     <td>
1326     &nbsp;
1327     </td>
1328     <td>
1329    
1330     <p>
1331     Definition at line <a class="el" href="util_8c-source.html#l01694">1694</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1332     <p>
1333     References <a class="el" href="spf_8h-source.html#l00233">policy_addr_s::addr</a>, <a class="el" href="spf_8h-source.html#l00232">policy_addr_s::cidr</a>, <a class="el" href="spf_8h.html#a40">policy_addr_t</a>, <a class="el" href="util_8h-source.html#l00108">SIZEOF</a>, <a class="el" href="util_8c-source.html#l00564">UTIL_index()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1334     <p>
1335     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>.
1336     <p>
1337     Here is the call graph for this function:<p><center><img src="util_8h_a48_cgraph.png" border="0" usemap="#util_8h_a48_cgraph_map" alt=""></center>
1338     <map name="util_8h_a48_cgraph_map">
1339     <area href="util_8h.html#a35" shape="rect" coords="177,5,257,23" alt="">
1340     </map>
1341     </td>
1342     </tr>
1343     </table>
1344     <a class="anchor" name="a30" doxytag="util.h::UTIL_free" ></a><p>
1345     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1346     <tr>
1347     <td class="mdRow">
1348     <table cellpadding="0" cellspacing="0" border="0">
1349     <tr>
1350     <td class="md" nowrap valign="top"> void UTIL_free </td>
1351     <td class="md" valign="top">(&nbsp;</td>
1352     <td class="md" nowrap valign="top">void *&nbsp;</td>
1353     <td class="mdname" nowrap>, </td>
1354     </tr>
1355     <tr>
1356     <td class="md" nowrap align="right"></td>
1357     <td></td>
1358     <td class="md" nowrap>const char *&nbsp;</td>
1359     <td class="mdname" nowrap>, </td>
1360     </tr>
1361     <tr>
1362     <td class="md" nowrap align="right"></td>
1363     <td></td>
1364     <td class="md" nowrap>const&nbsp;</td>
1365     <td class="mdname" nowrap> <em>int32_t</em>, </td>
1366     </tr>
1367     <tr>
1368     <td class="md" nowrap align="right"></td>
1369     <td></td>
1370     <td class="md" nowrap>const char *&nbsp;</td>
1371     <td class="mdname" nowrap></td>
1372     </tr>
1373     <tr>
1374     <td></td>
1375     <td class="md">)&nbsp;</td>
1376     <td class="md" colspan="2"></td>
1377     </tr>
1378     </table>
1379     </td>
1380     </tr>
1381     </table>
1382     <table cellspacing=5 cellpadding=0 border=0>
1383     <tr>
1384     <td>
1385     &nbsp;
1386     </td>
1387     <td>
1388    
1389     <p>
1390     Definition at line <a class="el" href="util_8c-source.html#l00522">522</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1391     <p>
1392     References <a class="el" href="util_8h-source.html#l00142">xvprintf</a>. </td>
1393     </tr>
1394     </table>
1395     <a class="anchor" name="a32" doxytag="util.h::UTIL_get_date" ></a><p>
1396     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1397     <tr>
1398     <td class="mdRow">
1399     <table cellpadding="0" cellspacing="0" border="0">
1400     <tr>
1401     <td class="md" nowrap valign="top"> char* UTIL_get_date </td>
1402     <td class="md" valign="top">(&nbsp;</td>
1403     <td class="md" nowrap valign="top">void&nbsp;</td>
1404     <td class="mdname1" valign="top" nowrap> </td>
1405     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1406     <td class="md" nowrap></td>
1407     </tr>
1408     </table>
1409     </td>
1410     </tr>
1411     </table>
1412     <table cellspacing=5 cellpadding=0 border=0>
1413     <tr>
1414     <td>
1415     &nbsp;
1416     </td>
1417     <td>
1418    
1419     <p>
1420     Definition at line <a class="el" href="util_8c-source.html#l00282">282</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1421     <p>
1422     References <a class="el" href="util_8h-source.html#l00095">SPF_MAX_DATETIME</a>, <a class="el" href="util_8c-source.html#l00066">util_mutex</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00163">xpthread_mutex_lock</a>, and <a class="el" href="util_8h-source.html#l00164">xpthread_mutex_unlock</a>.
1423     <p>
1424     Referenced by <a class="el" href="util_8c-source.html#l00326">UTIL_log_result()</a>. </td>
1425     </tr>
1426     </table>
1427     <a class="anchor" name="a51" doxytag="util.h::UTIL_get_dname" ></a><p>
1428     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1429     <tr>
1430     <td class="mdRow">
1431     <table cellpadding="0" cellspacing="0" border="0">
1432     <tr>
1433     <td class="md" nowrap valign="top"> char* UTIL_get_dname </td>
1434     <td class="md" valign="top">(&nbsp;</td>
1435     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1436     <td class="mdname1" valign="top" nowrap> </td>
1437     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1438     <td class="md" nowrap></td>
1439     </tr>
1440     </table>
1441     </td>
1442     </tr>
1443     </table>
1444     <table cellspacing=5 cellpadding=0 border=0>
1445     <tr>
1446     <td>
1447     &nbsp;
1448     </td>
1449     <td>
1450    
1451     <p>
1452     Definition at line <a class="el" href="util_8c-source.html#l01906">1906</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1453     <p>
1454     References <a class="el" href="util_8c-source.html#l00751">UTIL_count_delim()</a>, <a class="el" href="util_8c-source.html#l00615">UTIL_split_str()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00138">xprintf</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1455     <p>
1456     Here is the call graph for this function:<p><center><img src="util_8h_a51_cgraph.png" border="0" usemap="#util_8h_a51_cgraph_map" alt=""></center>
1457     <map name="util_8h_a51_cgraph_map">
1458     <area href="util_8h.html#a38" shape="rect" coords="180,5,297,24" alt="">
1459     <area href="util_8h.html#a36" shape="rect" coords="193,48,284,66" alt="">
1460     </map>
1461     </td>
1462     </tr>
1463     </table>
1464     <a class="anchor" name="a46" doxytag="util.h::UTIL_get_mech_prefix" ></a><p>
1465     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1466     <tr>
1467     <td class="mdRow">
1468     <table cellpadding="0" cellspacing="0" border="0">
1469     <tr>
1470     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a36">SPF_RESULT</a> UTIL_get_mech_prefix </td>
1471     <td class="md" valign="top">(&nbsp;</td>
1472     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
1473     <td class="mdname" nowrap>, </td>
1474     </tr>
1475     <tr>
1476     <td class="md" nowrap align="right"></td>
1477     <td></td>
1478     <td class="md" nowrap>const char *&nbsp;</td>
1479     <td class="mdname" nowrap></td>
1480     </tr>
1481     <tr>
1482     <td></td>
1483     <td class="md">)&nbsp;</td>
1484     <td class="md" colspan="2"></td>
1485     </tr>
1486     </table>
1487     </td>
1488     </tr>
1489     </table>
1490     <table cellspacing=5 cellpadding=0 border=0>
1491     <tr>
1492     <td>
1493     &nbsp;
1494     </td>
1495     <td>
1496    
1497     <p>
1498     Definition at line <a class="el" href="util_8c-source.html#l01555">1555</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1499     <p>
1500     References <a class="el" href="spf_8h-source.html#l00330">peer_info_s::ALL</a>, <a class="el" href="spf_8h-source.html#l00358">peer_info_s::last_m</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h-source.html#l00333">peer_info_s::RES_P</a>, <a class="el" href="spf_8h.html#a88a55">SPF_ERROR</a>, <a class="el" href="spf_8h.html#a88a54">SPF_H_FAIL</a>, <a class="el" href="spf_8h-source.html#l00083">SPF_MAX_HNAME</a>, <a class="el" href="spf_8h.html#a88a56">SPF_NEUTRAL</a>, <a class="el" href="spf_8h.html#a88a51">SPF_PASS</a>, <a class="el" href="spf_8h.html#a36">SPF_RESULT</a>, <a class="el" href="spf_8h.html#a88a53">SPF_S_FAIL</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8c-source.html#l00564">UTIL_index()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00138">xprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1501     <p>
1502     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>.
1503     <p>
1504     Here is the call graph for this function:<p><center><img src="util_8h_a46_cgraph.png" border="0" usemap="#util_8h_a46_cgraph_map" alt=""></center>
1505     <map name="util_8h_a46_cgraph_map">
1506     <area href="util_8h.html#a35" shape="rect" coords="215,5,295,23" alt="">
1507     </map>
1508     </td>
1509     </tr>
1510     </table>
1511     <a class="anchor" name="a45" doxytag="util.h::UTIL_get_policy_mech" ></a><p>
1512     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1513     <tr>
1514     <td class="mdRow">
1515     <table cellpadding="0" cellspacing="0" border="0">
1516     <tr>
1517     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a38">SPF_MECHANISM</a> UTIL_get_policy_mech </td>
1518     <td class="md" valign="top">(&nbsp;</td>
1519     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1520     <td class="mdname1" valign="top" nowrap> </td>
1521     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1522     <td class="md" nowrap></td>
1523     </tr>
1524     </table>
1525     </td>
1526     </tr>
1527     </table>
1528     <table cellspacing=5 cellpadding=0 border=0>
1529     <tr>
1530     <td>
1531     &nbsp;
1532     </td>
1533     <td>
1534    
1535     <p>
1536     Definition at line <a class="el" href="util_8c-source.html#l01198">1198</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1537     <p>
1538     References <a class="el" href="spf_8h.html#a90a67">A</a>, <a class="el" href="spf_8h.html#a90a65">ALL</a>, <a class="el" href="spf_8h.html#a90a75">DEFAULT</a>, <a class="el" href="spf_8h.html#a90a72">EXISTS</a>, <a class="el" href="spf_8h.html#a90a74">EXPLAIN</a>, <a class="el" href="spf_8h.html#a90a66">INCLUDE</a>, <a class="el" href="spf_8h.html#a90a70">IP4</a>, <a class="el" href="spf_8h.html#a90a71">IP6</a>, <a class="el" href="spf_8h.html#a90a68">MX</a>, <a class="el" href="spf_8h.html#a90a63">NO_POLICY</a>, <a class="el" href="spf_8h.html#a90a69">PTR</a>, <a class="el" href="spf_8h.html#a90a73">REDIRECT</a>, <a class="el" href="spf_8h.html#a38">SPF_MECHANISM</a>, <a class="el" href="spf_8h.html#a90a76">UNMECH</a>, <a class="el" href="spf_8h.html#a90a64">VERSION</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1539     <p>
1540     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>. </td>
1541     </tr>
1542     </table>
1543     <a class="anchor" name="a35" doxytag="util.h::UTIL_index" ></a><p>
1544     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1545     <tr>
1546     <td class="mdRow">
1547     <table cellpadding="0" cellspacing="0" border="0">
1548     <tr>
1549     <td class="md" nowrap valign="top"> int16_t UTIL_index </td>
1550     <td class="md" valign="top">(&nbsp;</td>
1551     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1552     <td class="mdname" nowrap>, </td>
1553     </tr>
1554     <tr>
1555     <td class="md" nowrap align="right"></td>
1556     <td></td>
1557     <td class="md" nowrap>const&nbsp;</td>
1558     <td class="mdname" nowrap> <em>char</em></td>
1559     </tr>
1560     <tr>
1561     <td></td>
1562     <td class="md">)&nbsp;</td>
1563     <td class="md" colspan="2"></td>
1564     </tr>
1565     </table>
1566     </td>
1567     </tr>
1568     </table>
1569     <table cellspacing=5 cellpadding=0 border=0>
1570     <tr>
1571     <td>
1572     &nbsp;
1573     </td>
1574     <td>
1575    
1576     <p>
1577     Definition at line <a class="el" href="util_8c-source.html#l00564">564</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1578     <p>
1579     References <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1580     <p>
1581     Referenced by <a class="el" href="macro_8c-source.html#l00071">MACRO_expand()</a>, <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>, <a class="el" href="util_8c-source.html#l00980">UTIL_a_cmp()</a>, <a class="el" href="util_8c-source.html#l01309">UTIL_assoc_prefix()</a>, <a class="el" href="util_8c-source.html#l01694">UTIL_expand_ip()</a>, and <a class="el" href="util_8c-source.html#l01555">UTIL_get_mech_prefix()</a>. </td>
1582     </tr>
1583     </table>
1584     <a class="anchor" name="a49" doxytag="util.h::UTIL_is_ip" ></a><p>
1585     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1586     <tr>
1587     <td class="mdRow">
1588     <table cellpadding="0" cellspacing="0" border="0">
1589     <tr>
1590     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_is_ip </td>
1591     <td class="md" valign="top">(&nbsp;</td>
1592     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1593     <td class="mdname1" valign="top" nowrap> </td>
1594     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1595     <td class="md" nowrap></td>
1596     </tr>
1597     </table>
1598     </td>
1599     </tr>
1600     </table>
1601     <table cellspacing=5 cellpadding=0 border=0>
1602     <tr>
1603     <td>
1604     &nbsp;
1605     </td>
1606     <td>
1607    
1608     <p>
1609     Definition at line <a class="el" href="util_8c-source.html#l01793">1793</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1610     <p>
1611     References <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>. </td>
1612     </tr>
1613     </table>
1614     <a class="anchor" name="a41" doxytag="util.h::UTIL_is_macro" ></a><p>
1615     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1616     <tr>
1617     <td class="mdRow">
1618     <table cellpadding="0" cellspacing="0" border="0">
1619     <tr>
1620     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_is_macro </td>
1621     <td class="md" valign="top">(&nbsp;</td>
1622     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1623     <td class="mdname1" valign="top" nowrap> </td>
1624     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1625     <td class="md" nowrap></td>
1626     </tr>
1627     </table>
1628     </td>
1629     </tr>
1630     </table>
1631     <table cellspacing=5 cellpadding=0 border=0>
1632     <tr>
1633     <td>
1634     &nbsp;
1635     </td>
1636     <td>
1637    
1638     <p>
1639     Definition at line <a class="el" href="util_8c-source.html#l00869">869</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1640     <p>
1641     References <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1642     <p>
1643     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>. </td>
1644     </tr>
1645     </table>
1646     <a class="anchor" name="a39" doxytag="util.h::UTIL_is_spf_delim" ></a><p>
1647     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1648     <tr>
1649     <td class="mdRow">
1650     <table cellpadding="0" cellspacing="0" border="0">
1651     <tr>
1652     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_is_spf_delim </td>
1653     <td class="md" valign="top">(&nbsp;</td>
1654     <td class="md" nowrap valign="top">const&nbsp;</td>
1655     <td class="mdname1" valign="top" nowrap> <em>char</em> </td>
1656     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1657     <td class="md" nowrap></td>
1658     </tr>
1659     </table>
1660     </td>
1661     </tr>
1662     </table>
1663     <table cellspacing=5 cellpadding=0 border=0>
1664     <tr>
1665     <td>
1666     &nbsp;
1667     </td>
1668     <td>
1669    
1670     <p>
1671     Definition at line <a class="el" href="util_8c-source.html#l00790">790</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1672     <p>
1673     References <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1674     <p>
1675     Referenced by <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>. </td>
1676     </tr>
1677     </table>
1678     <a class="anchor" name="a40" doxytag="util.h::UTIL_is_spf_result" ></a><p>
1679     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1680     <tr>
1681     <td class="mdRow">
1682     <table cellpadding="0" cellspacing="0" border="0">
1683     <tr>
1684     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_is_spf_result </td>
1685     <td class="md" valign="top">(&nbsp;</td>
1686     <td class="md" nowrap valign="top">const&nbsp;</td>
1687     <td class="mdname1" valign="top" nowrap> <em>char</em> </td>
1688     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1689     <td class="md" nowrap></td>
1690     </tr>
1691     </table>
1692     </td>
1693     </tr>
1694     </table>
1695     <table cellspacing=5 cellpadding=0 border=0>
1696     <tr>
1697     <td>
1698     &nbsp;
1699     </td>
1700     <td>
1701    
1702     <p>
1703     Definition at line <a class="el" href="util_8c-source.html#l00832">832</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1704     <p>
1705     References <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1706     <p>
1707     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>. </td>
1708     </tr>
1709     </table>
1710     <a class="anchor" name="a31" doxytag="util.h::UTIL_log_result" ></a><p>
1711     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1712     <tr>
1713     <td class="mdRow">
1714     <table cellpadding="0" cellspacing="0" border="0">
1715     <tr>
1716     <td class="md" nowrap valign="top"> void UTIL_log_result </td>
1717     <td class="md" valign="top">(&nbsp;</td>
1718     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
1719     <td class="mdname1" valign="top" nowrap> </td>
1720     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1721     <td class="md" nowrap></td>
1722     </tr>
1723     </table>
1724     </td>
1725     </tr>
1726     </table>
1727     <table cellspacing=5 cellpadding=0 border=0>
1728     <tr>
1729     <td>
1730     &nbsp;
1731     </td>
1732     <td>
1733    
1734     <p>
1735     Definition at line <a class="el" href="util_8c-source.html#l00326">326</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1736     <p>
1737     References <a class="el" href="spf_8h-source.html#l00359">peer_info_s::error</a>, <a class="el" href="spf_8h-source.html#l00344">peer_info_s::from</a>, <a class="el" href="util_8h-source.html#l00213">OUTPUT_LOG_FILE</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h-source.html#l00351">peer_info_s::r_ip</a>, <a class="el" href="spf_8h-source.html#l00332">peer_info_s::RES</a>, <a class="el" href="spf_8h-source.html#l00070">SPF_MAX_DEBUG</a>, <a class="el" href="spf_8h-source.html#l00361">peer_info_s::spf_result</a>, <a class="el" href="spf_8h-source.html#l00371">peer_info_s::spf_rlevel</a>, <a class="el" href="spf_8h-source.html#l00338">peer_info_s::spf_ver</a>, <a class="el" href="spf_8h-source.html#l00057">SPF_VERSION</a>, <a class="el" href="util_8c-source.html#l00282">UTIL_get_date()</a>, <a class="el" href="util_8c-source.html#l00066">util_mutex</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00163">xpthread_mutex_lock</a>, and <a class="el" href="util_8h-source.html#l00164">xpthread_mutex_unlock</a>.
1738     <p>
1739     Referenced by <a class="el" href="main_8c-source.html#l00570">SPF_policy_main_rec()</a>.
1740     <p>
1741     Here is the call graph for this function:<p><center><img src="util_8h_a31_cgraph.png" border="0" usemap="#util_8h_a31_cgraph_map" alt=""></center>
1742     <map name="util_8h_a31_cgraph_map">
1743     <area href="util_8c.html#a6" shape="rect" coords="173,5,272,23" alt="">
1744     </map>
1745     </td>
1746     </tr>
1747     </table>
1748     <a class="anchor" name="a28" doxytag="util.h::UTIL_malloc" ></a><p>
1749     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1750     <tr>
1751     <td class="mdRow">
1752     <table cellpadding="0" cellspacing="0" border="0">
1753     <tr>
1754     <td class="md" nowrap valign="top"> void* UTIL_malloc </td>
1755     <td class="md" valign="top">(&nbsp;</td>
1756     <td class="md" nowrap valign="top">const&nbsp;</td>
1757     <td class="mdname" nowrap> <em>int32_t</em>, </td>
1758     </tr>
1759     <tr>
1760     <td class="md" nowrap align="right"></td>
1761     <td></td>
1762     <td class="md" nowrap>const char *&nbsp;</td>
1763     <td class="mdname" nowrap>, </td>
1764     </tr>
1765     <tr>
1766     <td class="md" nowrap align="right"></td>
1767     <td></td>
1768     <td class="md" nowrap>const&nbsp;</td>
1769     <td class="mdname" nowrap> <em>int32_t</em>, </td>
1770     </tr>
1771     <tr>
1772     <td class="md" nowrap align="right"></td>
1773     <td></td>
1774     <td class="md" nowrap>const char *&nbsp;</td>
1775     <td class="mdname" nowrap></td>
1776     </tr>
1777     <tr>
1778     <td></td>
1779     <td class="md">)&nbsp;</td>
1780     <td class="md" colspan="2"></td>
1781     </tr>
1782     </table>
1783     </td>
1784     </tr>
1785     </table>
1786     <table cellspacing=5 cellpadding=0 border=0>
1787     <tr>
1788     <td>
1789     &nbsp;
1790     </td>
1791     <td>
1792    
1793     <p>
1794     Definition at line <a class="el" href="util_8c-source.html#l00447">447</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1795     <p>
1796     References <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1797     <p>
1798     Referenced by <a class="el" href="util_8c-source.html#l00486">UTIL_realloc()</a>. </td>
1799     </tr>
1800     </table>
1801     <a class="anchor" name="a42" doxytag="util.h::UTIL_mx_cmp" ></a><p>
1802     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1803     <tr>
1804     <td class="mdRow">
1805     <table cellpadding="0" cellspacing="0" border="0">
1806     <tr>
1807     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_mx_cmp </td>
1808     <td class="md" valign="top">(&nbsp;</td>
1809     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
1810     <td class="mdname" nowrap>, </td>
1811     </tr>
1812     <tr>
1813     <td class="md" nowrap align="right"></td>
1814     <td></td>
1815     <td class="md" nowrap>const char *&nbsp;</td>
1816     <td class="mdname" nowrap>, </td>
1817     </tr>
1818     <tr>
1819     <td class="md" nowrap align="right"></td>
1820     <td></td>
1821     <td class="md" nowrap>const&nbsp;</td>
1822     <td class="mdname" nowrap> <em>int8_t</em></td>
1823     </tr>
1824     <tr>
1825     <td></td>
1826     <td class="md">)&nbsp;</td>
1827     <td class="md" colspan="2"></td>
1828     </tr>
1829     </table>
1830     </td>
1831     </tr>
1832     </table>
1833     <table cellspacing=5 cellpadding=0 border=0>
1834     <tr>
1835     <td>
1836     &nbsp;
1837     </td>
1838     <td>
1839    
1840     <p>
1841     Definition at line <a class="el" href="util_8c-source.html#l00914">914</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1842     <p>
1843     References <a class="el" href="spf_8h-source.html#l00363">peer_info_s::addr</a>, <a class="el" href="dns_8c-source.html#l00217">DNS_query()</a>, <a class="el" href="spf_8h-source.html#l00344">peer_info_s::from</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a88a51">SPF_PASS</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8c-source.html#l01309">UTIL_assoc_prefix()</a>, <a class="el" href="util_8c-source.html#l02100">UTIL_validate_hostname()</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1844     <p>
1845     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>.
1846     <p>
1847     Here is the call graph for this function:<p><center><img src="util_8h_a42_cgraph.png" border="0" usemap="#util_8h_a42_cgraph_map" alt=""></center>
1848     <map name="util_8h_a42_cgraph_map">
1849     <area href="dns_8h.html#a8" shape="rect" coords="165,188,245,206" alt="">
1850     <area href="util_8h.html#a54" shape="rect" coords="485,230,643,249" alt="">
1851     <area href="util_8h.html#a47" shape="rect" coords="693,277,813,296" alt="">
1852     <area href="dns_8h.html#a12" shape="rect" coords="296,145,435,164" alt="">
1853     <area href="dns_8h.html#a10" shape="rect" coords="307,188,424,206" alt="">
1854     <area href="dns_8h.html#a11" shape="rect" coords="309,230,421,249" alt="">
1855     <area href="dns_8h.html#a9" shape="rect" coords="309,102,421,121" alt="">
1856     <area href="util_8h.html#a52" shape="rect" coords="703,230,804,249" alt="">
1857     </map>
1858     </td>
1859     </tr>
1860     </table>
1861     <a class="anchor" name="a44" doxytag="util.h::UTIL_ptr_cmp" ></a><p>
1862     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1863     <tr>
1864     <td class="mdRow">
1865     <table cellpadding="0" cellspacing="0" border="0">
1866     <tr>
1867     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_ptr_cmp </td>
1868     <td class="md" valign="top">(&nbsp;</td>
1869     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
1870     <td class="mdname" nowrap>, </td>
1871     </tr>
1872     <tr>
1873     <td class="md" nowrap align="right"></td>
1874     <td></td>
1875     <td class="md" nowrap>const char *&nbsp;</td>
1876     <td class="mdname" nowrap></td>
1877     </tr>
1878     <tr>
1879     <td></td>
1880     <td class="md">)&nbsp;</td>
1881     <td class="md" colspan="2"></td>
1882     </tr>
1883     </table>
1884     </td>
1885     </tr>
1886     </table>
1887     <table cellspacing=5 cellpadding=0 border=0>
1888     <tr>
1889     <td>
1890     &nbsp;
1891     </td>
1892     <td>
1893    
1894     <p>
1895     Definition at line <a class="el" href="util_8c-source.html#l01135">1135</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1896     <p>
1897     References <a class="el" href="spf_8h-source.html#l00349">peer_info_s::current_domain</a>, <a class="el" href="dns_8c-source.html#l00217">DNS_query()</a>, <a class="el" href="spf_8h-source.html#l00359">peer_info_s::error</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h-source.html#l00351">peer_info_s::r_ip</a>, <a class="el" href="spf_8h-source.html#l00341">peer_info_s::rs</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h-source.html#l00083">SPF_MAX_HNAME</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1898     <p>
1899     Referenced by <a class="el" href="main_8c-source.html#l00721">SPF_parse_policy()</a>.
1900     <p>
1901     Here is the call graph for this function:<p><center><img src="util_8h_a44_cgraph.png" border="0" usemap="#util_8h_a44_cgraph_map" alt=""></center>
1902     <map name="util_8h_a44_cgraph_map">
1903     <area href="dns_8h.html#a8" shape="rect" coords="173,90,253,109" alt="">
1904     <area href="util_8h.html#a50" shape="rect" coords="163,133,264,152" alt="">
1905     <area href="dns_8h.html#a12" shape="rect" coords="315,5,453,24" alt="">
1906     <area href="dns_8h.html#a10" shape="rect" coords="325,48,443,66" alt="">
1907     <area href="dns_8h.html#a11" shape="rect" coords="328,90,440,109" alt="">
1908     <area href="util_8h.html#a47" shape="rect" coords="712,134,832,153" alt="">
1909     <area href="dns_8h.html#a9" shape="rect" coords="328,184,440,202" alt="">
1910     <area href="util_8h.html#a54" shape="rect" coords="504,90,661,109" alt="">
1911     <area href="util_8h.html#a52" shape="rect" coords="721,90,823,109" alt="">
1912     </map>
1913     </td>
1914     </tr>
1915     </table>
1916     <a class="anchor" name="a29" doxytag="util.h::UTIL_realloc" ></a><p>
1917     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1918     <tr>
1919     <td class="mdRow">
1920     <table cellpadding="0" cellspacing="0" border="0">
1921     <tr>
1922     <td class="md" nowrap valign="top"> void* UTIL_realloc </td>
1923     <td class="md" valign="top">(&nbsp;</td>
1924     <td class="md" nowrap valign="top">void *&nbsp;</td>
1925     <td class="mdname" nowrap>, </td>
1926     </tr>
1927     <tr>
1928     <td class="md" nowrap align="right"></td>
1929     <td></td>
1930     <td class="md" nowrap>const&nbsp;</td>
1931     <td class="mdname" nowrap> <em>int32_t</em>, </td>
1932     </tr>
1933     <tr>
1934     <td class="md" nowrap align="right"></td>
1935     <td></td>
1936     <td class="md" nowrap>const char *&nbsp;</td>
1937     <td class="mdname" nowrap>, </td>
1938     </tr>
1939     <tr>
1940     <td class="md" nowrap align="right"></td>
1941     <td></td>
1942     <td class="md" nowrap>const&nbsp;</td>
1943     <td class="mdname" nowrap> <em>int32_t</em>, </td>
1944     </tr>
1945     <tr>
1946     <td class="md" nowrap align="right"></td>
1947     <td></td>
1948     <td class="md" nowrap>const char *&nbsp;</td>
1949     <td class="mdname" nowrap></td>
1950     </tr>
1951     <tr>
1952     <td></td>
1953     <td class="md">)&nbsp;</td>
1954     <td class="md" colspan="2"></td>
1955     </tr>
1956     </table>
1957     </td>
1958     </tr>
1959     </table>
1960     <table cellspacing=5 cellpadding=0 border=0>
1961     <tr>
1962     <td>
1963     &nbsp;
1964     </td>
1965     <td>
1966    
1967     <p>
1968     Definition at line <a class="el" href="util_8c-source.html#l00486">486</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
1969     <p>
1970     References <a class="el" href="util_8c-source.html#l00447">UTIL_malloc()</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
1971     <p>
1972     Here is the call graph for this function:<p><center><img src="util_8h_a29_cgraph.png" border="0" usemap="#util_8h_a29_cgraph_map" alt=""></center>
1973     <map name="util_8h_a29_cgraph_map">
1974     <area href="util_8h.html#a28" shape="rect" coords="153,5,239,23" alt="">
1975     </map>
1976     </td>
1977     </tr>
1978     </table>
1979     <a class="anchor" name="a50" doxytag="util.h::UTIL_rev_addr" ></a><p>
1980     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1981     <tr>
1982     <td class="mdRow">
1983     <table cellpadding="0" cellspacing="0" border="0">
1984     <tr>
1985     <td class="md" nowrap valign="top"> char* UTIL_rev_addr </td>
1986     <td class="md" valign="top">(&nbsp;</td>
1987     <td class="md" nowrap valign="top">const char *&nbsp;</td>
1988     <td class="mdname1" valign="top" nowrap> </td>
1989     <td class="md" valign="top">&nbsp;)&nbsp;</td>
1990     <td class="md" nowrap></td>
1991     </tr>
1992     </table>
1993     </td>
1994     </tr>
1995     </table>
1996     <table cellspacing=5 cellpadding=0 border=0>
1997     <tr>
1998     <td>
1999     &nbsp;
2000     </td>
2001     <td>
2002    
2003     <p>
2004     Definition at line <a class="el" href="util_8c-source.html#l01843">1843</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2005     <p>
2006     References <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00138">xprintf</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
2007     <p>
2008     Referenced by <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, <a class="el" href="util_8c-source.html#l01135">UTIL_ptr_cmp()</a>, and <a class="el" href="util_8c-source.html#l02038">UTIL_validate_ptr()</a>. </td>
2009     </tr>
2010     </table>
2011     <a class="anchor" name="a56" doxytag="util.h::UTIL_reverse" ></a><p>
2012     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2013     <tr>
2014     <td class="mdRow">
2015     <table cellpadding="0" cellspacing="0" border="0">
2016     <tr>
2017     <td class="md" nowrap valign="top"> char* UTIL_reverse </td>
2018     <td class="md" valign="top">(&nbsp;</td>
2019     <td class="md" nowrap valign="top">const char *&nbsp;</td>
2020     <td class="mdname" nowrap>, </td>
2021     </tr>
2022     <tr>
2023     <td class="md" nowrap align="right"></td>
2024     <td></td>
2025     <td class="md" nowrap>const&nbsp;</td>
2026     <td class="mdname" nowrap> <em>char</em></td>
2027     </tr>
2028     <tr>
2029     <td></td>
2030     <td class="md">)&nbsp;</td>
2031     <td class="md" colspan="2"></td>
2032     </tr>
2033     </table>
2034     </td>
2035     </tr>
2036     </table>
2037     <table cellspacing=5 cellpadding=0 border=0>
2038     <tr>
2039     <td>
2040     &nbsp;
2041     </td>
2042     <td>
2043    
2044     <p>
2045     Definition at line <a class="el" href="util_8c-source.html#l02331">2331</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2046     <p>
2047     References <a class="el" href="spf_8h-source.html#l00299">split_str_s::elements</a>, <a class="el" href="spf_8h-source.html#l00297">split_str_s::head</a>, <a class="el" href="spf_8h-source.html#l00283">split_str_node_s::len</a>, <a class="el" href="spf_8h-source.html#l00285">split_str_node_s::next</a>, <a class="el" href="spf_8h-source.html#l00284">split_str_node_s::s</a>, <a class="el" href="util_8h-source.html#l00108">SIZEOF</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="spf_8h.html#a44">split_str_node_t</a>, <a class="el" href="spf_8h.html#a45">split_str_t</a>, <a class="el" href="spf_8h-source.html#l00298">split_str_s::tail</a>, <a class="el" href="util_8c-source.html#l02421">UTIL_addnode()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
2048     <p>
2049     Referenced by <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>.
2050     <p>
2051     Here is the call graph for this function:<p><center><img src="util_8h_a56_cgraph.png" border="0" usemap="#util_8h_a56_cgraph_map" alt=""></center>
2052     <map name="util_8h_a56_cgraph_map">
2053     <area href="util_8h.html#a57" shape="rect" coords="157,5,256,23" alt="">
2054     </map>
2055     </td>
2056     </tr>
2057     </table>
2058     <a class="anchor" name="a36" doxytag="util.h::UTIL_split_str" ></a><p>
2059     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2060     <tr>
2061     <td class="mdRow">
2062     <table cellpadding="0" cellspacing="0" border="0">
2063     <tr>
2064     <td class="md" nowrap valign="top"> char* UTIL_split_str </td>
2065     <td class="md" valign="top">(&nbsp;</td>
2066     <td class="md" nowrap valign="top">const char *&nbsp;</td>
2067     <td class="mdname" nowrap>, </td>
2068     </tr>
2069     <tr>
2070     <td class="md" nowrap align="right"></td>
2071     <td></td>
2072     <td class="md" nowrap>const&nbsp;</td>
2073     <td class="mdname" nowrap> <em>char</em>, </td>
2074     </tr>
2075     <tr>
2076     <td class="md" nowrap align="right"></td>
2077     <td></td>
2078     <td class="md" nowrap>const&nbsp;</td>
2079     <td class="mdname" nowrap> <em>u_int8_t</em></td>
2080     </tr>
2081     <tr>
2082     <td></td>
2083     <td class="md">)&nbsp;</td>
2084     <td class="md" colspan="2"></td>
2085     </tr>
2086     </table>
2087     </td>
2088     </tr>
2089     </table>
2090     <table cellspacing=5 cellpadding=0 border=0>
2091     <tr>
2092     <td>
2093     &nbsp;
2094     </td>
2095     <td>
2096    
2097     <p>
2098     Definition at line <a class="el" href="util_8c-source.html#l00615">615</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2099     <p>
2100     References <a class="el" href="spf_8h-source.html#l00072">SPF_MAX_STR</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
2101     <p>
2102     Referenced by <a class="el" href="util_8c-source.html#l01906">UTIL_get_dname()</a>. </td>
2103     </tr>
2104     </table>
2105     <a class="anchor" name="a37" doxytag="util.h::UTIL_split_strr" ></a><p>
2106     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2107     <tr>
2108     <td class="mdRow">
2109     <table cellpadding="0" cellspacing="0" border="0">
2110     <tr>
2111     <td class="md" nowrap valign="top"> char* UTIL_split_strr </td>
2112     <td class="md" valign="top">(&nbsp;</td>
2113     <td class="md" nowrap valign="top">const char *&nbsp;</td>
2114     <td class="mdname" nowrap>, </td>
2115     </tr>
2116     <tr>
2117     <td class="md" nowrap align="right"></td>
2118     <td></td>
2119     <td class="md" nowrap>const&nbsp;</td>
2120     <td class="mdname" nowrap> <em>char</em>, </td>
2121     </tr>
2122     <tr>
2123     <td class="md" nowrap align="right"></td>
2124     <td></td>
2125     <td class="md" nowrap>const&nbsp;</td>
2126     <td class="mdname" nowrap> <em>u_int8_t</em></td>
2127     </tr>
2128     <tr>
2129     <td></td>
2130     <td class="md">)&nbsp;</td>
2131     <td class="md" colspan="2"></td>
2132     </tr>
2133     </table>
2134     </td>
2135     </tr>
2136     </table>
2137     <table cellspacing=5 cellpadding=0 border=0>
2138     <tr>
2139     <td>
2140     &nbsp;
2141     </td>
2142     <td>
2143    
2144     <p>
2145     Definition at line <a class="el" href="util_8c-source.html#l00684">684</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2146     <p>
2147     References <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00128">xstrdup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
2148     <p>
2149     Referenced by <a class="el" href="macro_8c-source.html#l00505">MACRO_eatmore()</a>. </td>
2150     </tr>
2151     </table>
2152     <a class="anchor" name="a34" doxytag="util.h::UTIL_strdup" ></a><p>
2153     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2154     <tr>
2155     <td class="mdRow">
2156     <table cellpadding="0" cellspacing="0" border="0">
2157     <tr>
2158     <td class="md" nowrap valign="top"> char* UTIL_strdup </td>
2159     <td class="md" valign="top">(&nbsp;</td>
2160     <td class="md" nowrap valign="top">const char *&nbsp;</td>
2161     <td class="mdname1" valign="top" nowrap> </td>
2162     <td class="md" valign="top">&nbsp;)&nbsp;</td>
2163     <td class="md" nowrap></td>
2164     </tr>
2165     </table>
2166     </td>
2167     </tr>
2168     </table>
2169     <table cellspacing=5 cellpadding=0 border=0>
2170     <tr>
2171     <td>
2172     &nbsp;
2173     </td>
2174     <td>
2175    
2176     <p>
2177     Definition at line <a class="el" href="util_8c-source.html#l00412">412</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2178     <p>
2179     References <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>. </td>
2180     </tr>
2181     </table>
2182     <a class="anchor" name="a33" doxytag="util.h::UTIL_strndup" ></a><p>
2183     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2184     <tr>
2185     <td class="mdRow">
2186     <table cellpadding="0" cellspacing="0" border="0">
2187     <tr>
2188     <td class="md" nowrap valign="top"> char* UTIL_strndup </td>
2189     <td class="md" valign="top">(&nbsp;</td>
2190     <td class="md" nowrap valign="top">const char *&nbsp;</td>
2191     <td class="mdname" nowrap>, </td>
2192     </tr>
2193     <tr>
2194     <td class="md" nowrap align="right"></td>
2195     <td></td>
2196     <td class="md" nowrap>const&nbsp;</td>
2197     <td class="mdname" nowrap> <em>size_t</em></td>
2198     </tr>
2199     <tr>
2200     <td></td>
2201     <td class="md">)&nbsp;</td>
2202     <td class="md" colspan="2"></td>
2203     </tr>
2204     </table>
2205     </td>
2206     </tr>
2207     </table>
2208     <table cellspacing=5 cellpadding=0 border=0>
2209     <tr>
2210     <td>
2211     &nbsp;
2212     </td>
2213     <td>
2214    
2215     <p>
2216     Definition at line <a class="el" href="util_8c-source.html#l00378">378</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2217     <p>
2218     References <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>. </td>
2219     </tr>
2220     </table>
2221     <a class="anchor" name="a55" doxytag="util.h::UTIL_url_encode" ></a><p>
2222     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2223     <tr>
2224     <td class="mdRow">
2225     <table cellpadding="0" cellspacing="0" border="0">
2226     <tr>
2227     <td class="md" nowrap valign="top"> char* UTIL_url_encode </td>
2228     <td class="md" valign="top">(&nbsp;</td>
2229     <td class="md" nowrap valign="top">const char *&nbsp;</td>
2230     <td class="mdname1" valign="top" nowrap> </td>
2231     <td class="md" valign="top">&nbsp;)&nbsp;</td>
2232     <td class="md" nowrap></td>
2233     </tr>
2234     </table>
2235     </td>
2236     </tr>
2237     </table>
2238     <table cellspacing=5 cellpadding=0 border=0>
2239     <tr>
2240     <td>
2241     &nbsp;
2242     </td>
2243     <td>
2244    
2245     <p>
2246     Definition at line <a class="el" href="util_8c-source.html#l02272">2272</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2247     <p>
2248     References <a class="el" href="util_8h-source.html#l00171">urlchr_test</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>. </td>
2249     </tr>
2250     </table>
2251     <a class="anchor" name="a54" doxytag="util.h::UTIL_validate_hostname" ></a><p>
2252     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2253     <tr>
2254     <td class="mdRow">
2255     <table cellpadding="0" cellspacing="0" border="0">
2256     <tr>
2257     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_validate_hostname </td>
2258     <td class="md" valign="top">(&nbsp;</td>
2259     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
2260     <td class="mdname" nowrap>, </td>
2261     </tr>
2262     <tr>
2263     <td class="md" nowrap align="right"></td>
2264     <td></td>
2265     <td class="md" nowrap>const char *&nbsp;</td>
2266     <td class="mdname" nowrap>, </td>
2267     </tr>
2268     <tr>
2269     <td class="md" nowrap align="right"></td>
2270     <td></td>
2271     <td class="md" nowrap>const&nbsp;</td>
2272     <td class="mdname" nowrap> <em>int8_t</em></td>
2273     </tr>
2274     <tr>
2275     <td></td>
2276     <td class="md">)&nbsp;</td>
2277     <td class="md" colspan="2"></td>
2278     </tr>
2279     </table>
2280     </td>
2281     </tr>
2282     </table>
2283     <table cellspacing=5 cellpadding=0 border=0>
2284     <tr>
2285     <td>
2286     &nbsp;
2287     </td>
2288     <td>
2289    
2290     <p>
2291     Definition at line <a class="el" href="util_8c-source.html#l02100">2100</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2292     <p>
2293     References <a class="el" href="spf_8h-source.html#l00363">peer_info_s::addr</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h.html#a40">policy_addr_t</a>, <a class="el" href="spf_8h-source.html#l00351">peer_info_s::r_ip</a>, <a class="el" href="util_8h-source.html#l00108">SIZEOF</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="util_8h-source.html#l00098">SPF_MAX_GHBNR_DBUF</a>, <a class="el" href="spf_8h-source.html#l00079">SPF_MAX_IP_ADDR</a>, <a class="el" href="spf_8h.html#a88a51">SPF_PASS</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8c-source.html#l01309">UTIL_assoc_prefix()</a>, <a class="el" href="util_8c-source.html#l01961">UTIL_cidr_cmp()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="dns_8h-source.html#l00121">xgethostbyname</a>, <a class="el" href="dns_8h-source.html#l00122">xgethostbyname_free</a>, <a class="el" href="util_8h-source.html#l00125">xmalloc</a>, <a class="el" href="util_8h-source.html#l00146">xpprintf</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
2294     <p>
2295     Referenced by <a class="el" href="dns_8c-source.html#l00975">DNS_check_client_reverse()</a>, <a class="el" href="dns_8c-source.html#l00716">DNS_ptr_answer()</a>, and <a class="el" href="util_8c-source.html#l00914">UTIL_mx_cmp()</a>.
2296     <p>
2297     Here is the call graph for this function:<p><center><img src="util_8h_a54_cgraph.png" border="0" usemap="#util_8h_a54_cgraph_map" alt=""></center>
2298     <map name="util_8h_a54_cgraph_map">
2299     <area href="util_8h.html#a47" shape="rect" coords="227,5,347,24" alt="">
2300     <area href="util_8h.html#a52" shape="rect" coords="236,48,337,66" alt="">
2301     <area href="util_8h.html#a35" shape="rect" coords="396,5,476,24" alt="">
2302     </map>
2303     </td>
2304     </tr>
2305     </table>
2306     <a class="anchor" name="a53" doxytag="util.h::UTIL_validate_ptr" ></a><p>
2307     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2308     <tr>
2309     <td class="mdRow">
2310     <table cellpadding="0" cellspacing="0" border="0">
2311     <tr>
2312     <td class="md" nowrap valign="top"> <a class="el" href="spf_8h.html#a35">SPF_BOOL</a> UTIL_validate_ptr </td>
2313     <td class="md" valign="top">(&nbsp;</td>
2314     <td class="md" nowrap valign="top"><a class="el" href="structpeer__info__s.html">peer_info_t</a> *&nbsp;</td>
2315     <td class="mdname1" valign="top" nowrap> </td>
2316     <td class="md" valign="top">&nbsp;)&nbsp;</td>
2317     <td class="md" nowrap></td>
2318     </tr>
2319     </table>
2320     </td>
2321     </tr>
2322     </table>
2323     <table cellspacing=5 cellpadding=0 border=0>
2324     <tr>
2325     <td>
2326     &nbsp;
2327     </td>
2328     <td>
2329    
2330     <p>
2331     Definition at line <a class="el" href="util_8c-source.html#l02038">2038</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2332     <p>
2333     References <a class="el" href="spf_8h-source.html#l00349">peer_info_s::current_domain</a>, <a class="el" href="dns_8c-source.html#l00217">DNS_query()</a>, <a class="el" href="spf_8h-source.html#l00359">peer_info_s::error</a>, <a class="el" href="spf_8h.html#a46">peer_info_t</a>, <a class="el" href="spf_8h-source.html#l00351">peer_info_s::r_ip</a>, <a class="el" href="spf_8h-source.html#l00352">peer_info_s::r_vhname</a>, <a class="el" href="spf_8h-source.html#l00341">peer_info_s::rs</a>, <a class="el" href="spf_8h.html#a35">SPF_BOOL</a>, <a class="el" href="spf_8h.html#a87a49">SPF_FALSE</a>, <a class="el" href="spf_8h-source.html#l00083">SPF_MAX_HNAME</a>, <a class="el" href="spf_8h.html#a87a50">SPF_TRUE</a>, <a class="el" href="util_8c-source.html#l01843">UTIL_rev_addr()</a>, <a class="el" href="util_8h-source.html#l00154">xepprintf</a>, <a class="el" href="util_8h-source.html#l00127">xfree</a>, <a class="el" href="util_8h-source.html#l00129">xstrndup</a>, and <a class="el" href="util_8h-source.html#l00142">xvprintf</a>.
2334     <p>
2335     Here is the call graph for this function:<p><center><img src="util_8h_a53_cgraph.png" border="0" usemap="#util_8h_a53_cgraph_map" alt=""></center>
2336     <map name="util_8h_a53_cgraph_map">
2337     <area href="dns_8h.html#a8" shape="rect" coords="197,90,277,109" alt="">
2338     <area href="util_8h.html#a50" shape="rect" coords="187,133,288,152" alt="">
2339     <area href="dns_8h.html#a12" shape="rect" coords="339,5,477,24" alt="">
2340     <area href="dns_8h.html#a10" shape="rect" coords="349,48,467,66" alt="">
2341     <area href="dns_8h.html#a11" shape="rect" coords="352,90,464,109" alt="">
2342     <area href="util_8h.html#a47" shape="rect" coords="736,134,856,153" alt="">
2343     <area href="dns_8h.html#a9" shape="rect" coords="352,184,464,202" alt="">
2344     <area href="util_8h.html#a54" shape="rect" coords="528,90,685,109" alt="">
2345     <area href="util_8h.html#a52" shape="rect" coords="745,90,847,109" alt="">
2346     </map>
2347     </td>
2348     </tr>
2349     </table>
2350     <hr><h2>Variable Documentation</h2>
2351     <a class="anchor" name="a22" doxytag="util.h::urlchr_table" ></a><p>
2352     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2353     <tr>
2354     <td class="mdRow">
2355     <table cellpadding="0" cellspacing="0" border="0">
2356     <tr>
2357     <td class="md" nowrap valign="top"> const u_char <a class="el" href="util_8h.html#a22">urlchr_table</a>[256]<code> [static]</code> </td>
2358     </tr>
2359     </table>
2360     </td>
2361     </tr>
2362     </table>
2363     <table cellspacing=5 cellpadding=0 border=0>
2364     <tr>
2365     <td>
2366     &nbsp;
2367     </td>
2368     <td>
2369    
2370     <p>
2371     <b>Initial value:</b><pre class="fragment"><div>
2372     {
2373     1, 1, 1, 1, 1, 1, 1, 1,
2374     1, 1, 1, 1, 1, 1, 1, 1,
2375     1, 1, 1, 1, 1, 1, 1, 1,
2376     1, 1, 1, 1, 1, 1, 1, 1,
2377     1, 0, 1, 1, 0, 1, 1, 0,
2378     0, 0, 0, 1, 0, 0, 0, 1,
2379     0, 0, 0, 0, 0, 0, 0, 0,
2380     0, 0, 1, 1, 1, 1, 1, 1,
2381     1, 0, 0, 0, 0, 0, 0, 0,
2382     0, 0, 0, 0, 0, 0, 0, 0,
2383     0, 0, 0, 0, 0, 0, 0, 0,
2384     0, 0, 0, 1, 1, 1, 1, 0,
2385     1, 0, 0, 0, 0, 0, 0, 0,
2386     0, 0, 0, 0, 0, 0, 0, 0,
2387     0, 0, 0, 0, 0, 0, 0, 0,
2388     0, 0, 0, 1, 1, 1, 1, 1,
2389    
2390     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2391     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2392     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2393     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2394    
2395     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2396     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2397     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2398     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2399     }
2400     </div></pre>Definition at line <a class="el" href="util_8h-source.html#l00172">172</a> of file <a class="el" href="util_8h-source.html">util.h</a>. </td>
2401     </tr>
2402     </table>
2403     <a class="anchor" name="a23" doxytag="util.h::util_mutex" ></a><p>
2404     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
2405     <tr>
2406     <td class="mdRow">
2407     <table cellpadding="0" cellspacing="0" border="0">
2408     <tr>
2409     <td class="md" nowrap valign="top"> void* <a class="el" href="util_8h.html#a23">util_mutex</a> </td>
2410     </tr>
2411     </table>
2412     </td>
2413     </tr>
2414     </table>
2415     <table cellspacing=5 cellpadding=0 border=0>
2416     <tr>
2417     <td>
2418     &nbsp;
2419     </td>
2420     <td>
2421    
2422     <p>
2423     Definition at line <a class="el" href="util_8c-source.html#l00066">66</a> of file <a class="el" href="util_8c-source.html">util.c</a>.
2424     <p>
2425     Referenced by <a class="el" href="util_8c-source.html#l00154">_printf_dbg()</a>, <a class="el" href="util_8c-source.html#l00282">UTIL_get_date()</a>, and <a class="el" href="util_8c-source.html#l00326">UTIL_log_result()</a>. </td>
2426     </tr>
2427     </table>
2428     <hr size="1"><address style="align: right;"><small>Generated on Thu Sep 16 18:10:52 2004 for libSPF v1.0 by
2429     <a href="http://www.doxygen.org/index.html">
2430     <img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
2431     </body>
2432     </html>