
#use wml::openssl-macros area=docs page=CONF_modules_load_file

<title>Documents, CONF_modules_load_file(3)</title>

<h1>CONF_modules_load_file(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#NOTES">NOTES</A>
	<LI><A HREF="#RETURN_VALUE">RETURN VALUE</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
	<LI><A HREF="#HISTORY">HISTORY</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<PRE> CONF_modules_load_file, CONF_modules_load - OpenSSL configuration functions
</PRE>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/conf.h&gt;
</PRE>
<PRE> int CONF_modules_load_file(const char *filename, const char *appname,
                           unsigned long flags);
 int CONF_modules_load(const CONF *cnf, const char *appname,
                      unsigned long flags);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
The function <CODE>CONF_modules_load_file()</CODE> configures OpenSSL using
file
<STRONG>filename</STRONG> and application name <STRONG>appname</STRONG>. If <STRONG>filename</STRONG> is NULL the standard OpenSSL configuration file is used. If <STRONG>appname</STRONG> is NULL the standard OpenSSL application name <STRONG>openssl_conf</STRONG> is used. The behaviour can be cutomized using <STRONG>flags</STRONG>.

</P>
<P>
<CODE>CONF_modules_load()</CODE> is idential to
<CODE>CONF_modules_load_file()</CODE> except it read configuration
information from <STRONG>cnf</STRONG>. 

</P>
<P>
<HR>
<H1><A NAME="NOTES">NOTES</A></H1>
<P>
The following <STRONG>flags</STRONG> are currently recognized:

</P>
<P>
<STRONG>CONF_MFLAGS_IGNORE_ERRORS</STRONG> if set errors returned by individual configuration modules are ignored. If
not set the first module error is considered fatal and no further modules
are loads.

</P>
<P>
Normally any modules errors will add error information to the error queue.
If
<STRONG>CONF_MFLAGS_SILENT</STRONG> is set no error information is added.

</P>
<P>
If <STRONG>CONF_MFLAGS_NO_DSO</STRONG> is set configuration module loading from DSOs is disabled.

</P>
<P>
<STRONG>CONF_MFLAGS_IGNORE_MISSING_FILE</STRONG> if set will make <CODE>CONF_load_modules_file()</CODE> ignore missing
configuration files. Normally a missing configuration file return an error.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUE">RETURN VALUE</A></H1>
<P>
These functions return 1 for success and a zero or negative value for
failure. If module errors are not ignored the return code will reflect the
return value of the failing module (this will always be zero or negative).

</P>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<EM>conf(5)</EM>, <A HREF="../crypto/OPENSSL_config.html#">OPENSSL_config(3)</A>,
<A HREF="#CONF_free_3_CONF_free_3_">CONF_free(3), CONF_free(3)</A>, <EM>err(3),err(3)</EM>



</P>
<P>
<HR>
<H1><A NAME="HISTORY">HISTORY</A></H1>
<P>
CONF_modules_load_file and CONF_modules_load first appeared in OpenSSL
0.9.7.

</P>
:}


