<!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: Key</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>Key<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>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga8bdf0539df9546db64b3c05e4a6f8c7"></a><!-- doxytag: member="oxs_key::OXS_KEY_USAGE_NONE" ref="ga8bdf0539df9546db64b3c05e4a6f8c7" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OXS_KEY_USAGE_NONE</b>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9f7665b8d0c62f8b6f04b08b4304e30f"></a><!-- doxytag: member="oxs_key::OXS_KEY_USAGE_SESSION" ref="g9f7665b8d0c62f8b6f04b08b4304e30f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OXS_KEY_USAGE_SESSION</b>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb185f491d0315999fe3d59dd119b707c"></a><!-- doxytag: member="oxs_key::OXS_KEY_USAGE_SIGNATURE_SESSION" ref="gb185f491d0315999fe3d59dd119b707c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OXS_KEY_USAGE_SIGNATURE_SESSION</b>&nbsp;&nbsp;&nbsp;2</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb15acbf5234e3219b4fd15a4a6e381a1"></a><!-- doxytag: member="oxs_key::OXS_KEY_USAGE_DERIVED" ref="gb15acbf5234e3219b4fd15a4a6e381a1" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OXS_KEY_USAGE_DERIVED</b>&nbsp;&nbsp;&nbsp;3</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8dd80274472fbc6a981e0b901f587209"></a><!-- doxytag: member="oxs_key::OXS_KEY_DEFAULT_SIZE" ref="g8dd80274472fbc6a981e0b901f587209" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OXS_KEY_DEFAULT_SIZE</b>&nbsp;&nbsp;&nbsp;64</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__key.html#g36b734c7ad70d648fc537710c5612720">oxs_key_get_data</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</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__key.html#g72b5b28fa8e1abbe2e1acdcab9bb2a8e">oxs_key_get_name</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</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__key.html#gd5c5faa9b86c4a56411b5f137425ccdf">oxs_key_get_nonce</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</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__key.html#gcfa520499cb4c4f8f3dc2219d18c94dc">oxs_key_get_label</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__key.html#gb98d9f017d0ebe66f359ac7ca081f3f8">oxs_key_get_size</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__key.html#g683be18a6f3df260278571268b71de2c">oxs_key_get_usage</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__key.html#g8216b16bc4e527e8bd081d2977fe458c">oxs_key_get_offset</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__key.html#gfba71fdb7b244986d302edb7e043d3fe">oxs_key_get_length</a> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</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__oxs__key.html#g608ab7734d0d74cdbe939d89d02b56df">oxs_key_set_name</a> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, axis2_char_t *name)</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__oxs__key.html#g274bbd1d75ff0e877aa4300951b35f44">oxs_key_set_usage</a> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, int usage)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb30218b776201e01e4e88407786610e0"></a><!-- doxytag: member="oxs_key::oxs_key_set_nonce" ref="gb30218b776201e01e4e88407786610e0" args="(oxs_key_t *key, const axutil_env_t *env, axis2_char_t *nonce)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_set_nonce</b> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, axis2_char_t *nonce)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5739ff4b26c790f3b600acd133303c19"></a><!-- doxytag: member="oxs_key::oxs_key_set_label" ref="g5739ff4b26c790f3b600acd133303c19" args="(oxs_key_t *key, const axutil_env_t *env, axis2_char_t *label)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_set_label</b> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, axis2_char_t *label)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g485a585c89b2c066722e6c5b616efb63"></a><!-- doxytag: member="oxs_key::oxs_key_set_offset" ref="g485a585c89b2c066722e6c5b616efb63" args="(oxs_key_t *key, const axutil_env_t *env, int offset)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_set_offset</b> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, int offset)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g96e2f35f9150261c7554d98834eb1146"></a><!-- doxytag: member="oxs_key::oxs_key_set_length" ref="g96e2f35f9150261c7554d98834eb1146" args="(oxs_key_t *key, const axutil_env_t *env, int length)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_set_length</b> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, int length)</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__oxs__key.html#gf05ffae742c85b79b7478ab52df01e1d">oxs_key_free</a> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g40b1603f301505e82bd026dfc0170445"></a><!-- doxytag: member="oxs_key::oxs_key_populate_with_buf" ref="g40b1603f301505e82bd026dfc0170445" args="(oxs_key_t *key, const axutil_env_t *env, oxs_buffer_t *buffer, axis2_char_t *name, int usage)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_populate_with_buf</b> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *buffer, axis2_char_t *name, int usage)</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__oxs__key.html#g5580f26489fd91cc79c7c9530ea88f1f">oxs_key_populate</a> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, unsigned char *data, axis2_char_t *name, int size, int usage)</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__oxs__key.html#g3033d5598a78536ee46679acd5022ef4">oxs_key_read_from_file</a> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, axis2_char_t *file_name)</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__oxs__key.html#gb1fd9305246059f8b7b0c2a988f680f3">oxs_key_for_algo</a> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, rp_algorithmsuite_t *key_algo)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g21d48307a83ef3fab7f1baa65e47bfbc"></a><!-- doxytag: member="oxs_key::oxs_key_get_buffer" ref="g21d48307a83ef3fab7f1baa65e47bfbc" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
AXIS2_EXTERN <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_get_buffer</b> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g49a59acc8494431a0da07f43c398c228"></a><!-- doxytag: member="oxs_key::oxs_key_dup" ref="g49a59acc8494431a0da07f43c398c228" args="(oxs_key_t *key, const axutil_env_t *env)" -->
AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_dup</b> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge5519d5dafa868701021be84ea01339d"></a><!-- doxytag: member="oxs_key::oxs_key_create" ref="ge5519d5dafa868701021be84ea01339d" args="(const axutil_env_t *env)" -->
AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_create</b> (const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge94cc63fc051df39ae9f065f660d6684"></a><!-- doxytag: member="oxs_key::oxs_key_set_key_sha" ref="ge94cc63fc051df39ae9f065f660d6684" args="(oxs_key_t *key, const axutil_env_t *env, axis2_char_t *key_sha)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_set_key_sha</b> (<a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env, axis2_char_t *key_sha)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4bdec54b8a3abb9a99b470bbb2c1232f"></a><!-- doxytag: member="oxs_key::oxs_key_get_key_sha" ref="g4bdec54b8a3abb9a99b470bbb2c1232f" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>oxs_key_get_key_sha</b> (const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key, const axutil_env_t *env)</td></tr>

</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g6336c79b9592fb630903079b14a99206"></a><!-- doxytag: member="oxs_key.h::oxs_key_t" ref="g6336c79b9592fb630903079b14a99206" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type name for struct oxs_key 
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gb1fd9305246059f8b7b0c2a988f680f3"></a><!-- doxytag: member="oxs_key.h::oxs_key_for_algo" ref="gb1fd9305246059f8b7b0c2a988f680f3" args="(oxs_key_t *key, const axutil_env_t *env, rp_algorithmsuite_t *key_algo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_key_for_algo           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rp_algorithmsuite_t *&nbsp;</td>
          <td class="paramname"> <em>key_algo</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>
Fill the key for the given algo. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </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="gf05ffae742c85b79b7478ab52df01e1d"></a><!-- doxytag: member="oxs_key.h::oxs_key_free" ref="gf05ffae742c85b79b7478ab52df01e1d" args="(oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_key_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Free function for key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </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="g36b734c7ad70d648fc537710c5612720"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_data" ref="g36b734c7ad70d648fc537710c5612720" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN unsigned char* oxs_key_get_data           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 data of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>data </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcfa520499cb4c4f8f3dc2219d18c94dc"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_label" ref="gcfa520499cb4c4f8f3dc2219d18c94dc" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_key_get_label           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 label of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>label of the key </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfba71fdb7b244986d302edb7e043d3fe"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_length" ref="gfba71fdb7b244986d302edb7e043d3fe" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int oxs_key_get_length           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 length of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>length of the key </dd></dl>

</div>
</div><p>
<a class="anchor" name="g72b5b28fa8e1abbe2e1acdcab9bb2a8e"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_name" ref="g72b5b28fa8e1abbe2e1acdcab9bb2a8e" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_key_get_name           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 name of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>name of the key </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd5c5faa9b86c4a56411b5f137425ccdf"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_nonce" ref="gd5c5faa9b86c4a56411b5f137425ccdf" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_key_get_nonce           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 nonce of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>nonce of the key </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8216b16bc4e527e8bd081d2977fe458c"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_offset" ref="g8216b16bc4e527e8bd081d2977fe458c" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int oxs_key_get_offset           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 offset of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>offset of the key </dd></dl>

</div>
</div><p>
<a class="anchor" name="gb98d9f017d0ebe66f359ac7ca081f3f8"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_size" ref="gb98d9f017d0ebe66f359ac7ca081f3f8" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int oxs_key_get_size           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 size of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>size of the key </dd></dl>

</div>
</div><p>
<a class="anchor" name="g683be18a6f3df260278571268b71de2c"></a><!-- doxytag: member="oxs_key.h::oxs_key_get_usage" ref="g683be18a6f3df260278571268b71de2c" args="(const oxs_key_t *key, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int oxs_key_get_usage           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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 usage of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>usage of the key </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5580f26489fd91cc79c7c9530ea88f1f"></a><!-- doxytag: member="oxs_key.h::oxs_key_populate" ref="g5580f26489fd91cc79c7c9530ea88f1f" args="(oxs_key_t *key, const axutil_env_t *env, unsigned char *data, axis2_char_t *name, int size, int usage)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_key_populate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>data</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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>usage</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>
Populate a key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <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>data</em>&nbsp;</td><td>data of the key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of the key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size of the key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>usage</em>&nbsp;</td><td>usage of the key </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="g3033d5598a78536ee46679acd5022ef4"></a><!-- doxytag: member="oxs_key.h::oxs_key_read_from_file" ref="g3033d5598a78536ee46679acd5022ef4" args="(oxs_key_t *key, const axutil_env_t *env, axis2_char_t *file_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_key_read_from_file           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>file_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>
Read a key from a file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </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="g608ab7734d0d74cdbe939d89d02b56df"></a><!-- doxytag: member="oxs_key.h::oxs_key_set_name" ref="g608ab7734d0d74cdbe939d89d02b56df" args="(oxs_key_t *key, 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_status_t oxs_key_set_name           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>
Sets the name of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <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>name of the key </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="g274bbd1d75ff0e877aa4300951b35f44"></a><!-- doxytag: member="oxs_key.h::oxs_key_set_usage" ref="g274bbd1d75ff0e877aa4300951b35f44" args="(oxs_key_t *key, const axutil_env_t *env, int usage)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_key_set_usage           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>usage</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>
Set the usage of the key. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>oxs_key ptr to key </td></tr>
    <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>usage</em>&nbsp;</td><td>usage of the key </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: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>
