Includes build infrastructure & config updates required for changes in 8.16.1 MFC after: 5 days
94 lines
2.5 KiB
HTML
94 lines
2.5 KiB
HTML
<HTML>
|
|
<HEAD><TITLE>smfi_version()</TITLE></HEAD>
|
|
<BODY>
|
|
<!--
|
|
$Id: smfi_version.html,v 1.7 2013-11-22 20:51:39 ca Exp $
|
|
-->
|
|
<H1>smfi_version()</H1>
|
|
|
|
<TABLE BORDER="0" CELLSPACING=4 CELLPADDING=4>
|
|
<!---------- Synopsis ----------->
|
|
<TR><TH VALIGN="TOP" ALIGN=LEFT WIDTH=100>SYNOPSIS</TH><TD>
|
|
<PRE>
|
|
#include <libmilter/mfapi.h>
|
|
int smfi_version(
|
|
unsigned int *pmajor,
|
|
unsigned int *pminor,
|
|
unsigned int *ppl
|
|
);
|
|
</PRE>
|
|
Get the (runtime) version of libmilter.
|
|
</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>smfi_version may be called at any time.</TD>
|
|
</TR>
|
|
<TR ALIGN="LEFT" VALIGN=TOP>
|
|
<TH WIDTH="80">Effects</TH>
|
|
<TD>None.</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</TD></TR>
|
|
|
|
<!----------- 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>pmajor</TD>
|
|
<TD>Pointer to an unsigned int variable to store major version number.
|
|
</TD></TR>
|
|
<TR VALIGN="TOP"><TD>pminor</TD>
|
|
<TD>Pointer to an unsigned int variable to store minor version number.
|
|
</TD></TR>
|
|
<TR VALIGN="TOP"><TD>ppl</TD>
|
|
<TD>Pointer to an unsigned int variable to store patch level number.
|
|
</TD></TR>
|
|
</TABLE>
|
|
</TD></TR>
|
|
|
|
<!----------- Return values ---------->
|
|
<TR>
|
|
<TH VALIGN="TOP" ALIGN=LEFT>RETURN VALUES</TH>
|
|
<TD>smfi_version returns MI_SUCCESS.</TD>
|
|
</TR>
|
|
|
|
</TABLE>
|
|
|
|
Note: the compile time version of libmilter is available in the macro
|
|
<CODE>SMFI_VERSION</CODE>.
|
|
To extract the major and minor version as well as the current patch level
|
|
from this macro, the macros
|
|
<CODE>SM_LM_VRS_MAJOR(v)</CODE>,
|
|
<CODE>SM_LM_VRS_MINOR(v)</CODE>, and
|
|
<CODE>SM_LM_VRS_PLVL(v)</CODE>
|
|
can be used, respectively.
|
|
A milter can check the
|
|
<CODE>SMFI_VERSION</CODE>
|
|
macro to determine which functions to use
|
|
(at compile time via C preprocessor statements).
|
|
Using this macro and the
|
|
<CODE>smfi_version()</CODE>
|
|
function,
|
|
a milter can determine at runtime whether it has been (dynamically)
|
|
linked against the expected libmilter version.
|
|
Such a function should only compare the major and minor version,
|
|
not the patch level,
|
|
i.e., the libmilter library will be compatible despite
|
|
different patch levels.
|
|
|
|
|
|
<HR SIZE="1">
|
|
<FONT SIZE="-1">
|
|
Copyright (c) 2006-2008 Proofpoint, Inc. and its suppliers.
|
|
All rights reserved.
|
|
<BR>
|
|
By using this file, you agree to the terms and conditions set
|
|
forth in the LICENSE.
|
|
</FONT>
|
|
</BODY>
|
|
</HTML>
|