<html> <head><title>dkim_dns_set_query_start()</title></head> <body> <!-- $Id: dkim_dns_set_query_start.html,v 1.2 2010/07/24 04:52:15 cm-msk Exp $ --> <h1>dkim_dns_set_query_start()</h1> <p align="right"><a href="index.html">[back to index]</a></p> <table border="0" cellspacing=4 cellpadding=4> <!---------- Synopsis -----------> <tr><th valign="top" align=left width=150>SYNOPSIS</th><td> <pre> #include <dkim.h> <tt>void</tt> dkim_dns_set_query_start( <a href="dkim_lib.html"><tt>DKIM_LIB</tt></a> *libopendkim, <tt>int</tt> (*func)(<tt>void *, int, u_char *, u_char *, size_t, void **</tt>) ); </pre> Declares the function to be used by a libopendkim instance when it needs to start a DNS query. By default, a stub function that calls the standard UNIX resolver library is set.<p> The function will be passed the following arguments: <ol> <li> An opaque DNS service handle as previously specified by a call to <a href="dkim_dns_set_query_service.html"><tt>dkim_dns_set_query_service()</tt></a> <li> The DNS query type (e.g., <tt>ns_t_txt</tt> or the older <tt>T_TXT</tt>) <li> A NULL-terminated string containing the name to be queried <li> The address of a buffer into which the result should be written <li> The length of that buffer <li> The address of a <tt>void *</tt> that should be updated to contain an opaque handle for the started query </ol> The function is expected to return one of the following: <ul> <li><tt>DKIM_DNS_SUCCESS</tt> -- query was successfully initiated <li><tt>DKIM_DNS_ERROR</tt> -- an error occurred </ul> <p> The query type should be a DNS resource record type as registered with IANA (<a href="http://www.iana.org/assignments/dns-parameters">here</a>). The constants are typically given names for use in source code via the include file <tt><arpa/nameser.h></tt>. </p> </td></tr> <!----------- Description ----------> <tr><th valign="top" align=left>DESCRIPTION</th><td> <table border="1" cellspacing=1 cellpadding=4> <tr align="left" valign=top> <th width="80">Called When</th> <td><tt>dkim_dns_set_query_start()</tt> can be called at any time, but is presumably most useful prior to doing any DNS operations such as are done during <a href="dkim_eoh.html"><tt>dkim_eoh()</tt></a> when verifying. </td> </tr> </table> <!----------- Arguments ----------> <tr><th valign="top" align=left>ARGUMENTS</th><td> <table border="1" cellspacing=0> <tr bgcolor="#dddddd"><th>Argument</th><th>Description</th></tr> <tr valign="top"><td>libopendkim</td> <td>The library instantiation handle, returned by <a href="dkim_init.html"><tt>dkim_init()</tt></a>. </td></tr> <tr valign="top"><td>func</td> <td>A pointer to a function that should be used to initiate DNS queries. </td></tr> </table> </td></tr> <!----------- Return Values ----------> <tr> <th valign="top" align=left>RETURN VALUES</th> <td> <ul> <li>None. </ul> </td> </tr> <!----------- Notes ----------> <tr> <th valign="top" align=left>NOTES</th> <td> <ul> <li>None. </ul> </td> </tr> </table> <hr size="1"> <font size="-1"> Copyright (c) 2007 Sendmail, Inc. and its suppliers. All rights reserved. <br> Copyright (c) 2011, The OpenDKIM Project. All rights reserved. <br> By using this file, you agree to the terms and conditions set forth in the respective licenses. </font> </body> </html>