<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Rampart/C: Utils</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Utils<br>
<small>
[<a class="el" href="group__rampart__utils.html">Rampart Utilities</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
rampart_credentials_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#gaa4f99e22951f687b0d6e4031b4d8517">rampart_load_credentials_module</a> (const axutil_env_t *env, axis2_char_t *cred_module_name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
rampart_credentials_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g43fd2ab5ecee27046ab9aa776b998fcc">rampart_call_credentials</a> (const axutil_env_t *env, rampart_credentials_t *cred_module, axis2_msg_ctx_t *ctx, axis2_char_t **username, axis2_char_t **password)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
rampart_authn_provider_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g0ec9419d3eefcec4d375fffee7662948">rampart_load_auth_module</a> (const axutil_env_t *env, axis2_char_t *auth_module_name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
rampart_replay_detector_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#gc42cf52130dc684f2f923f5509c748c2">rampart_load_replay_detector</a> (const axutil_env_t *env, axis2_char_t *replay_detector_name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
rampart_sct_provider_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g7db4254206a06a951400981f0d730ed6">rampart_load_sct_provider</a> (const axutil_env_t *env, axis2_char_t *sct_provider_name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rampart_callback_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g099e7dbc797120d13921dad5b727b67c">rampart_load_pwcb_module</a> (const axutil_env_t *env, axis2_char_t *callback_module_name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
rampart_authn_provider_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g8d5769b0fd5f28a030d28944e426e629">rampart_authenticate_un_pw</a> (const axutil_env_t *env, rampart_authn_provider_t *authp, const axis2_char_t *username, const axis2_char_t *password, const axis2_char_t *nonce, const axis2_char_t *created, const axis2_char_t *password_type, axis2_msg_ctx_t *msg_ctx)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g1743d0c262347ff97745318b5b795493">rampart_callback_password</a> (const axutil_env_t *env, rampart_callback_t *callback_module, const axis2_char_t *username)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g8408c8f2f6de3e90d1cae3c1caf25fa7">rampart_callback_pkcs12_password</a> (const axutil_env_t *env, rampart_callback_t *callback_module, const axis2_char_t *username)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g0a6b47a83e55c44634f53effd2367654">rampart_generate_time</a> (const axutil_env_t *env, int ttl, axis2_bool_t with_millisecond)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__util.html#g6936fe4fd4006583c669c7f2765b3d3a">rampart_compare_date_time</a> (const axutil_env_t *env, axis2_char_t *dt1, axis2_char_t *dt2)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g8d5769b0fd5f28a030d28944e426e629"></a><!-- doxytag: member="rampart_util.h::rampart_authenticate_un_pw" ref="g8d5769b0fd5f28a030d28944e426e629" args="(const axutil_env_t *env, rampart_authn_provider_t *authp, const axis2_char_t *username, const axis2_char_t *password, const axis2_char_t *nonce, const axis2_char_t *created, const axis2_char_t *password_type, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_authn_provider_status_t rampart_authenticate_un_pw           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rampart_authn_provider_t *&nbsp;</td>
          <td class="paramname"> <em>authp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>password</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>nonce</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>created</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>password_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Call auth module <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>authp</em>&nbsp;</td><td>the authentication module </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the username in the UsernameToken </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>the password in the UsernameToken </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nonce</em>&nbsp;</td><td>the nonce in the UsernameToken. Can be NULL if plain text password is used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>created</em>&nbsp;</td><td>created time in UsernameToken. Can be NULL if plain text password is used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>password_type</em>&nbsp;</td><td>the type of the password. either plain text of digest </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>msg_ctx</em>&nbsp;</td><td>the message context </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="g43fd2ab5ecee27046ab9aa776b998fcc"></a><!-- doxytag: member="rampart_util.h::rampart_call_credentials" ref="g43fd2ab5ecee27046ab9aa776b998fcc" args="(const axutil_env_t *env, rampart_credentials_t *cred_module, axis2_msg_ctx_t *ctx, axis2_char_t **username, axis2_char_t **password)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_credentials_status_t rampart_call_credentials           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rampart_credentials_t *&nbsp;</td>
          <td class="paramname"> <em>cred_module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t **&nbsp;</td>
          <td class="paramname"> <em>username</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t **&nbsp;</td>
          <td class="paramname"> <em>password</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Call credentials module User MUST free memory of username and password <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cred_module</em>&nbsp;</td><td>the credentails module </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the message context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>reference to the returned username </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>reference to the returned password </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1743d0c262347ff97745318b5b795493"></a><!-- doxytag: member="rampart_util.h::rampart_callback_password" ref="g1743d0c262347ff97745318b5b795493" args="(const axutil_env_t *env, rampart_callback_t *callback_module, const axis2_char_t *username)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_callback_password           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rampart_callback_t *&nbsp;</td>
          <td class="paramname"> <em>callback_module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>username</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the password of given user.  the environment  callback module structure  the name of the user to get the password <dl class="return" compact><dt><b>Returns:</b></dt><dd>the password for the user or NULL if failed </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8408c8f2f6de3e90d1cae3c1caf25fa7"></a><!-- doxytag: member="rampart_util.h::rampart_callback_pkcs12_password" ref="g8408c8f2f6de3e90d1cae3c1caf25fa7" args="(const axutil_env_t *env, rampart_callback_t *callback_module, const axis2_char_t *username)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_callback_pkcs12_password           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rampart_callback_t *&nbsp;</td>
          <td class="paramname"> <em>callback_module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>username</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the password for pkcs12 key store.  pointer to environment struct  pointer to rampart callback module  name of the pkcs12 owner <dl class="return" compact><dt><b>Returns:</b></dt><dd>the password for the user or NULL if username is incorrect </dd></dl>

</div>
</div><p>
<a class="anchor" name="g6936fe4fd4006583c669c7f2765b3d3a"></a><!-- doxytag: member="rampart_util.h::rampart_compare_date_time" ref="g6936fe4fd4006583c669c7f2765b3d3a" args="(const axutil_env_t *env, axis2_char_t *dt1, axis2_char_t *dt2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_compare_date_time           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>dt1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>dt2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if  &lt; . if not returns a false <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dt1</em>&nbsp;</td><td>date time 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dt2</em>&nbsp;</td><td>date time 2. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS if dt1 &lt; dt2. AXIS2_FALSE otherwise </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0a6b47a83e55c44634f53effd2367654"></a><!-- doxytag: member="rampart_util.h::rampart_generate_time" ref="g0a6b47a83e55c44634f53effd2367654" args="(const axutil_env_t *env, int ttl, axis2_bool_t with_millisecond)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_generate_time           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ttl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>with_millisecond</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generates time. User MUST free memory <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ttl</em>&nbsp;</td><td>Time to live. The time difference between created and expired in mili seconds. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>with_millisecond</em>&nbsp;</td><td>shows whether millisecond precision is needed or not </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>generated time </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0ec9419d3eefcec4d375fffee7662948"></a><!-- doxytag: member="rampart_util.h::rampart_load_auth_module" ref="g0ec9419d3eefcec4d375fffee7662948" args="(const axutil_env_t *env, axis2_char_t *auth_module_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_authn_provider_t* rampart_load_auth_module           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>auth_module_name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load authentication module User MUST free memory <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>auth_module_name</em>&nbsp;</td><td>name of the authentication module </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>created athenticaiton module </dd></dl>

</div>
</div><p>
<a class="anchor" name="gaa4f99e22951f687b0d6e4031b4d8517"></a><!-- doxytag: member="rampart_util.h::rampart_load_credentials_module" ref="gaa4f99e22951f687b0d6e4031b4d8517" args="(const axutil_env_t *env, axis2_char_t *cred_module_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_credentials_t* rampart_load_credentials_module           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>cred_module_name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load the credentials module User MUST free memory <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cred_module_name</em>&nbsp;</td><td>name of the credentails module to be loaded </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the loaded credentails module </dd></dl>

</div>
</div><p>
<a class="anchor" name="g099e7dbc797120d13921dad5b727b67c"></a><!-- doxytag: member="rampart_util.h::rampart_load_pwcb_module" ref="g099e7dbc797120d13921dad5b727b67c" args="(const axutil_env_t *env, axis2_char_t *callback_module_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_callback_t* rampart_load_pwcb_module           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>callback_module_name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load the password callback module User MUST free memory <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct  the name of the callback module </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the loaded callback module </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc42cf52130dc684f2f923f5509c748c2"></a><!-- doxytag: member="rampart_util.h::rampart_load_replay_detector" ref="gc42cf52130dc684f2f923f5509c748c2" args="(const axutil_env_t *env, axis2_char_t *replay_detector_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_replay_detector_t* rampart_load_replay_detector           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>replay_detector_name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load replay detection module User MUST free memory <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>replay_detector_name</em>&nbsp;</td><td>name of the replay detection module </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>created replay detection module </dd></dl>

</div>
</div><p>
<a class="anchor" name="g7db4254206a06a951400981f0d730ed6"></a><!-- doxytag: member="rampart_util.h::rampart_load_sct_provider" ref="g7db4254206a06a951400981f0d730ed6" args="(const axutil_env_t *env, axis2_char_t *sct_provider_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_sct_provider_t* rampart_load_sct_provider           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>sct_provider_name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load security context token provider User MUST free memory <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sct_provider_name</em>&nbsp;</td><td>name of the security context token provider </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>created security context token provider module </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:55 2009 for Rampart/C by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
