xxfi_close.html revision 266527
1168515Sgshapiro<HTML> 2168515Sgshapiro<HEAD><TITLE>xxfi_close</TITLE></HEAD> 3168515Sgshapiro<BODY> 4132943Sgshapiro<!-- 5266527Sgshapiro$Id: xxfi_close.html,v 1.14 2013-11-22 20:51:39 ca Exp $ 6132943Sgshapiro--> 7168515Sgshapiro<H1>xxfi_close</H1> 890792Sgshapiro 9168515Sgshapiro<TABLE border="0" cellspacing=4 cellpadding=4> 1090792Sgshapiro<!---------- Synopsis -----------> 11168515Sgshapiro<TR><TH valign="top" align=left width=100>SYNOPSIS</TH><TD> 12168515Sgshapiro<PRE> 1390792Sgshapiro#include <libmilter/mfapi.h> 1490792Sgshapirosfsistat (*xxfi_close)( 15168515Sgshapiro SMFICTX *ctx 1690792Sgshapiro); 17168515Sgshapiro</PRE> 1890792SgshapiroThe current connection is being closed. 19168515Sgshapiro</TD></TR> 2090792Sgshapiro 2190792Sgshapiro<!----------- Description ----------> 22168515Sgshapiro<TR><TH valign="top" align=left>DESCRIPTION</TH><TD> 23168515Sgshapiro<TABLE border="1" cellspacing=1 cellpadding=4> 24168515Sgshapiro<TR align="left" valign=top> 25168515Sgshapiro<TH width="80">Called When</TH> 26168515Sgshapiro<TD>xxfi_close is always called once at the end of each connection.</TD> 27168515Sgshapiro</TR> 28168515Sgshapiro<TR align="left" valign=top> 29168515Sgshapiro<TH>Default Behavior</TH> 30168515Sgshapiro<TD>Do nothing; return SMFIS_CONTINUE.</TD> 31168515Sgshapiro</TR> 32168515Sgshapiro</TABLE> 3390792Sgshapiro 3490792Sgshapiro<!----------- Arguments ----------> 35168515Sgshapiro<TR><TH valign="top" align=left>ARGUMENTS</TH><TD> 36168515Sgshapiro <TABLE border="1" cellspacing=0> 37168515Sgshapiro <TR bgcolor="#dddddd"><TH>Argument</TH><TH>Description</TH></TR> 38168515Sgshapiro <TR valign="top"><TD>ctx</TD> 39168515Sgshapiro <TD>Opaque context structure. 40168515Sgshapiro </TD></TR> 41168515Sgshapiro </TABLE> 42168515Sgshapiro</TD></TR> 4390792Sgshapiro 4490792Sgshapiro<!----------- Notes ----------> 45168515Sgshapiro<TR> 46168515Sgshapiro<TH valign="top" align=left>NOTES</TH> 47168515Sgshapiro<TD> 48168515Sgshapiro<UL> 49168515Sgshapiro<LI>xxfi_close may be called "out-of-order", i.e. before even the 50132943Sgshapiroxxfi_connect is called. 51132943SgshapiroAfter a connection is established by the MTA to the filter, 52132943Sgshapiroif the MTA decides this connection's traffic will be discarded 53132943Sgshapiro(e.g. via an access_db result), no data will be passed to the 54132943Sgshapirofilter from the MTA until the client closes down. 55132943SgshapiroAt that time, xxfi_close is called. 56132943SgshapiroIt can therefore be the only callback ever used for a given connection, 57132943Sgshapiroand developers should anticipate this possibility when crafting their 58132943Sgshapiroxxfi_close code. 59132943SgshapiroIn particular, it is incorrect to assume the private context pointer 60132943Sgshapirowill be something other than NULL in this callback. 61168515Sgshapiro<LI>xxfi_close is called on close even if the previous mail 6290792Sgshapirotransaction was aborted. 63168515Sgshapiro<LI>xxfi_close is responsible for freeing any resources allocated on a 6490792Sgshapiroper-connection basis. 65168515Sgshapiro<LI>Since the connection is already closing, the return value is 6690792Sgshapirocurrently ignored. 67168515Sgshapiro</UL> 68168515Sgshapiro</TD> 69168515Sgshapiro</TR> 70168515Sgshapiro</TABLE> 7190792Sgshapiro 72168515Sgshapiro<HR size="1"> 73168515Sgshapiro<FONT size="-1"> 74261194SgshapiroCopyright (c) 2000, 2003, 2004 Proofpoint, Inc. and its suppliers. 7590792SgshapiroAll rights reserved. 76168515Sgshapiro<BR> 7790792SgshapiroBy using this file, you agree to the terms and conditions set 78112810Sgshapiroforth in the LICENSE. 79168515Sgshapiro</FONT> 80168515Sgshapiro</BODY> 81168515Sgshapiro</HTML> 82