<!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: Cipher</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>Cipher<br>
<small>
[<a class="el" href="group__oxs.html">OMXMLSecurity</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>
<a class="el" href="group__openssl__cipher__property.html#gc6dae44cdbdf078fd7c01d13c2909624">openssl_cipher_property_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__cipher.html#gbae5541db8bbdc4bc54a0b48ec2d2635">oxs_get_cipher_property_for_url</a> (const axutil_env_t *env, axis2_char_t *url)</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__oxs__cipher.html#g4055a06bcb05ea64da52e49fa4252cac">oxs_get_cipher_name_for_url</a> (const axutil_env_t *env, axis2_char_t *url)</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__oxs__cipher.html#g7e1e5c90d767dcade787eff84234abff">oxs_get_cipher_url_for_name</a> (const axutil_env_t *env, axis2_char_t *name)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g4055a06bcb05ea64da52e49fa4252cac"></a><!-- doxytag: member="oxs_cipher.h::oxs_get_cipher_name_for_url" ref="g4055a06bcb05ea64da52e49fa4252cac" args="(const axutil_env_t *env, axis2_char_t *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_get_cipher_name_for_url           </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>url</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 cipher name for the given url <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>url</em>&nbsp;</td><td>the url as a string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>return</em>&nbsp;</td><td>the name as a string </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gbae5541db8bbdc4bc54a0b48ec2d2635"></a><!-- doxytag: member="oxs_cipher.h::oxs_get_cipher_property_for_url" ref="gbae5541db8bbdc4bc54a0b48ec2d2635" args="(const axutil_env_t *env, axis2_char_t *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN <a class="el" href="group__openssl__cipher__property.html#gc6dae44cdbdf078fd7c01d13c2909624">openssl_cipher_property_t</a>* oxs_get_cipher_property_for_url           </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>url</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 cipher property for the given url <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>url</em>&nbsp;</td><td>the url as a string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>return</em>&nbsp;</td><td>the property </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g7e1e5c90d767dcade787eff84234abff"></a><!-- doxytag: member="oxs_cipher.h::oxs_get_cipher_url_for_name" ref="g7e1e5c90d767dcade787eff84234abff" args="(const axutil_env_t *env, axis2_char_t *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_get_cipher_url_for_name           </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>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>
Get the cipher url for the given name <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>name</em>&nbsp;</td><td>the name as a string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>return</em>&nbsp;</td><td>the url as a string </td></tr>
  </table>
</dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:54 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>
