<html> <head><title>dkim_set_prescreen()</title></head> <body> <!-- $Id: dkim_set_prescreen.html,v 1.2 2010/07/24 04:52:15 cm-msk Exp $ --> <h1>dkim_set_prescreen()</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> <a href="dkim_stat.html"><tt>DKIM_STAT</tt></a> dkim_set_prescreen( <a href="dkim_lib.html"><tt>DKIM_LIB</tt></a> *libopendkim, <a href="dkim_cbstat.html">DKIM_CBSTAT</a> (*func)(<a href="dkim.html">DKIM</a> *dkim, <a href="dkim_siginfo.html">DKIM_SIGINFO</a> **sigs, int nsigs)); ); </pre> Defines a callback function to be used for pre-scanning and sorting signatures discovered on a message. <p> From within <a href="dkim_eoh.html"><tt>dkim_eoh()</tt></a>, an array of <a href="dkim_siginfo.html"><tt>DKIM_SIGINFO</tt></a> handles is allocated, and an array of pointers is created referring to them. If this callback function is defined, it will be called by <tt>dkim_eoh()</tt> to give the caller a chance to review the signatures and possibly reorder or flag them for special treatment by the library. <tt>sigs</tt> will refer to the array of discovered signatures and <tt>nsigs</tt> will indicate the length of this array. <p> From within the callback you can use <a href="dkim_sig_getcontext.html"><tt>dkim_sig_getcontext()</tt></a> on any of the <tt>DKIM_SIGINFO</tt> pointers to retrieve the user-allocated context specific to that signature as created earlier by the allocation callback set by <a href="dkim_set_signature_handle.html"><tt>dkim_set_signature_handle()</tt></a> and make use of the data found there. That context is not used by the library in any way. <p> The callback can also use the function <a href="dkim_sig_ignore.html"><tt>dkim_sig_ignore()</tt></a> to indicate to the library that the signature should be completely ignored. <p> The callback should return one of the <a href="dkim_cbstat.html"><tt>DKIM_CBSTAT</tt></a> return values. Any other value will cause <tt>dkim_eoh()</tt> to abort and return a status of <tt>DKIM_STAT_CBINVALID</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_set_prescreen()</tt> must be called before <a href="dkim_eoh.html"><tt>dkim_eoh()</tt></a> has been called. </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 which takes a <tt>DKIM</tt> handle, a pointer to an array of <tt>DKIM_SIGINFO</tt> handles and an integer indicating the length of that array as parameters. If NULL, no callback will be used. </td></tr> </table> </td></tr> <!----------- Return Values ----------> <tr> <th valign="top" align=left>RETURN VALUES</th> <td> <ul> <li>DKIM_STAT_OK -- success </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) 2009, 2010, 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>