<!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: Timestamp Token</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>Timestamp Token<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_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__timestamp__token.html#g0c07283e580693b3e8a60502a424b1cc">rampart_timestamp_token_build</a> (const axutil_env_t *env, axiom_node_t *sec_node, int ttl, axis2_bool_t with_millisecond)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__timestamp__token.html#g586b11642b6e1637151fdd4d5d01601d">rampart_timestamp_token_validate</a> (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axiom_node_t *ts_node, int clock_skew_buffer)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g0c07283e580693b3e8a60502a424b1cc"></a><!-- doxytag: member="rampart_timestamp_token.h::rampart_timestamp_token_build" ref="g0c07283e580693b3e8a60502a424b1cc" args="(const axutil_env_t *env, axiom_node_t *sec_node, int ttl, axis2_bool_t with_millisecond)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">axis2_status_t rampart_timestamp_token_build           </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">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>sec_node</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>
Builds timestamp token. <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>sec_node</em>&nbsp;</td><td>security node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ttl</em>&nbsp;</td><td>Time to live. The time difference btwn Created and Expired. If it is zero or less than zero, then Expired element will not be created. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>with_millisecond</em>&nbsp;</td><td>shows whether millisecond precision is needed </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </dd></dl>

</div>
</div><p>
<a class="anchor" name="g586b11642b6e1637151fdd4d5d01601d"></a><!-- doxytag: member="rampart_timestamp_token.h::rampart_timestamp_token_validate" ref="g586b11642b6e1637151fdd4d5d01601d" args="(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axiom_node_t *ts_node, int clock_skew_buffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">axis2_status_t rampart_timestamp_token_validate           </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_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>ts_node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>clock_skew_buffer</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>
Validates time stamp token. Validation is based in expiration time of the Expired element. <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>msg_ctx</em>&nbsp;</td><td>pointer to message context structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ts_node</em>&nbsp;</td><td>Timestamp node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>clock_skew_buffer</em>&nbsp;</td><td>buffer of allowable skew of time between sender and receiver </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </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>
